aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2018-01-10 06:28:59 -0800
committerIan Lance Taylor <iant@golang.org>2018-01-10 20:46:52 +0000
commitf7d8098a7b6148811824bf50ec32c8f8d0a35d12 (patch)
tree2080c8739960cd58acf944be5791452220b4c616
parent37d56279c87818b496e5717bddd1f7c43bfa743d (diff)
downloadgo-f7d8098a7b6148811824bf50ec32c8f8d0a35d12.tar.gz
go-f7d8098a7b6148811824bf50ec32c8f8d0a35d12.zip
cmd/go: check for another GCC error message
GCC always recognizes the -fsplit-stack option, but then tests whether it is supported by the selected target. If not, it reports cc1: error: ‘-fsplit-stack’ is not supported by this compiler configuration Check for that error message when deciding whether a compiler option works. Change-Id: I2eef8d550bbecba3a087869df2c7351280c77290 Reviewed-on: https://go-review.googlesource.com/87136 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-rw-r--r--src/cmd/go/internal/work/exec.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
index 195437d220..a91ee7702c 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
@@ -1849,9 +1849,11 @@ func (b *Builder) gccSupportsFlag(compiler []string, flag string) bool {
// GCC says "unrecognized command line option".
// clang says "unknown argument".
// Older versions of GCC say "unrecognised debug output level".
+ // For -fsplit-stack GCC says "'-fsplit-stack' is not supported".
supported := !bytes.Contains(out, []byte("unrecognized")) &&
!bytes.Contains(out, []byte("unknown")) &&
- !bytes.Contains(out, []byte("unrecognised"))
+ !bytes.Contains(out, []byte("unrecognised")) &&
+ !bytes.Contains(out, []byte("is not supported"))
b.flagCache[key] = supported
return supported
}