llvm-project/compiler-rt/lib/asan
Kostya Serebryany a11cd57a78 [asan] asan_allocator2: by default use the StackDepot to store the stack traces instead of storing them in the redzones
llvm-svn: 171099
2012-12-26 06:30:02 +00:00
..
dynamic [ASan] Do not build the interceptors that use ObjC blocks if the compiler does not support blocks. 2012-12-04 02:41:47 +00:00
lit_tests [ASan] Fix another FileCheck pattern to be c++filt-proof. 2012-12-21 10:48:30 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests [asan] add a test for right OOB with special large sizes. Fix this test in asan_allocator2. More test tweaking for allocator2 2012-12-25 09:40:20 +00:00
CMakeLists.txt [asan] move FakeStack into a separate file 2012-12-10 14:19:15 +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] 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_allocator.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_allocator2.cc [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_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 Relocate the external headers provided by ASan and the common sanitizer 2012-08-29 02:27:54 +00:00
asan_intercepted_functions.h [Sanitizer] Add new header - sanitizer_platform_interceptors.h, which should define whether or not given function should be intercepted on a given platform. 2012-12-13 08:50:16 +00:00
asan_interceptors.cc [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_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] properly define ASAN_LOW_MEMORY. Due to a mistake it has been always true causing redzone and quarantine sizes to be smaller than it was some time before (and out of sync with the documentation). Also make one test less greedy 2012-12-25 07:17:17 +00:00
asan_linux.cc [asan] pop the internal stack frames in SlowUnwindStack, extend the test to check this 2012-12-13 12:31:55 +00:00
asan_lock.h tsan/asan: unify ScopedLock 2012-06-29 17:10:08 +00:00
asan_mac.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_mac.h [ASan] Rename ReplaceCFAllocator to MaybeReplaceCFAllocator. 2012-10-24 09:35:23 +00:00
asan_malloc_linux.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_malloc_mac.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_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 [asan/tsan] get rid of kPageSize completely in favor of GetPageSizeCached(). This makes the code friendly to more platforms 2012-11-24 05:03:11 +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] add a flag poison_heap to allow better allocator benchmarking, implemenet malloc_stats() on Linux 2012-12-20 11:54:21 +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 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_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] 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_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] 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_stats.h [asan] asan_allocator2: add mmap/munmap stats 2012-12-19 14:56:38 +00:00
asan_thread.cc [asan] get rid of some of the uses of kPageSize. The intent is to get rid of it completely to support platforms with multiple possible page sizes. 2012-11-23 15:38:49 +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] asan_allocator2: make all remaining tests pass. 2012-12-20 08:53:41 +00:00
asan_thread_registry.h [ASan] change interface of GetAccumulatedStats() function to prevent Clang from inserting memcpy() call into runtime. 2012-11-19 10:25:17 +00:00
asan_win.cc [asan] fix win build 2012-12-13 10:03:50 +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