hanchenye-llvm-project/compiler-rt/lib/asan
Evgeniy Stepanov d3b56605f1 [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately.
llvm-svn: 177397
2013-03-19 13:54:41 +00:00
..
lit_tests [ASan] remove -fsanitize=init-order from lit tests as now it's implied by -fsanitize=address 2013-03-14 12:43:03 +00:00
scripts [asan] added flag -d|--demangle to asan_symbolize.py, makes addr2line/llvm-symbolizer demangle the functions names 2013-02-18 08:02:16 +00:00
tests [asan] make the __asan_get_heap_size more robust 2013-03-18 10:52:25 +00:00
CMakeLists.txt [Sanitizer] Build ASan, TSan and MSan runtimes with -fno-rtti. 2013-03-13 09:18:30 +00:00
Makefile.mk [ASan] Delete asan/dynamic dir and temporarily move the interposers declarations to asan_intercepted_functions.h 2013-02-20 15:46:02 +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] Fix Win/Mac build. 2013-02-05 15:02:12 +00:00
asan_allocator.h [asan] Switch to allocator2 on Android. 2013-03-18 09:22:58 +00:00
asan_allocator2.cc [asan] use 4Tb of address space for the asan allocator instead of 1Tb. This increases the memory available for a single size class from 16Gb to 64Gb. The total VM footprint becomes 20Tb 2013-03-12 09:04:49 +00:00
asan_fake_stack.cc [ASan] Split ASan interface header into private and public parts. Add a test that makes sure users can include interface header 2013-01-31 13:46:14 +00:00
asan_flags.h [ASan] Add the memcmp_strict flag (1 by default) that controls the behavior of accessibility checks in memcmp. 2013-02-28 14:09:30 +00:00
asan_globals.cc [asan] Fix nonsensical reports of partial right OOB. 2013-02-05 14:32:03 +00:00
asan_intercepted_functions.h [Sanitizer] Don't intercept frexpf and frexpl on Windows. Add frexp declaration to asan_intercepted_functions.h 2013-03-15 14:02:21 +00:00
asan_interceptors.cc [ASan] Add the memcmp_strict flag (1 by default) that controls the behavior of accessibility checks in memcmp. 2013-02-28 14:09:30 +00:00
asan_interceptors.h [ASan] Delete the code related to static runtime on OS X. 2013-02-05 15:57:12 +00:00
asan_interface_internal.h [asan] while generating the description of a global variable, emit the module name in a separate field, thus not duplicating this information if every description. This decreases the binary size (observed up to 3%). https://code.google.com/p/address-sanitizer/issues/detail?id=168 . This changes the asan API version. compiler-rt part, llvm-part will follow 2013-03-18 08:04:55 +00:00
asan_internal.h [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +00:00
asan_linux.cc [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +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] Refactoring: nuke the redundant function declarations in asan_intercepted_functions.h 2013-02-21 14:41:16 +00:00
asan_mac.h [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +00:00
asan_malloc_linux.cc [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +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 [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +00:00
asan_new_delete.cc [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +00:00
asan_poisoning.cc [ASan] Split ASan interface header into private and public parts. Add a test that makes sure users can include interface header 2013-01-31 13:46:14 +00:00
asan_posix.cc [ASan] intercept swapcontext on Linux only 2012-11-23 10:14:44 +00:00
asan_preinit.cc [asan] move the .preinit_array hack into a separate file (added used attribute) 2013-02-22 07:51:26 +00:00
asan_report.cc [asan] while generating the description of a global variable, emit the module name in a separate field, thus not duplicating this information if every description. This decreases the binary size (observed up to 3%). https://code.google.com/p/address-sanitizer/issues/detail?id=168 . This changes the asan API version. compiler-rt part, llvm-part will follow 2013-03-18 08:04:55 +00:00
asan_report.h [asan] Fix nonsensical reports of partial right OOB. 2013-02-05 14:32:03 +00:00
asan_rtl.cc [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +00:00
asan_stack.cc [ASan] Split ASan interface header into private and public parts. Add a test that makes sure users can include interface header 2013-01-31 13:46:14 +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] Split ASan interface header into private and public parts. Add a test that makes sure users can include interface header 2013-01-31 13:46:14 +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 [sanitizer] Move ASan platform macros to sanitizer_common and rename them appropriately. 2013-03-19 13:54:41 +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