llvm-project/compiler-rt/lib/asan
Alexander Potapenko 0c92557fcb [ASan] Fix the path to ASan interface in interface_symbols_linux.c
llvm-svn: 173140
2013-01-22 10:13:37 +00:00
..
dynamic [ASan] Use dylib interposition to hook memory allocation in the dynamic runtime. 2013-01-22 09:14:54 +00:00
lit_tests [ASan] Fix the path to ASan interface in interface_symbols_linux.c 2013-01-22 10:13:37 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests ASan: simplify build rules for unit tests 2013-01-22 07:31:28 +00:00
CMakeLists.txt [ASan] Use dylib interposition to hook memory allocation in the dynamic runtime. 2013-01-22 09:14:54 +00:00
Makefile.mk build: Teach Makefile build system about asan/dynamic subdir. 2012-09-07 19:57:28 +00:00
README.txt [ASan] Nuke output_tests/ in favor of lit_tests/. Stop using Makefile.old. 2012-09-06 06:39:02 +00:00
asan_allocator.cc asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_allocator.h [asan] enable asan_allocator2 by default on Linux. Will enable it on other platforms and remove the old one later, after additional testing. The new allocator is much faster and uses less memory 2013-01-15 13:57:39 +00:00
asan_allocator2.cc [ASan] fix __asan_get_ownership(p) and __asan_get_allocated_size(p) for the p = malloc(0) 2013-01-17 13:25:17 +00:00
asan_fake_stack.cc [asan] move FakeStack into a separate file 2012-12-10 14:19:15 +00:00
asan_flags.h [asan] asan_allocator2: by default use the StackDepot to store the stack traces instead of storing them in the redzones 2012-12-26 06:30:02 +00:00
asan_globals.cc [asan] kill some dead code 2013-01-18 13:01:44 +00:00
asan_intercepted_functions.h [ASan] Use dylib interposition to hook memory allocation in the dynamic runtime. 2013-01-22 09:14:54 +00:00
asan_interceptors.cc [sanitizer] lint 2013-01-18 13:12:56 +00:00
asan_interceptors.h If the program is linked to a dynamic ASan runtime which is not present in DYLD_INSERT_LIBRARIES 2012-08-24 09:22:05 +00:00
asan_internal.h [ASan] minor changes to swapcontext handling: don't clear shadow memory if context stack is too large 2013-01-17 15:45:28 +00:00
asan_linux.cc [ASan] fixes for Android build 2013-01-18 09:20:06 +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] Use dylib interposition to hook memory allocation in the dynamic runtime. 2013-01-22 09:14:54 +00:00
asan_mac.h [ASan] Rename ReplaceCFAllocator to MaybeReplaceCFAllocator. 2012-10-24 09:35:23 +00:00
asan_malloc_linux.cc [asan] asan_allocator2: do not align the requested size to the redzone size (saves a bit more memory) 2012-12-26 12:20:35 +00:00
asan_malloc_mac.cc [ASan] Use dylib interposition to hook memory allocation in the dynamic runtime. 2013-01-22 09:14:54 +00:00
asan_malloc_win.cc [asan] add a flag alloc_dealloc_mismatch (off by default for now) which finds malloc/delete, new/free, new/delete[], etc mismatches 2012-12-21 08:53:59 +00:00
asan_mapping.h Fixup for r173021: build tests with zero-based shadow on Android only, fix condition in checking for shadow gap in asan_mapping.h 2013-01-21 11:36:38 +00:00
asan_new_delete.cc [asan] add a flag alloc_dealloc_mismatch (off by default for now) which finds malloc/delete, new/free, new/delete[], etc mismatches 2012-12-21 08:53:59 +00:00
asan_poisoning.cc [asan] fix two off-by-one errors that seem to affect only PowerPC because only there the stack top may be equal to the address space top. Noted by Andreas Schwab in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55975#c11 . Also make swapcontext interceptor a bit more robust 2013-01-18 11:30:36 +00:00
asan_posix.cc [ASan] intercept swapcontext on Linux only 2012-11-23 10:14:44 +00:00
asan_report.cc [asan] add a new interface function __asan_describe_address, useful for running asan-ified binary under a debugger (e.g. gdb) 2012-12-29 10:18:31 +00:00
asan_report.h [asan] add a flag alloc_dealloc_mismatch (off by default for now) which finds malloc/delete, new/free, new/delete[], etc mismatches 2012-12-21 08:53:59 +00:00
asan_rtl.cc [asan] kill some dead code 2013-01-18 13:01:44 +00:00
asan_stack.cc ASan: change the strategy we use for installing malloc/free/symbolization hooks on Linux: don't provide a default no-op implementations for hooks in runtime, and optionally call hooks if they are provided by the user. Don't force weak interface functions into runtime. 2012-12-07 22:01:28 +00:00
asan_stack.h [asan] add two asan flags: fast_unwind_on_fatal and fast_unwind_on_malloc to allow using the slow CFI-based unwinder 2012-12-13 09:34:23 +00:00
asan_stats.cc asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_stats.h [asan] asan_allocator2: add mmap/munmap stats 2012-12-19 14:56:38 +00:00
asan_thread.cc [asan] fix two off-by-one errors that seem to affect only PowerPC because only there the stack top may be equal to the address space top. Noted by Andreas Schwab in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55975#c11 . Also make swapcontext interceptor a bit more robust 2013-01-18 11:30:36 +00:00
asan_thread.h [asan] intercept prctl(PR_SET_NAME) and set the thread name. Output the thread names (if non-empty) in asan reports 2012-12-07 15:15:01 +00:00
asan_thread_registry.cc asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_thread_registry.h asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_win.cc [ASan] minor changes to swapcontext handling: don't clear shadow memory if context stack is too large 2013-01-17 15:45:28 +00:00

README.txt

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

Directory structre:
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 run-time lirbary.
scripts/*        : Helper scripts.
tests/*          : ASan unit tests.
lit_tests/*      : ASan output 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