llvm-project/compiler-rt/lib/asan
Kostya Serebryany 9f20c9b17c [asan] fix a leak in __tls_get_addr handler; introduce a run-time flag to disable this handler completely; remove a workaround for a bug fixed in glibc
llvm-svn: 205617
2014-04-04 09:10:58 +00:00
..
scripts asan_symbolize.py: use llvm-symbolizer results even if it returned function name w/o file/line info 2014-03-05 15:18:50 +00:00
tests [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00
CMakeLists.txt [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00
Makefile.mk [ASan] Delete asan/dynamic dir and temporarily move the interposers declarations to asan_intercepted_functions.h 2013-02-20 15:46:02 +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.syms.extra [ASan] ASan can be combined with LSan and UBSan, so export symbol from them as well. 2013-10-23 15:36:22 +00:00
asan_activation.cc [asan] Reinitialize allocator quarantine on activation. 2014-02-03 14:19:08 +00:00
asan_activation.h [asan] Fix a bunch of style issues. 2014-01-16 13:17:13 +00:00
asan_allocator.h [asan] *experimental* implementation of invalid-pointer-pair detector (finds when two unrelated pointers are compared or subtracted). This implementation has both false positives and false negatives and is not tuned for performance. A bug report for a proper implementation will follow. 2014-02-27 12:45:36 +00:00
asan_allocator2.cc [ASan] Speed up stack trace unwinding for stacks of size 2. 2014-03-04 13:12:25 +00:00
asan_asm_instrumentation.S [asan] Do all calls to __asan_report_* through PLT. 2014-02-20 07:54:29 +00:00
asan_blacklist.txt [asan] Update blacklists to use categories. 2013-07-09 22:04:28 +00:00
asan_dll_thunk.cc Add support for _expand[_dbg] so we don't crash when _aligned_* allocation functions are used 2014-03-27 14:01:11 +00:00
asan_fake_stack.cc [asan] introduce two functions that will allow implementations of C++ garbage colection to work with asan's fake stack 2014-02-06 06:56:22 +00:00
asan_fake_stack.h [asan] introduce two functions that will allow implementations of C++ garbage colection to work with asan's fake stack 2014-02-06 06:56:22 +00:00
asan_flags.h [ASan] Move the flag descriptions from comments to ParseFlag arguments. 2014-03-21 08:37:59 +00:00
asan_globals.cc Introduce an operator new for LowLevelAllocator, and convert most users to it. 2013-10-24 06:23:39 +00:00
asan_interceptors.cc [ASan] Fix a thinko spotted by Evgeniy Stepanov: use REAL(memcpy) on non-OSX systems. 2014-03-26 11:18:25 +00:00
asan_interceptors.h A set of trivial changes to support sanitizers on FreeBSD. 2014-03-04 08:55:41 +00:00
asan_interface_internal.h [ASan] Get rid of __asan_symbolize function 2013-12-19 11:08:47 +00:00
asan_internal.h [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00
asan_linux.cc [ASan] Fix incompatible runtimes check: don't iterate /proc/self/maps on every call to __asan_init 2014-04-02 13:09:22 +00:00
asan_lock.h asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_mac.cc [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00
asan_malloc_linux.cc A set of trivial changes to support sanitizers on FreeBSD. 2014-03-04 08:55:41 +00:00
asan_malloc_mac.cc [ASan] Get rid of asan_mac.h, which contents have been moved to sanitizer_mac.h 2014-02-04 11:35:59 +00:00
asan_malloc_win.cc Add support for _expand[_dbg] so we don't crash when _aligned_* allocation functions are used 2014-03-27 14:01:11 +00:00
asan_mapping.h [asan] Do not sanitize kernel area on 32-bit targets, patch by Yuri Gribov 2014-03-27 07:36:26 +00:00
asan_new_delete.cc [asan] Fix for size_t in Asan's new and delete operators on x64 FreeBSD in 32-bit mode, only for FreeBSD <= 9.2; patch by Viktor Kutuzov 2014-02-25 08:45:59 +00:00
asan_poisoning.cc [asan] relax the checks inside __sanitizer_annotate_contiguous_container: they are too optimistic due to https://code.google.com/p/address-sanitizer/issues/detail?id=258. 2014-01-21 09:53:49 +00:00
asan_poisoning.h Work around PR19125: -Wconstant-logical-operand false positive 2014-03-13 10:43:02 +00:00
asan_posix.cc A set of trivial changes to support sanitizers on FreeBSD. 2014-03-04 08:55:41 +00:00
asan_preinit.cc [ASan] Rename __asan_preinit to __local_asan_preinit to avoid warnings from the linker which is trying to export all the __asan_* symbols 2013-05-23 09:15:20 +00:00
asan_report.cc [asan] *experimental* implementation of invalid-pointer-pair detector (finds when two unrelated pointers are compared or subtracted). This implementation has both false positives and false negatives and is not tuned for performance. A bug report for a proper implementation will follow. 2014-02-27 12:45:36 +00:00
asan_report.h [asan] A different way of detectinb stack overflow. 2014-02-19 13:40:41 +00:00
asan_rtl.cc [asan] fix a leak in __tls_get_addr handler; introduce a run-time flag to disable this handler completely; remove a workaround for a bug fixed in glibc 2014-04-04 09:10:58 +00:00
asan_stack.cc [ASan] Get rid of ASan-specific functions for printing stack traces 2013-12-19 11:25:05 +00:00
asan_stack.h Fix StackTrace::LocatePcInTrace, add more unit tests for generic StackTrace 2014-03-04 14:06:11 +00:00
asan_stats.cc Improve collecting malloc stats in ASan 2013-09-02 08:39:07 +00:00
asan_stats.h [ASan] Clarify that AsanThread objects are allocated only via mmap(). No functionality change. 2013-11-27 13:22:21 +00:00
asan_thread.cc Reapply r201910. MSVC gets __func__ defined explicitly, even though it 2014-02-26 20:33:22 +00:00
asan_thread.h [ASan] Speed up stack trace unwinding for stacks of size 2. 2014-03-04 13:12:25 +00:00
asan_win.cc [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +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