aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-02-23 17:16:26 +0000
committerDmitry Vyukov <dvyukov@google.com>2016-02-23 17:16:26 +0000
commitb2be09802638802deebace5237f1d804977517d0 (patch)
treeeac314a5640394619d7d07c90d490c7051db0342 /llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
parentcc43f581b4d23af28cab702e51e50a576ad7f4c1 (diff)
downloadllvm-b2be09802638802deebace5237f1d804977517d0.zip
llvm-b2be09802638802deebace5237f1d804977517d0.tar.gz
llvm-b2be09802638802deebace5237f1d804977517d0.tar.bz2
tsan: fix signal handling in ignored libraries
The first issue is that we longjmp from ScopedInterceptor scope when called from an ignored lib. This leaves thr->in_ignored_lib set. This, in turn, disables handling of sigaction. This, in turn, corrupts tsan state since signals delivered asynchronously. Another issue is that we can ignore synchronization in asignal handler, if the signal is delivered into an IgnoreSync region. Since signals are generally asynchronous, they should ignore memory access/synchronization/interceptor ignores. This could lead to false positives in signal handlers. llvm-svn: 261658
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp')
0 files changed, 0 insertions, 0 deletions