From f55bb135d28bc95131a8c987d50350e5c6d7f633 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 6 Mar 2025 12:54:27 -0800 Subject: [PATCH] cmd/cgo/internal/testsanitizers: for "leak", use -fsanitize=address We currently test the leak detector by running "go build -asan", which will pass -fsanitize=address to the C compiler. So use that when testing whether the option works. Fixes #72128 Change-Id: I4efc0b689bfda04c80dbac30a5c757215f297d2f Reviewed-on: https://go-review.googlesource.com/c/go/+/655535 Reviewed-by: Ian Lance Taylor Reviewed-by: Cherry Mui Auto-Submit: Ian Lance Taylor LUCI-TryBot-Result: Go LUCI --- src/cmd/cgo/internal/testsanitizers/cc_test.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cmd/cgo/internal/testsanitizers/cc_test.go b/src/cmd/cgo/internal/testsanitizers/cc_test.go index 193d24d52c..fa0105b11a 100644 --- a/src/cmd/cgo/internal/testsanitizers/cc_test.go +++ b/src/cmd/cgo/internal/testsanitizers/cc_test.go @@ -361,10 +361,18 @@ func configure(sanitizer string) *config { return c } + sanitizerOpt := sanitizer + // For the leak detector, we use "go build -asan", + // which implies the address sanitizer. + // We may want to adjust this someday. + if sanitizer == "leak" { + sanitizerOpt = "address" + } + c := &config{ sanitizer: sanitizer, - cFlags: []string{"-fsanitize=" + sanitizer}, - ldFlags: []string{"-fsanitize=" + sanitizer}, + cFlags: []string{"-fsanitize=" + sanitizerOpt}, + ldFlags: []string{"-fsanitize=" + sanitizerOpt}, } if testing.Verbose() { -- 2.51.0