hanchenye-llvm-project/compiler-rt/lib/asan
Alexey Samsonov 1aa47efd2c [ASan] use macro instead of raw __attribute__
llvm-svn: 171188
2012-12-28 11:22:23 +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 Make ASan and TSan tests a bit less brittle with @LINE FileCheck macro 2012-12-28 08:38:09 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests Define COMPILER_RT_CAN_EXECUTE_TESTS variable on platforms where we can produce working binaries and use it in build rules for sanitizers tests 2012-12-27 13:19:23 +00:00
CMakeLists.txt Define COMPILER_RT_CAN_EXECUTE_TESTS variable on platforms where we can produce working binaries and use it in build rules for sanitizers tests 2012-12-27 13:19:23 +00:00
Makefile.mk build: Teach Makefile build system about asan/dynamic subdir. 2012-09-07 19:57:28 +00:00
README.txt
asan_allocator.cc [sanitizer] add statistics to the allocator; fix lint 2012-12-27 14:09:19 +00:00
asan_allocator.h [sanitizer] add statistics to the allocator; fix lint 2012-12-27 14:09:19 +00:00
asan_allocator2.cc [sanitizer] add statistics to the allocator; fix lint 2012-12-27 14:09:19 +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_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
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
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] 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] 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] use macro instead of raw __attribute__ 2012-12-28 11:22:23 +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] Teach ASan to print demangled function name when describing stack frame 2012-12-26 14:44:46 +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] enable alloc_dealloc_mismatch by default 2012-12-27 08:08:05 +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 [sanitizer] add statistics to the allocator; fix lint 2012-12-27 14:09:19 +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