llvm-project/compiler-rt/lib/asan
Alexey Samsonov 27a22688b9 [ASan] use raw Exit() to kill the program in case ASan finds an error while reporting the error in the same thread
llvm-svn: 168308
2012-11-19 11:22:22 +00:00
..
dynamic Intercept signal() and sigaction() within the dynamic runtime on Mac. 2012-09-18 12:49:51 +00:00
lit_tests [ASan] now we don't need llvm_obj_root to access llvm-symbolizer tool 2012-11-13 07:55:16 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests Update compiler-rt tests to match flag renaming/deprecation in Clang. 2012-11-06 02:31:42 +00:00
CMakeLists.txt CMake build rules for ASan Android runtime and tests. 2012-09-11 11:55:45 +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] Revert r168040 and r168043 and take a cleaner solution suggested by Kostya: return the known frame name for fake stack instead of looking it up. 2012-11-15 15:24:42 +00:00
asan_allocator.h [ASan] Move printing descriptions of heap addresses in error report from allocator internals to asan_report.cc. 2012-09-18 07:38:10 +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 Fix two compiler warnings: must use at least one argument for "..." in a variadic macros, signed vs. unsigned comparison. 2012-09-06 13:31:13 +00:00
asan_interceptors.cc In the dynamic runtime on Mac OS, do not call internal_strdup() before __asan_init(). 2012-10-26 11:31:14 +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] Revert r168040 and r168043 and take a cleaner solution suggested by Kostya: return the known frame name for fake stack instead of looking it up. 2012-11-15 15:24:42 +00:00
asan_linux.cc asan: sync with gcc r193553 2012-11-16 11:26:05 +00:00
asan_lock.h tsan/asan: unify ScopedLock 2012-06-29 17:10:08 +00:00
asan_mac.cc [ASan] Rename ReplaceCFAllocator to MaybeReplaceCFAllocator. 2012-10-24 09:35:23 +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] Rename ReplaceCFAllocator to MaybeReplaceCFAllocator. 2012-10-24 09:35:23 +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 A few tweaks for building ASanRT against Android NDK. 2012-08-27 11:15:55 +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 Relocate the external headers provided by ASan and the common sanitizer 2012-08-29 02:27:54 +00:00
asan_posix.cc [ASan] Create new files asan_report.{h,cc} as a preparation for refactoring of ASan error reporting code. 2012-08-09 07:40:58 +00:00
asan_report.cc [ASan] use raw Exit() to kill the program in case ASan finds an error while reporting the error in the same thread 2012-11-19 11:22:22 +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 __asan_set_on_error_callback to weak overridable __asan_on_error, so that ASan would call the latter even if it finds the error early (i.e. during module initialization) 2012-10-02 14:06:39 +00:00
asan_stack.cc [Sanitizer/ASan] Simplify the code that prints and symbolizes stack traces. Fall back to module+offset if user-provided symbolizer failed. Use weak function __asan_symbolize instead of __asan_set_symbolize_callback in ASan interface, so that we're able to symbolize reports for errors that happen before the main() is called, for example, during module initialization. 2012-10-02 12:11:17 +00:00
asan_stack.h [asan] actually move StackTrace to sanitizer_common 2012-08-28 14:11:57 +00:00
asan_stats.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_stats.h Give more accurate malloc statistics to malloc_zone_statistics(). 2012-09-12 15:29:50 +00:00
asan_thread.cc [ASan] Revert r168040 and r168043 and take a cleaner solution suggested by Kostya: return the known frame name for fake stack instead of looking it up. 2012-11-15 15:24:42 +00:00
asan_thread.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_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 extern C for __asan_symbolize on Windows 2012-10-02 12:35:42 +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