llvm-project/compiler-rt/lib/asan
Kostya Serebryany ad81738822 [asan] add asan/lit_tests/overflow-in-qsort.cc (not fully working yet)
llvm-svn: 170111
2012-12-13 08:05:03 +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] add asan/lit_tests/overflow-in-qsort.cc (not fully working yet) 2012-12-13 08:05:03 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests [ASan] Fix test expectations for strcat/strncat. 2012-12-12 16:10:46 +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] more code for asan_allocator2: basic Allocate/Deallocate code 2012-12-11 14:41:31 +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 asan option log_path=PATH to let users redirect asan reports to a file PATH.PID instead of stderr 2012-09-14 04:35:14 +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] replace size_t with SIZE_T in interceptors (same for ssize_t, off_t and off64_t). This is done to avoid confusion and to make the code work with compilers that define size_t w/o any includes (MSVC) 2012-12-13 06:31:40 +00:00
asan_interceptors.cc [asan] add sanitizer_common/sanitizer_common_interceptors.h with pread/pread64/read interceptors. Use it in asan. Add asan tests for pread/etc. Add FIXME to tsan/msan interceptors 2012-12-12 09:54:35 +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] two more bits for __sparc__ 2012-12-03 18:39:21 +00:00
asan_lock.h tsan/asan: unify ScopedLock 2012-06-29 17:10:08 +00:00
asan_mac.cc [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
asan_mac.h [ASan] Rename ReplaceCFAllocator to MaybeReplaceCFAllocator. 2012-10-24 09:35:23 +00:00
asan_malloc_linux.cc [ASan] fix interception macro for Android build 2012-09-12 09:42:23 +00:00
asan_malloc_mac.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_malloc_win.cc [ASan] Apply some ASan-relevant pieces of patch by Ruben Van Boxem. In the same time, remove ASan from CMake build on Windows after conversation with Timur. We don't want to support building ASan on Windows until it is in a working state. 2012-09-24 11:43:40 +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] avoid including <new> header in ASan runtime 2012-11-08 13:31:19 +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: 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_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: 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.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] actually move StackTrace to sanitizer_common 2012-08-28 14:11:57 +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] Add interceptor for swapcontext to fight with false positives in some of its use cases. 2012-11-23 09:46:34 +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