summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
AgeCommit message (Collapse)Author
2013-10-15tsan: implement internal syscall-based versions of sigaction/sigprocmaskDmitry Vyukov
use them in stoptheworld fixes applications that intercept sigaction/sigprocmask git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192686 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-09[sanitizer] Fix the parent liveness check in StopTheWorld.Sergey Matveev
Comparing the parent PID with 1 isn't sufficient to ensure the parent is alive, because of prctl(PR_SET_CHILD_SUBREAPER, ...). Compare with the real parent's recorded PID instead. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192295 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-08[sanitizer] Fix deadlock in StopTheWorld.Sergey Matveev
The tracer thread in StopTheWorld could wait on a mutex forever if the parent process died before unlocking it. Use PR_SET_PDEATHSIG so that the parent would kill the child in this scenario. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192210 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-02[sanitizer_common] Add internal_clone().Sergey Matveev
Add a wrapper for the clone syscall for use in StopTheWorld. We implement it only for x86_64, so stop building StopTheWorld for other platforms (no one uses it outside x86_64 anyway). See https://code.google.com/p/address-sanitizer/issues/detail?id=214 for why we can't use the glibc clone() wrapper. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189753 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-28[sanitizer] fix code styleAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189474 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-26[sanitizer] Handle Die() in StopTheWorld.Sergey Matveev
Handle calls to Die() from the tracer thread. Fixes a bug where a CHECK could fail in the tracer thread, resulting in a call to AsanDie. The tracer thread then exited and the parent process continued execution despite its address space being in an unusable state. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@189216 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-11[sanitizer] Remove optional arguments from clone() invocation.Sergey Matveev
Unbreaks compilation on older systems. Patch by Andy Jost. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@186103 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19[lsan] Prevent inlining of WipeStack().Sergey Matveev
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184312 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-19[lsan] Move symbolization and reporting out of StopTheWorld callback.Sergey Matveev
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184303 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-03[asan] ASan Linux MIPS32 support (compiler-rt part), patch by Jyun-Yan YKostya Serebryany
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183105 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-21[nolibc] Move stoptheworld to RTSanitizerCommonLibc.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182369 91177308-0d34-0410-b5e6-96231b3b80d8