From: Archana R Date: Thu, 29 Sep 2022 14:53:18 +0000 (-0500) Subject: cmd/go: update gcc version check for asan support on ppc64le X-Git-Tag: go1.20rc1~750 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=feed072b6ed002a0085f3c6152c039b84134d38e;p=gostls13.git 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 TryBot-Result: Gopher Robot Run-TryBot: Archana Ravindar Reviewed-by: Cherry Mui --- 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() {}