cmd/cgo/internal/testsanitizers: bound ASAN C support probe

The C sanitizer support check builds and runs a tiny C program before
the Go ASAN tests run. Some libasan versions run a slow LeakSanitizer
check at process exit even for this no-op program, which can cause
TestASAN to time out before it starts testing Go binaries.

For ASAN support probes, set leak_check_at_exit=0. This avoids the
implicit exit-time leak scan for the probe without disabling explicit
LSAN tests. Also run the compile and execute probes with a fixed local
timeout so broken C sanitizer configurations are skipped instead of
hitting the package-level test timeout.

Fixes #72996

Change-Id: I53a0269324f8f0eb214df81aeeecc72dfc432fe1
Reviewed-on: https://go-review.googlesource.com/c/go/+/774660
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
3 files changed
tree: 21ef0168de72277d24090721d27a14ae11add1e1
  1. .github/
  2. api/
  3. doc/
  4. lib/
  5. misc/
  6. src/
  7. test/
  8. .gitattributes
  9. .gitignore
  10. codereview.cfg
  11. CONTRIBUTING.md
  12. go.env
  13. LICENSE
  14. PATENTS
  15. README.md
  16. SECURITY.md
README.md

The Go Programming Language

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

Gopher image Gopher image by Renee French, licensed under Creative Commons 4.0 Attribution license.

Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Download and Install

Binary Distributions

Official binary distributions are available at https://go.dev/dl/.

After downloading a binary release, visit https://go.dev/doc/install for installation instructions.

Install From Source

If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.

Contributing

Go is the work of thousands of contributors. We appreciate your help!

To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.

Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.