llvm-project/compiler-rt/lib/asan
Alexey Samsonov 1440105338 [Sanitizer] Simplify Symbolizer creation interface.
Get rid of Symbolizer::Init(path_to_external) in favor of
thread-safe Symbolizer::GetOrInit(), and use the latter version
everywhere. Implicitly depend on the value of external_symbolizer_path
runtime flag instead of passing it around manually.

No functionality change.

llvm-svn: 214005
2014-07-26 01:37:23 +00:00
..
scripts Add FreeBSD support to the Asan symbolization script 2014-07-18 12:07:00 +00:00
tests Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
CMakeLists.txt [ASan] Add ASan debugging API to get malloc/free stack traces and shadow memory mapping info 2014-07-15 17:33:23 +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 Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +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_debugging.cc [ASan] Add ASan debugging API to get malloc/free stack traces and shadow memory mapping info 2014-07-15 17:33:23 +00:00
asan_dll_thunk.cc [ASan/Win] Add SEH handling to the DLL thunk as well 2014-07-22 14:02:53 +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_init_version.h [ASan] Only define macros in asan_init_version.h, move the __asan_init declaration back to asan_interface_internal.h 2014-07-15 08:16:04 +00:00
asan_interceptors.cc Allow initialization of Asan interceptors before the general Asan initialization takes place on FreeBSD 2014-07-25 12:45:36 +00:00
asan_interceptors.h [asan] i686-linux-android support. 2014-07-03 14:20:56 +00:00
asan_interface_internal.h [ASan] Add ASan debugging API to get malloc/free stack traces and shadow memory mapping info 2014-07-15 17:33:23 +00:00
asan_internal.h [Sanitizer] Introduce SANITIZER_CAN_USE_PREINIT_ARRAY definition and use it across sanitizers. 2014-07-25 22:05:02 +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] Force the compiler to generate frame pointer in certain Mac-specific interceptors. 2014-07-10 00:06:53 +00:00
asan_malloc_linux.cc [asan] Remove leftover debug printf. 2014-07-17 13:05:21 +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 [ASan/Win] Catch NULL derefs and page faults 2014-07-11 11:57:41 +00:00
asan_preinit.cc [Sanitizer] Introduce SANITIZER_CAN_USE_PREINIT_ARRAY definition and use it across sanitizers. 2014-07-25 22:05:02 +00:00
asan_report.cc [ASan/Win] Handle SEH exceptions (best-effort, similar to longjmp) 2014-07-22 13:44:18 +00:00
asan_report.h [compiler-rt] [asan] Refactor DescribeAddressIfStack to allow reuse for debugging API 2014-07-17 00:18:03 +00:00
asan_rtl.cc [Sanitizer] Simplify Symbolizer creation interface. 2014-07-26 01:37:23 +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 Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +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/Win] Catch NULL derefs and page faults 2014-07-11 11:57:41 +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