llvm-project/compiler-rt/lib/asan
Alexey Samsonov cea6239219 [ASan] Due to data races, ASan malloc stats are inaccurate, which may cause certain ASan interface functions returning negative values (casted to unsigned). Return a reasonable value if such a case is detected.
llvm-svn: 166548
2012-10-24 09:19:11 +00:00
..
dynamic Intercept signal() and sigaction() within the dynamic runtime on Mac. 2012-09-18 12:49:51 +00:00
lit_tests Re-enable this test now that r166172 has hacked around the terrible 2012-10-18 08:06:28 +00:00
scripts [ASan] use llvm-symbolizer for ASan lit-style tests on Mac 2012-10-08 13:11:18 +00:00
tests [ASan] add comment to blacklist file to test behavior introduced in r166283 2012-10-19 15:26:48 +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] 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_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 Implement internal_memmove. 2012-10-15 15:34:41 +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 Set ASAN_NEEDS_SEGV=0 on Android only. 2012-10-03 15:09:17 +00:00
asan_linux.cc [asan] more refactoring to move StackTrace to sanitizer_common 2012-08-28 13:25:55 +00:00
asan_lock.h tsan/asan: unify ScopedLock 2012-06-29 17:10:08 +00:00
asan_mac.cc Do not call ReplaceCFAllocator() before __CFInitialize(), otherwise crashes are possible on 10.8. 2012-10-16 16:58:10 +00:00
asan_mac.h Commit a leftover file from r166026: Add MACOS_VERSION_MOUNTAIN_LION. 2012-10-16 16:48:51 +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 [Sanitizer] Remove unneeded returns after UNIMPLEMENTED macro 2012-10-09 08:51:08 +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] Disable new/delete interceptors on Android and make them visible elsewhere. 2012-10-18 15:22:08 +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] change the asan output slightly to avoid user confusion: a) add ':' after 'AddressSanitizer' and b) changed 'crashed' to 'SEGV' 2012-10-15 13:04:58 +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 Relocate the external headers provided by ASan and the common sanitizer 2012-08-29 02:27:54 +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] increase max stack size to 256 (+test) 2012-09-06 10:57:03 +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] Due to data races, ASan malloc stats are inaccurate, which may cause certain ASan interface functions returning negative values (casted to unsigned). Return a reasonable value if such a case is detected. 2012-10-24 09:19:11 +00:00
asan_thread_registry.h Give more accurate malloc statistics to malloc_zone_statistics(). 2012-09-12 15:29:50 +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