llvm-project/compiler-rt/lib/asan
Kostya Serebryany cd60ed53f6 [asan] when reporting an ODR violation, also print the stack traces where the globals have been registered (thus show the name of shared library or exe to which the global belongs). The reports become a bit too verbose but I do not see any *simple* way to make them more compact. This should be especially helpful when the ODR happens because the same .cc file is used twice in the project in differend DSOs
llvm-svn: 211343
2014-06-20 08:24:12 +00:00
..
scripts [asan] asan_device_setup: extend search path 2014-06-05 12:49:35 +00:00
tests Exclude Android from the tests for valloc/pvalloc. 2014-06-14 00:50:03 +00:00
CMakeLists.txt [asan] Add install rule for Android runtime 2014-06-04 21:05:01 +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] when reporting an ODR violation, also print the stack traces where the globals have been registered (thus show the name of shared library or exe to which the global belongs). The reports become a bit too verbose but I do not see any *simple* way to make them more compact. This should be especially helpful when the ODR happens because the same .cc file is used twice in the project in differend DSOs 2014-06-20 08:24:12 +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 [asan] Make ReplaceSystemMalloc optional on Android. 2014-06-06 10:57:21 +00:00
asan_linux.cc Fix getting IP, BP and SP for address sanitizer's needs on FreeBSD in 32-bit mode 2014-06-15 13:56:28 +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] Add malloc_usable_size to android malloc dispatch. 2014-06-09 08:36:14 +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] when reporting an ODR violation, also print the stack traces where the globals have been registered (thus show the name of shared library or exe to which the global belongs). The reports become a bit too verbose but I do not see any *simple* way to make them more compact. This should be especially helpful when the ODR happens because the same .cc file is used twice in the project in differend DSOs 2014-06-20 08:24:12 +00:00
asan_report.h [asan] when reporting an ODR violation, also print the stack traces where the globals have been registered (thus show the name of shared library or exe to which the global belongs). The reports become a bit too verbose but I do not see any *simple* way to make them more compact. This should be especially helpful when the ODR happens because the same .cc file is used twice in the project in differend DSOs 2014-06-20 08:24:12 +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 [asan] initialize fake_stack_ to 0 before we call SetThreadStackAndTls, because that may actually try to use fake_stack_ (still don't know how). Yet another case where we desperately want https://sourceware.org/glibc/wiki/ThreadPropertiesAPI 2014-06-06 07:35:35 +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