From 55e711ed818d7553d62eba4b3a2fad3e2723f697 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 18 Aug 2012 11:49:00 +0000 Subject: tsan: proper handling of linker initialized mutexes git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162169 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/tsan/rtl/tsan_sync.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/tsan/rtl/tsan_sync.cc') diff --git a/lib/tsan/rtl/tsan_sync.cc b/lib/tsan/rtl/tsan_sync.cc index 1f798b297..86265bb81 100644 --- a/lib/tsan/rtl/tsan_sync.cc +++ b/lib/tsan/rtl/tsan_sync.cc @@ -123,6 +123,8 @@ SyncVar* SyncTab::GetAndRemove(ThreadState *thr, uptr pc, uptr addr) { res = *prev; while (res) { if (res->addr == addr) { + if (res->is_linker_init) + return 0; *prev = res->next; break; } @@ -147,6 +149,8 @@ SyncVar* SyncTab::GetAndRemove(ThreadState *thr, uptr pc, uptr addr) { res = *prev; while (res) { if (res->addr == addr) { + if (res->is_linker_init) + return 0; *prev = res->next; break; } -- cgit v1.2.3