mirror of https://github.com/golang/go.git
This change fixes the last known false negative of the race detector -- detection of races between mutating atomic operations and non-atomic operations. Race runtime already has functions for precise modelling of various atomic operations, so this change just forwards all atomic ops to race runtime instead of poor man modeling in sync/atomic package. Performance is also improved -- full sync/atomic tests run in 60s instead of 85s now. LGTM=khr R=golang-codereviews, khr CC=golang-codereviews, rsc https://golang.org/cl/111310044 |
||
|---|---|---|
| .. | ||
| testdata | ||
| README | ||
| doc.go | ||
| output_test.go | ||
| race.go | ||
| race_darwin_amd64.syso | ||
| race_freebsd_amd64.syso | ||
| race_linux_amd64.syso | ||
| race_test.go | ||
| race_windows_amd64.syso | ||
README
runtime/race package contains the data race detector runtime library. It is based on ThreadSanitizer race detector, that is currently a part of the LLVM project. To update the .syso files you need to: $ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk $ cd compiler-rt/lib/tsan/go $ ./buildgo.sh Tested with gcc 4.6.1 and 4.7.0. On Windows it's built with 64-bit MinGW. Current runtime is built on rev 215000.