1
0
mirror of https://github.com/golang/go synced 2024-11-23 14:00:03 -07:00
go/misc
Ian Lance Taylor 79ba1e44c7 cmd/cgo: mark stub functions as no_sanitize_thread
When the generated stub functions write back the results to the stack,
they can in some cases be writing to the same memory on the g0 stack.
There is no race here (assuming there is no race in the Go code), but
the thread sanitizer does not know that.  Turn off the thread sanitizer
for the stub functions to prevent false positive warnings.

Current clang suggests the no_sanitize("thread") attribute, but that
does not work with clang 3.6 or GCC.  clang 3.6, GCC, and current clang
all support the no_sanitize_thread attribute, so use that
unconditionally.

The test case and first version of the patch are from Dmitriy Vyukov.

Change-Id: I80ce92824c6c8cf88ea0fe44f21cf50cf62474c9
Reviewed-on: https://go-review.googlesource.com/23252
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-05-19 17:29:13 +00:00
..
android all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
arm all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
cgo cmd/cgo: mark stub functions as no_sanitize_thread 2016-05-19 17:29:13 +00:00
chrome/gophertool all: link to https instead of http 2015-07-11 14:36:33 +00:00
git misc/git: Fix non-literal period in pre-commit grep 2016-02-26 19:06:38 +00:00
ios misc/ios: fix exec wrapper locking 2016-03-25 16:47:01 +00:00
linkcheck misc/linkcheck: better redirect handling, use meaningful exit code 2013-10-25 17:31:02 +03:00
nacl cmd/vendor: move cmd/internal/unvendor packages to cmd/vendor 2016-05-14 17:21:52 +00:00
sortac misc/sortac: add tool to sort the AUTHORS and CONTRIBUTORS files 2015-11-12 17:07:09 +00:00
swig all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
trace misc/trace: update trace viewer html 2016-04-14 14:48:04 +00:00
benchcmp all: use golang.org/x/... import paths 2014-11-10 09:15:57 +11:00
editors all: don't refer to code.google.com/p/go{,-wiki}/ 2015-02-06 14:41:47 +00:00