llvm-project/compiler-rt/lib/asan
Kostya Serebryany e54a9e6fbf [asan] don't fail the test if prctl(PR_SET_NAME) is not supported
llvm-svn: 172059
2013-01-10 11:55:43 +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 [asan] don't fail the test if prctl(PR_SET_NAME) is not supported 2013-01-10 11:55:43 +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] Nuke output_tests/ in favor of lit_tests/. Stop using Makefile.old. 2012-09-06 06:39:02 +00:00
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 [asan] asan_allocator2: do less work under the quarantine lock; make the strcasecmp test more resistant to the contents of unaddressable memory 2013-01-10 09:25:16 +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] implement more strict checking for memset/etc parameters. Instead of checking the first and the last byte, we check the entire shadow region. This costs ~10 slowdown for the instrumented functions. Motivated by a nasty memset-buffer-overflow-by-140-bytes in chrome which was reported as a use-after-free or not at all 2012-12-28 15:24:16 +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] 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] implement more strict checking for memset/etc parameters. Instead of checking the first and the last byte, we check the entire shadow region. This costs ~10 slowdown for the instrumented functions. Motivated by a nasty memset-buffer-overflow-by-140-bytes in chrome which was reported as a use-after-free or not at all 2012-12-28 15:24:16 +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 new interface function __asan_describe_address, useful for running asan-ified binary under a debugger (e.g. gdb) 2012-12-29 10:18:31 +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] add a new interface function __asan_describe_address, useful for running asan-ified binary under a debugger (e.g. gdb) 2012-12-29 10:18:31 +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