hanchenye-llvm-project/compiler-rt/lib/asan
Kostya Serebryany bb69879d09 [asan] pop the internal stack frames in SlowUnwindStack, extend the test to check this
llvm-svn: 170124
2012-12-13 12:31:55 +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] pop the internal stack frames in SlowUnwindStack, extend the test to check this 2012-12-13 12:31:55 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests [ASan] more macro for conditional interception of pread functions 2012-12-13 08:10:23 +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 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_allocator.h [ASan] Fixed a compiler warning. 2012-12-12 12:32:57 +00:00
asan_allocator2.cc [sanitizer] add OnMap/OnUmap callbacks to the allocator interface 2012-12-12 14:32:18 +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] 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_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: 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_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] fix win build 2012-12-13 10:03:50 +00:00
asan_mac.h [ASan] Rename ReplaceCFAllocator to MaybeReplaceCFAllocator. 2012-10-24 09:35:23 +00:00
asan_malloc_linux.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_malloc_mac.cc [asan] fix mac build 2012-12-13 10:01:20 +00:00
asan_malloc_win.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_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 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_poisoning.cc ASan: add new interface functions - __asan_(un)poison_stack_memory. Calls to these functions are inserted by the instrumentation pass in use-after-scope mode 2012-12-04 01:38:15 +00:00
asan_posix.cc [ASan] intercept swapcontext on Linux only 2012-11-23 10:14:44 +00:00
asan_report.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_report.h [ASan] Add print_full_thread_history runtime option (on by default) that prints all full thread creation paths for threads involved in ASan error report 2012-09-05 07:37:15 +00:00
asan_rtl.cc [ASan] don't print memory stats on CheckFailed 2012-12-13 11:09:26 +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] 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_stats.h Give more accurate malloc statistics to malloc_zone_statistics(). 2012-09-12 15:29:50 +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] change interface of GetAccumulatedStats() function to prevent Clang from inserting memcpy() call into runtime. 2012-11-19 10:25:17 +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