llvm-project/compiler-rt/lib/asan
Kostya Serebryany 1fb81720ec [asan] relax the assertion around array cookie load; still need to extract a reproducer where this assertion fails...
llvm-svn: 217215
2014-09-05 01:16:30 +00:00
..
scripts [asan] Update asan_device_setup to support Android L Preview. 2014-09-01 15:37:50 +00:00
tests Fixup Android tests build rules 2014-08-09 00:23:11 +00:00
CMakeLists.txt [ASan/Win] Add the -Zl flag to avoid /DEFAULTLIB:libcmt directive in the asan_win_uar_thunk object file 2014-08-28 12:28:04 +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] add a feature to detect new-delete-size-mismatch (when used with -Xclang -fsized-deallocation). Not yet on Mac. Also, remove some unused code. 2014-07-30 09:48:23 +00:00
asan_allocator2.cc [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in favor of 2014-08-12 20:28:20 +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_debugging.cc [ASan] Add ASan debugging API to get malloc/free stack traces and shadow memory mapping info 2014-07-15 17:33:23 +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 [Sanitizer] Make disable_coredump a common flag and use it in TSan 2014-08-12 22:07:48 +00:00
asan_globals.cc [ASan] Use metadata to pass source-level information from Clang to ASan. 2014-08-02 00:35:50 +00:00
asan_init_version.h [ASan] Only define macros in asan_init_version.h, move the __asan_init declaration back to asan_interface_internal.h 2014-07-15 08:16:04 +00:00
asan_interceptors.cc [sanitizer] move mlock interceptor from asan/tsan/msan to common; no functionality change intended 2014-08-25 20:57:59 +00:00
asan_interceptors.h [sanitizer] move mlock interceptor from asan/tsan/msan to common; no functionality change intended 2014-08-25 20:57:59 +00:00
asan_interface_internal.h [asan] introduce __asan_load_cxx_array_cookie: check that the array cookie address is properly poisoned and return the cookie value. If not, return 0 to avoid infinite loop of DTORs (in case of use-after-free). Calls to this function will be inserted by clang (separate change) 2014-08-28 22:28:04 +00:00
asan_internal.h [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in favor of 2014-08-12 20:28:20 +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/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_mac.cc [ASan] Force the compiler to generate frame pointer in certain Mac-specific interceptors. 2014-07-10 00:06:53 +00:00
asan_malloc_linux.cc [asan] Remove leftover debug printf. 2014-07-17 13:05:21 +00:00
asan_malloc_mac.cc [asan] use some LIKELY/UNLIKELY 2014-05-14 14:03:31 +00:00
asan_malloc_win.cc [ASan/Win] Intercept memory allocation functions in the MD CRT 2014-08-25 13:19:05 +00:00
asan_mapping.h [asan] Enable ASan on PowerPC. 2014-05-30 08:52:03 +00:00
asan_new_delete.cc [asan] intercept sized operator delete[] 2014-08-04 10:10:50 +00:00
asan_poisoning.cc [asan] relax the assertion around array cookie load; still need to extract a reproducer where this assertion fails... 2014-09-05 01:16:30 +00:00
asan_poisoning.h [ASan] Remove the call to GetPageSizeCached from fast path of FastPoisonShadow 2014-09-04 20:47:27 +00:00
asan_posix.cc [ASan/Win] Catch NULL derefs and page faults 2014-07-11 11:57:41 +00:00
asan_preinit.cc [ASan/Win] We don't really need to use .CRT to call __asan_init when using -MD 2014-08-15 14:44:17 +00:00
asan_report.cc [ASan] Whitespace fix. No functionality change. 2014-08-27 13:43:18 +00:00
asan_report.h [asan] add a feature to detect new-delete-size-mismatch (when used with -Xclang -fsized-deallocation). Not yet on Mac. Also, remove some unused code. 2014-07-30 09:48:23 +00:00
asan_rtl.cc [asan] enable poison_array_cookie back 2014-08-29 01:16:18 +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 [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in favor of 2014-08-12 20:28:20 +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/Win] Land the trivial bits of -MD RTL support (PR20214) 2014-08-22 12:38:07 +00:00
asan_win_dll_thunk.cc [ASan/Win] Rename asan_dll_thunk.cc to asan_win_dll_thunk.cc 2014-08-26 10:21:37 +00:00
asan_win_uar_thunk.cc [ASan/Win] Add an extra thunk.lib to handle stack-use-after-return option 2014-08-26 10:08:24 +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