diff options
| author | Archana R <aravind5@in.ibm.com> | 2022-09-29 09:53:18 -0500 |
|---|---|---|
| committer | Lynn Boger <laboger@linux.vnet.ibm.com> | 2022-10-04 17:19:12 +0000 |
| commit | feed072b6ed002a0085f3c6152c039b84134d38e (patch) | |
| tree | 8b9d62f639c26bd4f6de486730d0efcb51ebd2cf /src/cmd | |
| parent | fa463cc96d797c218be4e218723f83be47e814c8 (diff) | |
| download | go-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.go | 7 | ||||
| -rw-r--r-- | src/cmd/go/testdata/script/install_msan_and_race_and_asan_require_cgo.txt | 4 |
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() {} |
