]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/cgo: don't pass CGO_CFLAGS -g options to debug info generation
authorIan Lance Taylor <iant@golang.org>
Tue, 4 Dec 2018 00:02:10 +0000 (16:02 -0800)
committerIan Lance Taylor <iant@golang.org>
Mon, 10 Dec 2018 21:50:12 +0000 (21:50 +0000)
Fixes #26144

Change-Id: Ie69dab1bd819eaf158be11769903b2636bbcf516
Reviewed-on: https://go-review.googlesource.com/c/152165
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Nikhil Benesch <nikhil.benesch@gmail.com>
src/cmd/cgo/gcc.go
src/cmd/dist/test.go

index e7766e740fd0b90150c4493e75aa4837e951f40b..8cbe6d329c5b5e1c9172467bb3c6e4e7a209680e 100644 (file)
@@ -91,7 +91,13 @@ func (p *Package) addToFlag(flag string, args []string) {
        p.CgoFlags[flag] = append(p.CgoFlags[flag], args...)
        if flag == "CFLAGS" {
                // We'll also need these when preprocessing for dwarf information.
-               p.GccOptions = append(p.GccOptions, args...)
+               // However, discard any -g options: we need to be able
+               // to parse the debug info, so stick to what we expect.
+               for _, arg := range args {
+                       if !strings.HasPrefix(arg, "-g") {
+                               p.GccOptions = append(p.GccOptions, arg)
+                       }
+               }
        }
 }
 
index 2d7f7bd2f9abf319c971c00104890a849866de20..c88a7c05dfbe34ef962d4efeb25327320c6b800b 100644 (file)
@@ -1038,7 +1038,10 @@ func (t *tester) cgoTest(dt *distTest) error {
                "linux-386", "linux-amd64", "linux-arm", "linux-ppc64le", "linux-s390x",
                "netbsd-386", "netbsd-amd64":
 
-               t.addCmd(dt, "misc/cgo/test", t.goTest(), "-ldflags", "-linkmode=external")
+               cmd := t.addCmd(dt, "misc/cgo/test", t.goTest(), "-ldflags", "-linkmode=external")
+               // A -g argument in CGO_CFLAGS should not affect how the test runs.
+               cmd.Env = append(os.Environ(), "CGO_CFLAGS=-g0")
+
                t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-ldflags", "-linkmode=auto")
                t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-ldflags", "-linkmode=external")