1. Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in (details)
Commit 8827047551570b7ed7088765c3de2a8cce6823b8 by n54
Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in
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
Reviewers: dvyukov, joerg, mgorny, vitalybuka, eugenis
Reviewed By: vitalybuka
Subscribers: jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision:
llvm-svn: 372459
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp