summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2016-07-05 13:39:54 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2016-07-05 13:39:54 +0000
commit09d3e53a93874c9f5f26db2680196904371df6b6 (patch)
tree2e6ab107b65aa2ff0a9b816c473d89129a5e998f /llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
parent976d938c1e49bde221df09314e49025e3c65d8db (diff)
downloadbcm5719-llvm-09d3e53a93874c9f5f26db2680196904371df6b6.tar.gz
bcm5719-llvm-09d3e53a93874c9f5f26db2680196904371df6b6.zip
[tsan] dispatch_once interceptor will cause a crash/deadlock when the original dispatch_once is used
Because we use SCOPED_TSAN_INTERCEPTOR in the dispatch_once interceptor, the original dispatch_once can also be sometimes called (when ignores are enabled or when thr->is_inited is false). However the original dispatch_once function doesn’t expect to find “2” in the storage and it will spin forever (but we use “2” to indicate that the initialization is already done, so no waiting is necessary). This patch makes sure we never call the original dispatch_once. Differential Revision: http://reviews.llvm.org/D21976 llvm-svn: 274548
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud