hanchenye-llvm-project/compiler-rt/lib/asan
Alexey Samsonov 58a046fe56 [ASan] Clean up leftovers from assembly instrumentation helpers
llvm-svn: 212471
2014-07-07 18:11:24 +00:00
..
scripts [asan] Remove runtime assembly helpers. 2014-07-07 13:59:12 +00:00
tests Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
CMakeLists.txt [ASan] Clean up leftovers from assembly instrumentation helpers 2014-07-07 18:11:24 +00:00
Makefile.mk [ASan] Split static ASan runtime in two parts: asan and asan_cxx. 2014-05-12 18:39:22 +00:00
README.txt Moved the builtins documentation to lib/builtins/ 2014-05-28 23:09:45 +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] fix the alloctor code to not use opaque data structure, which was larger than needed. This was a leftover of the allocator1=>allocator2 migration; thanks Yuri Gribov for reminding 2014-04-15 13:30:32 +00:00
asan_allocator2.cc Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
asan_blacklist.txt Ignore stack-buffer-overflow in std::_Find_elem<*> / std::num_get<...>::_Getifld 2014-05-07 14:40:23 +00:00
asan_dll_thunk.cc [ASan] Print exact source location of global variables in error reports. 2014-07-02 16:54:41 +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 "coverage" flag to common flags. 2014-05-12 14:27:36 +00:00
asan_globals.cc [asan] when reporting an ODR violation, also print the stack traces where the globals have been registered (thus show the name of shared library or exe to which the global belongs). The reports become a bit too verbose but I do not see any *simple* way to make them more compact. This should be especially helpful when the ODR happens because the same .cc file is used twice in the project in differend DSOs 2014-06-20 08:24:12 +00:00
asan_interceptors.cc [sancov] Handle fork. 2014-06-04 12:13:54 +00:00
asan_interceptors.h [asan] i686-linux-android support. 2014-07-03 14:20:56 +00:00
asan_interface_internal.h Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
asan_internal.h Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
asan_linux.cc Fix getting IP, BP and SP for address sanitizer's needs on FreeBSD in 32-bit mode 2014-06-15 13:56:28 +00:00
asan_lock.h
asan_mac.cc [ASan] Optional support for dynamic ASan runtime on Linux. 2014-04-01 13:16:30 +00:00
asan_malloc_linux.cc [sanitizer] support c11 aligned_alloc, Linux only for now 2014-07-04 07:30:34 +00:00
asan_malloc_mac.cc [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +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] Enable ASan on PowerPC. 2014-05-30 08:52:03 +00:00
asan_new_delete.cc [ASan/Win] Don't use INTERCEPTOR_ATTRIBUTE for operator new/delete on Windows 2014-05-22 11:31:21 +00:00
asan_poisoning.cc [asan] introduce interface function __sanitizer_verify_contiguous_container to verify annotations in vector-like containers 2014-05-06 14:41:01 +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_report.cc Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
asan_report.h Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +00:00
asan_rtl.cc [asan] enable detect_odr_violation=2; https://code.google.com/p/address-sanitizer/wiki/OneDefinitionRuleViolation . This feature has been working quite well so far, found a few bugs and zero false positives. The main problem is that there could be lots of true positives and users will have to disable this checking until the bugs are fixed. 2014-06-03 15:06:13 +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 [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +00:00
asan_stats.cc Generalize sanitizer allocator public interface. 2014-07-07 17:39:31 +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 [asan] initialize fake_stack_ to 0 before we call SetThreadStackAndTls, because that may actually try to use fake_stack_ (still don't know how). Yet another case where we desperately want https://sourceware.org/glibc/wiki/ThreadPropertiesAPI 2014-06-06 07:35:35 +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) runtime library.
We are in the process of integrating AddressSanitizer with LLVM, stay tuned.

Directory structure:
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 runtime library.
scripts/*        : Helper scripts.
tests/*          : ASan unit 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