From 97b358f525584e45fa2e3d83fc7d3a091900927a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 22 Apr 2016 17:36:01 -0700 Subject: [PATCH] cmd/go: bring in final version of gccgo pkg-config support This updates gccgo to the final version of https://golang.org/cl/18790, by Michael Hudson-Doyle. Update golang/go#11739. Change-Id: I66b42d6dbe6ed2ea8b0e7cbdd1ff211704811614 Reviewed-on: https://go-review.googlesource.com/22400 Reviewed-by: Ian Lance Taylor --- libgo/go/cmd/go/build.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libgo/go/cmd/go/build.go b/libgo/go/cmd/go/build.go index 4382cf72e..d7a4a4309 100644 --- a/libgo/go/cmd/go/build.go +++ b/libgo/go/cmd/go/build.go @@ -2647,9 +2647,18 @@ func (tools gccgoToolchain) ld(b *builder, root *action, out string, allactions 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