Skip to content

cmd/go: TestScript/cgo_path, cgo_path_space failing on clang builders #43897

@jayconrod

Description

@jayconrod

clang builders are failing since CL 285873 on TestScript/cgo_path and cgo_path_space. Example test log:

go test proxy running at GOPROXY=http://127.0.0.1:38531/mod
--- FAIL: TestScript (0.01s)
    --- FAIL: TestScript/cgo_path_space (0.01s)
        script_test.go:213: 
            # Check that if the PATH directory containing the C compiler has a space,
            # we can still use that compiler with cgo.
            # Verifies #43808. (0.000s)
            # Check if default CC was set by make.bash.
            # If it was, this test is not valid. (0.011s)
            > go env CC
            [stdout]
            /usr/bin/clang
            > stdout '^(clang|gcc)$'
            FAIL: testdata/script/cgo_path_space.txt:10: no match for `(?m)^(clang|gcc)$` found in stdout
            
    --- FAIL: TestScript/cgo_path (1.09s)
        script_test.go:213: 
            > [!cgo] skip
            > env GOCACHE=$WORK/gocache  # Looking for compile flags, so need a clean cache.
            > [!windows] env PATH=.:$PATH
            > [!windows] chmod 0755 p/gcc p/clang
            > [!windows] exists -exec p/gcc p/clang
            > [windows] exists -exec p/gcc.bat p/clang.bat
            > ! exists p/bug.txt
            > ! go build -x
            [stderr]
            WORK=$WORK/tmp/go-build1052024746
            mkdir -p $WORK/b002/
            cd $WORK/gopath/src/p
            TERM='dumb' CGO_LDFLAGS='"-g" "-O2"' /workdir/go/pkg/tool/linux_amd64/cgo -objdir $WORK/b002/ -importpath m/p -- -I $WORK/b002/ -g -O2 ./p.go
            cd $WORK
            /usr/bin/clang -fno-caret-diagnostics -c -x c - -o /dev/null || true
            /usr/bin/clang -Qunused-arguments -c -x c - -o /dev/null || true
            /usr/bin/clang -fdebug-prefix-map=a=b -c -x c - -o /dev/null || true
            /usr/bin/clang -gno-record-gcc-switches -c -x c - -o /dev/null || true
            cd $WORK/b002
            TERM='dumb' /usr/bin/clang -I $WORK/gopath/src/p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_x001.o -c _cgo_export.c
            TERM='dumb' /usr/bin/clang -I $WORK/gopath/src/p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_x002.o -c p.cgo2.c
            TERM='dumb' /usr/bin/clang -I $WORK/gopath/src/p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_cgo_main.o -c _cgo_main.c
            cd $WORK/gopath/src
            TERM='dumb' /usr/bin/clang -I ./p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -o $WORK/b002/_cgo_.o $WORK/b002/_cgo_main.o $WORK/b002/_x001.o $WORK/b002/_x002.o -g -O2
            TERM='dumb' /workdir/go/pkg/tool/linux_amd64/cgo -dynpackage p -dynimport $WORK/b002/_cgo_.o -dynout $WORK/b002/_cgo_import.go
            cat >$WORK/b002/importcfg << 'EOF' # internal
            # import config
            packagefile runtime/cgo=/workdir/go/pkg/linux_amd64/runtime/cgo.a
            packagefile syscall=/workdir/go/pkg/linux_amd64/syscall.a
            EOF
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b002/_pkg_.a -trimpath "$WORK/b002=>" -p m/p -buildid gqH4EgkQ64Qi1j6izAEl/gqH4EgkQ64Qi1j6izAEl -D "" -importcfg $WORK/b002/importcfg -pack -c=4 $WORK/b002/_cgo_gotypes.go $WORK/b002/p.cgo1.go $WORK/b002/_cgo_import.go
            cd $WORK/gopath/src/p
            /workdir/go/pkg/tool/linux_amd64/pack r $WORK/b002/_pkg_.a $WORK/b002/_x001.o $WORK/b002/_x002.o # internal
            /workdir/go/pkg/tool/linux_amd64/buildid -w $WORK/b002/_pkg_.a # internal
            cp $WORK/b002/_pkg_.a $WORK/gocache/bd/bd9282f5f13d2db133230f927d4ca5423416f840fc87faec3579a0f945c5e4a1-d # internal
            mkdir -p $WORK/b001/
            cat >$WORK/b001/importcfg << 'EOF' # internal
            # import config
            packagefile m/p=$WORK/b002/_pkg_.a
            EOF
            cd $WORK/gopath/src
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b001/_pkg_.a -trimpath "$WORK/b001=>" -p m -complete -buildid U8zaZzIpXfEHtL8ygjeR/U8zaZzIpXfEHtL8ygjeR -D "" -importcfg $WORK/b001/importcfg -pack -c=4 ./m.go
            /workdir/go/pkg/tool/linux_amd64/buildid -w $WORK/b001/_pkg_.a # internal
            cp $WORK/b001/_pkg_.a $WORK/gocache/08/0867801f8c0bcd23fdc7f9c459dc9521ece335a3c49ec49edb652ea11d98bcad-d # internal
            FAIL: testdata/script/cgo_path.txt:9: unexpected command success
            
FAIL

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.TestingAn issue that has been verified to require only test changes, not just a test failure.release-blocker

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions