diff options
author | Kamil Rytarowski <n54@gmx.com> | 2019-09-21 07:30:42 +0000 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2019-09-21 07:30:42 +0000 |
commit | 96b852a95bebc7c2d9da09975a4764c365167621 (patch) | |
tree | ef6cf465bc7fac9830d1ba6a74ab43472b7a0681 /lib/sanitizer_common/sanitizer_common_interceptors.inc | |
parent | dc2e8074dc573a070e71da4be3d97c5f6b765dba (diff) | |
download | compiler-rt-96b852a95bebc7c2d9da09975a4764c365167621.tar.gz |
Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in LSan/NetBSD
Summary:
The atexit(3) and __cxa_atexit() calls allocate internally memory and free on exit,
after executing all callback. This causes false positives as DoLeakCheck() is called
from the atexit handler. In the LSan/ASan tests there are strict checks triggering
false positives here.
Intercept all atexit(3) and __cxa_atexit() calls and disable LSan when calling the
real functions.
Stop tracing allocations in pthread_atfork(3) funtions, as there are performed
internal allocations that are not freed for the time of running StopTheWorld()
code. This avoids false-positives.
The same changes have to be replicated in the ASan and LSan runtime.
Non-NetBSD OSs are not tested and this code is restricted to NetBSD only.
Reviewers: dvyukov, joerg, mgorny, vitalybuka, eugenis
Reviewed By: vitalybuka
Subscribers: jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67331
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@372459 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_common_interceptors.inc')
0 files changed, 0 insertions, 0 deletions