diff options
author | Ian Lance Taylor <iant@golang.org> | 2016-01-13 10:45:54 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2016-01-13 19:29:22 +0000 |
commit | 7ec55088108d97c66040434671921e6c6b590ff0 (patch) | |
tree | 5b7aa9ea2d9f686cb60a6f42a3458c5ca246d70f | |
parent | 00c0a3a677d8720123b646bb8efa3bfa1e36a8a1 (diff) | |
download | go-7ec55088108d97c66040434671921e6c6b590ff0.tar.gz go-7ec55088108d97c66040434671921e6c6b590ff0.zip |
cmd/go: fix gccSupportsNoPie for old GCC's that don't exit 0
GCC 4.8 exits 1 on an unrecognized option, but GCC 4.4 and 4.5 exit 0.
I didn't check other versions, or try to figure out just when this
changed.
Fixes #13937.
Change-Id: If193e9053fbb535999c9bde99f430f465a8c7c57
Reviewed-on: https://go-review.googlesource.com/18597
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
-rw-r--r-- | src/cmd/go/build.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go index 565ccec591..ebeb11cf63 100644 --- a/src/cmd/go/build.go +++ b/src/cmd/go/build.go @@ -2941,8 +2941,8 @@ func (b *builder) gccSupportsNoPie() bool { cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) cmd.Dir = b.work cmd.Env = envForDir(cmd.Dir, os.Environ()) - err := cmd.Run() - return err == nil + out, err := cmd.CombinedOutput() + return err == nil && !bytes.Contains(out, []byte("unrecognized")) } // gccArchArgs returns arguments to pass to gcc based on the architecture. |