go/misc/cgo
fanzha02 91e782106e runtime: fix the issue that the -asan option cannot print where the error occurred
The current -asan option does not print where the error occurred. The
reason is that the current implementation calls incorrect asan runtime
functions, which do not pass sp and pc where asan runtime functions are
called, and report the stack trace from the native code. But asan runtime
functions are called from cgo on a separated stack, so it cannot dump the
Go stack trace correctly.

The correct asan runtime function we should call is __asan_report_error,
which will pass sp and pc, and report where the error occurred correctly.

This patch fixes this issue.

Add the test cases.

Fixes #50362

Change-Id: I12ee1d46c7ae069ddef3d23f2fe86e112db60045
Reviewed-on: https://go-review.googlesource.com/c/go/+/374395
Trust: Fannie Zhang <Fannie.Zhang@arm.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-12-29 04:10:07 +00:00
..
errors all: use bytes.Cut, strings.Cut 2021-10-06 15:53:04 +00:00
fortran
gmp all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00
life all: update references to symbols moved from io/ioutil to io 2021-04-05 17:51:15 +00:00
nocgo
stdio all: update references to symbols moved from io/ioutil to io 2021-04-05 17:51:15 +00:00
test runtime: fix comments on the behavior of SetGCPercent 2021-12-07 17:46:04 +00:00
testasan
testcarchive cmd/link: use SHT_INIT_ARRAY for .init_array section 2021-12-21 18:34:03 +00:00
testcshared misc/cgo/testcshared: skip TestGo2C2Go on Windows 2021-11-22 18:57:50 +00:00
testgodefs cmd/cgo: for godefs, don't let field prefix removal cause duplicates 2021-09-16 23:56:28 +00:00
testplugin cmd/link: force eager binding when using plugins on darwin 2021-12-17 16:05:31 +00:00
testsanitizers runtime: fix the issue that the -asan option cannot print where the error occurred 2021-12-29 04:10:07 +00:00
testshared misc/cgo/testshared: increase size limit in size check 2021-12-15 20:19:05 +00:00
testsigfwd
testso all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00
testsovar all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00
testtls all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00