llvm-project/compiler-rt/lib/asan
Evgeniy Stepanov fe18102649 [sancov] Handle fork.
Reset coverage data on fork().
For memory-mapped mode (coverage_direct=1) this helps avoid loss of data
(before this change two processes would write to the same file simultaneously).
For normal mode, this reduces coverage dump size, because PCs from the parent
process are no longer inherited by the child.

llvm-svn: 210180
2014-06-04 12:13:54 +00:00
..
scripts [asan] Fix x86 asm instrumentation to preserve flags. 2014-05-21 08:21:14 +00:00
tests [Sanitizers Win] Move duplicate Windows-specific compiler flags to a common CMake variable 2014-05-30 12:42:57 +00:00
CMakeLists.txt [ASan Win] Simplify and improve the way we forward ASan interface calls from DLLs 2014-05-20 14:26:19 +00:00
Makefile.mk [ASan] Split static ASan runtime in two parts: asan and asan_cxx. 2014-05-12 18:39:22 +00:00
README.txt Moved the builtins documentation to lib/builtins/ 2014-05-28 23:09:45 +00:00
asan.syms.extra [ASan] ASan can be combined with LSan and UBSan, so export symbol from them as well. 2013-10-23 15:36:22 +00:00
asan_activation.cc [asan] Reinitialize allocator quarantine on activation. 2014-02-03 14:19:08 +00:00
asan_activation.h [asan] Fix a bunch of style issues. 2014-01-16 13:17:13 +00:00
asan_allocator.h [asan] fix the alloctor code to not use opaque data structure, which was larger than needed. This was a leftover of the allocator1=>allocator2 migration; thanks Yuri Gribov for reminding 2014-04-15 13:30:32 +00:00
asan_allocator2.cc [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +00:00
asan_asm_instrumentation.S [asan] Fix x86 asm instrumentation to preserve flags. 2014-05-21 08:21:14 +00:00
asan_blacklist.txt Ignore stack-buffer-overflow in std::_Find_elem<*> / std::num_get<...>::_Getifld 2014-05-07 14:40:23 +00:00
asan_dll_thunk.cc [ASan Win] Manually call __asan_init early in the DLL initialization process to avoid a null function call in cout/cerr constructors 2014-06-02 14:40:07 +00:00
asan_fake_stack.cc [asan] introduce two functions that will allow implementations of C++ garbage colection to work with asan's fake stack 2014-02-06 06:56:22 +00:00
asan_fake_stack.h [asan] introduce two functions that will allow implementations of C++ garbage colection to work with asan's fake stack 2014-02-06 06:56:22 +00:00
asan_flags.h [asan] Move the "coverage" flag to common flags. 2014-05-12 14:27:36 +00:00
asan_globals.cc [asan] split detect_odr_violation into two: =2 detects all ODR violations, =1 detects only those where the variable sizes are different. BTW, the detector seems to be working well and finding nice bugs. Early adopters are welcome. 2014-04-28 12:47:58 +00:00
asan_interceptors.cc [sancov] Handle fork. 2014-06-04 12:13:54 +00:00
asan_interceptors.h [sancov] Handle fork. 2014-06-04 12:13:54 +00:00
asan_interface_internal.h Fix typos 2014-05-15 02:22:34 +00:00
asan_internal.h Fix typos 2014-05-15 02:22:34 +00:00
asan_linux.cc [asan] Improve vDSO check in AsanCheckDynamicRTPrereqs; patch by Yuri Gribov 2014-06-02 10:39:40 +00:00
asan_lock.h asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_mac.cc [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00
asan_malloc_linux.cc [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +00:00
asan_malloc_mac.cc [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +00:00
asan_malloc_win.cc Add support for _expand[_dbg] so we don't crash when _aligned_* allocation functions are used 2014-03-27 14:01:11 +00:00
asan_mapping.h [asan] Enable ASan on PowerPC. 2014-05-30 08:52:03 +00:00
asan_new_delete.cc [ASan/Win] Don't use INTERCEPTOR_ATTRIBUTE for operator new/delete on Windows 2014-05-22 11:31:21 +00:00
asan_poisoning.cc [asan] introduce interface function __sanitizer_verify_contiguous_container to verify annotations in vector-like containers 2014-05-06 14:41:01 +00:00
asan_poisoning.h Work around PR19125: -Wconstant-logical-operand false positive 2014-03-13 10:43:02 +00:00
asan_posix.cc A set of trivial changes to support sanitizers on FreeBSD. 2014-03-04 08:55:41 +00:00
asan_preinit.cc [ASan] Rename __asan_preinit to __local_asan_preinit to avoid warnings from the linker which is trying to export all the __asan_* symbols 2013-05-23 09:15:20 +00:00
asan_report.cc [ASan/Win] Enable demangling of global variable names 2014-05-14 13:55:59 +00:00
asan_report.h [asan] implement an experimental detector of ODR violations. Not tested yet outside of a tiny test, may need tuning. 2014-04-25 08:58:28 +00:00
asan_rtl.cc [asan] enable detect_odr_violation=2; https://code.google.com/p/address-sanitizer/wiki/OneDefinitionRuleViolation . This feature has been working quite well so far, found a few bugs and zero false positives. The main problem is that there could be lots of true positives and users will have to disable this checking until the bugs are fixed. 2014-06-03 15:06:13 +00:00
asan_stack.cc [ASan] Get rid of ASan-specific functions for printing stack traces 2013-12-19 11:25:05 +00:00
asan_stack.h [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +00:00
asan_stats.cc [msan] Chained origins re-design. 2014-05-21 09:02:13 +00:00
asan_stats.h [ASan] Clarify that AsanThread objects are allocated only via mmap(). No functionality change. 2013-11-27 13:22:21 +00:00
asan_thread.cc Fix typos 2014-05-15 02:22:34 +00:00
asan_thread.h [ASan] Speed up stack trace unwinding for stacks of size 2. 2014-03-04 13:12:25 +00:00
asan_win.cc [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00

README.txt

AddressSanitizer RT
================================
This directory contains sources of the AddressSanitizer (asan) runtime library.
We are in the process of integrating AddressSanitizer with LLVM, stay tuned.

Directory structure:
README.txt       : This file.
Makefile.mk      : File for make-based build.
CMakeLists.txt   : File for cmake-based build.
asan_*.{cc,h}    : Sources of the asan runtime library.
scripts/*        : Helper scripts.
tests/*          : ASan unit tests.

Also ASan runtime needs the following libraries:
lib/interception/      : Machinery used to intercept function calls.
lib/sanitizer_common/  : Code shared between ASan and TSan.

Currently ASan runtime can be built by both make and cmake build systems.
(see compiler-rt/make and files Makefile.mk for make-based build and
files CMakeLists.txt for cmake-based build).

ASan unit and output tests work only with cmake. You may run this
command from the root of your cmake build tree:

make check-asan

For more instructions see:
http://code.google.com/p/address-sanitizer/wiki/HowToBuild