summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-04-11 15:36:54 +0000
committerDmitry Vyukov <dvyukov@google.com>2014-04-11 15:36:54 +0000
commitfa1d56c31f09ac1bb1d69195c3f35dd06cada2d5 (patch)
treefd5c370e2198f8277a6053ea6dfa06670efccc6a
parent4b43e91abc38e76a3ef53fa0bd8045583b27a439 (diff)
downloadbcm5719-llvm-fa1d56c31f09ac1bb1d69195c3f35dd06cada2d5.tar.gz
bcm5719-llvm-fa1d56c31f09ac1bb1d69195c3f35dd06cada2d5.zip
tsan: ignore interceptors from symbolizer
ocassionally we see races coming from symbolizer interceptors (e.g. memcmp) reproducible only only on large complex programs llvm-svn: 206034
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_symbolize.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc b/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc
index de8cf4ed48e..943aeb0100d 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc
@@ -26,12 +26,14 @@ void EnterSymbolizer() {
ThreadState *thr = cur_thread();
CHECK(!thr->in_symbolizer);
thr->in_symbolizer = true;
+ thr->ignore_interceptors++;
}
void ExitSymbolizer() {
ThreadState *thr = cur_thread();
CHECK(thr->in_symbolizer);
thr->in_symbolizer = false;
+ thr->ignore_interceptors--;
}
ReportStack *NewReportStackEntry(uptr addr) {
OpenPOWER on IntegriCloud