libgo patch committed: Commit final version of pkg-config support
Ian Lance Taylor
iant@golang.org
Sat Apr 23 00:41:00 GMT 2016
This patch updates gccgo to the final version of the gccgo pkg-config
support committed to the gc repository. The patch to gc is
https://golang.org/cl/18790, by Michael Hudson-Doyle. This fixes
https://golang.org/issue/11739. Bootstrapped and ran Go testsuite on
x86_64-pc-linux-gnu. Committed to mainline.
I will commit this to the GCC 6 branch when that is open for bug fixes.
Ian
-------------- next part --------------
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE (revision 234958)
+++ gcc/go/gofrontend/MERGE (working copy)
@@ -1,4 +1,4 @@
-ff29ea8e4e69eb94958aef4388da09a61b2b52b6
+97b358f525584e45fa2e3d83fc7d3a091900927a
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
Index: libgo/go/cmd/go/build.go
===================================================================
--- libgo/go/cmd/go/build.go (revision 234304)
+++ libgo/go/cmd/go/build.go (working copy)
@@ -2647,9 +2647,18 @@ func (tools gccgoToolchain) ld(b *builde
if err != nil {
return err
}
+ const ldflagsPrefix = "_CGO_LDFLAGS="
for _, line := range strings.Split(string(flags), "\n") {
- if strings.HasPrefix(line, "_CGO_LDFLAGS=") {
- cgoldflags = append(cgoldflags, strings.Fields(line[13:])...)
+ if strings.HasPrefix(line, ldflagsPrefix) {
+ newFlags := strings.Fields(line[len(ldflagsPrefix):])
+ for _, flag := range newFlags {
+ // Every _cgo_flags file has -g and -O2 in _CGO_LDFLAGS
+ // but they don't mean anything to the linker so filter
+ // them out.
+ if flag != "-g" && !strings.HasPrefix(flag, "-O") {
+ cgoldflags = append(cgoldflags, flag)
+ }
+ }
}
}
return nil
More information about the Gcc-patches
mailing list