aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorArchana R <aravind5@in.ibm.com>2022-09-29 09:53:18 -0500
committerLynn Boger <laboger@linux.vnet.ibm.com>2022-10-04 17:19:12 +0000
commitfeed072b6ed002a0085f3c6152c039b84134d38e (patch)
tree8b9d62f639c26bd4f6de486730d0efcb51ebd2cf /src/cmd
parentfa463cc96d797c218be4e218723f83be47e814c8 (diff)
downloadgo-feed072b6ed002a0085f3c6152c039b84134d38e.tar.xz
cmd/go: update gcc version check for asan support on ppc64le
Update the minimum version required for asan to be gcc9. This will ensure that go build -asan is supported only on systems with the required version of gcc. Update the asan error message to include the name of the compiler (the error message is updated to include the name of the compiler instead of C compiler for other platforms as well). Related to CL 425355 Change-Id: Ib864d43b2b3028f39ffcf792890a678361f507f6 Reviewed-on: https://go-review.googlesource.com/c/go/+/436740 Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Archana Ravindar <aravind5@in.ibm.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/go/internal/work/init.go7
-rw-r--r--src/cmd/go/testdata/script/install_msan_and_race_and_asan_require_cgo.txt4
2 files changed, 7 insertions, 4 deletions
diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go
index d5f7c9c4b3..d30b9683e2 100644
--- a/src/cmd/go/internal/work/init.go
+++ b/src/cmd/go/internal/work/init.go
@@ -423,12 +423,15 @@ func compilerRequiredAsanVersion() error {
switch compiler.name {
case "gcc":
+ if runtime.GOARCH == "ppc64le" && compiler.major < 9 {
+ return fmt.Errorf("-asan is not supported with %s compiler %d.%d\n", compiler.name, compiler.major, compiler.minor)
+ }
if compiler.major < 7 {
- return fmt.Errorf("-asan is not supported with C compiler %d.%d\n", compiler.major, compiler.minor)
+ return fmt.Errorf("-asan is not supported with %s compiler %d.%d\n", compiler.name, compiler.major, compiler.minor)
}
case "clang":
if compiler.major < 9 {
- return fmt.Errorf("-asan is not supported with C compiler %d.%d\n", compiler.major, compiler.minor)
+ return fmt.Errorf("-asan is not supported with %s compiler %d.%d\n", compiler.name, compiler.major, compiler.minor)
}
default:
return fmt.Errorf("-asan: C compiler is not gcc or clang")
diff --git a/src/cmd/go/testdata/script/install_msan_and_race_and_asan_require_cgo.txt b/src/cmd/go/testdata/script/install_msan_and_race_and_asan_require_cgo.txt
index d496eaa9cd..0c68e2cf1b 100644
--- a/src/cmd/go/testdata/script/install_msan_and_race_and_asan_require_cgo.txt
+++ b/src/cmd/go/testdata/script/install_msan_and_race_and_asan_require_cgo.txt
@@ -11,10 +11,10 @@ env CGO_ENABLED=0
[msan] ! stderr '-race'
[asan] ! go install -asan triv.go
-[asan] stderr '(-asan: the version of $(go env CC) could not be parsed)|(-asan: C compiler is not gcc or clang)|(-asan is not supported with C compiler (\d+)\.(\d+))|(-asan requires cgo)'
+[asan] stderr '(-asan: the version of $(go env CC) could not be parsed)|(-asan: C compiler is not gcc or clang)|(-asan is not supported with [A-Za-z]+ compiler (\d+)\.(\d+))|(-asan requires cgo)'
[asan] ! stderr '-msan'
-- triv.go --
package main
-func main() {} \ No newline at end of file
+func main() {}