llvm-project/compiler-rt/lib/asan
Petr Hosek a7a9ca4ad1 Support libc++abi in addition to libstdc++
This change adds sanitizer support for LLVM's libunwind and libc++abi
as an alternative to libstdc++. This allows using the in tree version
of libunwind and libc++abi which is useful when building a toolchain
for different target.

Differential Revision: https://reviews.llvm.org/D34501

llvm-svn: 309362
2017-07-28 03:39:39 +00:00
..
scripts [asan] Fix asan_device_setup --use-su mode on Android 7.x. 2017-07-11 18:18:50 +00:00
tests [sanitizers] Sanitizer tests CMake clean up: try #2 2017-07-28 00:50:56 +00:00
.clang-format Tell clang-format that (most) sanitizers are written using Google style guide. 2015-11-19 22:11:10 +00:00
CMakeLists.txt Support libc++abi in addition to libstdc++ 2017-07-28 03:39:39 +00:00
README.txt [ASan] Fix the links to bugs and wikipages. 2015-12-04 17:37:40 +00:00
asan.syms.extra [asan] Export __sancov_* symbols symbols. 2017-01-31 20:23:07 +00:00
asan_activation.cc [sanitizer-coverage] nuke more stale code 2017-06-02 00:52:35 +00:00
asan_activation.h [ASan] Change activation strategy. 2014-12-19 20:35:53 +00:00
asan_activation_flags.inc ASAN activate/deactive controls thread_local_quarantine_size_kb option. 2017-01-12 18:51:25 +00:00
asan_allocator.cc [Sanitizers] ASan/MSan/LSan allocators set errno on failure. 2017-07-18 19:11:04 +00:00
asan_allocator.h Revert r304285, r304297. 2017-06-05 21:20:55 +00:00
asan_blacklist.txt
asan_debugging.cc [asan] Add a new AddressDescription structure, which can describe any type of address. 2016-09-09 20:43:20 +00:00
asan_descriptions.cc [asan] Support line numbers in StackVarDescr 2017-03-30 00:41:09 +00:00
asan_descriptions.h [asan] Reify ErrorGeneric 2016-09-21 20:18:18 +00:00
asan_errors.cc Refactor MemoryMappingLayout::Next to use a single struct instead of output parameters. NFC. 2017-07-11 18:54:00 +00:00
asan_errors.h [asan] Provide bug descriptions for all reports (not just ErrorGeneric) 2016-11-28 21:18:15 +00:00
asan_fake_stack.cc fix random typos [NFC] 2016-08-05 18:49:08 +00:00
asan_fake_stack.h fix random typos [NFC] 2016-08-05 18:49:08 +00:00
asan_flags.cc [asan] Add strndup/__strndup interceptors. 2017-06-01 09:37:22 +00:00
asan_flags.h [Sanitizer] Change InitializeFlags() signatures. NFC. 2015-02-12 00:36:42 +00:00
asan_flags.inc [asan] Move AsanCheckDynamicRTPrereqs check under flag 2017-03-31 06:36:37 +00:00
asan_globals.cc [asan] Fix dead stripping of globals on Linux (compiler-rt). 2017-04-27 20:27:33 +00:00
asan_globals_win.cc [sanitizer] Split dll_thunks into different sanitizers. 2017-02-02 23:01:28 +00:00
asan_init_version.h [asan] Add runtime support for __asan_(un)register_image_globals 2016-03-28 20:28:17 +00:00
asan_interceptors.cc [asan] Move memcpy, memmove, memset code out of asan_interceptors.cc 2017-07-20 01:29:01 +00:00
asan_interceptors.h [asan] Move memcpy, memmove, memset code out of asan_interceptors.cc 2017-07-20 01:29:01 +00:00
asan_interceptors_memintrinsics.cc [asan] Move memcpy, memmove, memset code out of asan_interceptors.cc 2017-07-20 01:29:01 +00:00
asan_interceptors_memintrinsics.h [asan] Move memcpy, memmove, memset code out of asan_interceptors.cc 2017-07-20 01:29:01 +00:00
asan_interface.inc [asan] Fix dead stripping of globals on Linux (compiler-rt). 2017-04-27 20:27:33 +00:00
asan_interface_internal.h [asan] Fix dead stripping of globals on Linux (compiler-rt). 2017-04-27 20:27:33 +00:00
asan_internal.h [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
asan_linux.cc [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
asan_lock.h
asan_mac.cc [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
asan_malloc_linux.cc [asan] Fix ASan internal failure in AllocateFromLocalPool 2017-06-09 07:47:38 +00:00
asan_malloc_mac.cc [ASan] Retire mac_ignore_invalid_free, remove some dead code. 2015-12-04 16:17:55 +00:00
asan_malloc_win.cc Fix -Wstring-conversion instance 2017-03-15 19:50:02 +00:00
asan_mapping.h [Asan] Eliminate SHADOW_TO_MEM() macro 2017-04-10 19:13:47 +00:00
asan_memory_profile.cc [asan] trying to fix the windows build 2017-03-15 23:53:12 +00:00
asan_new_delete.cc [asan] Fix -Winvalid-paste error with clang-cl 2017-07-06 21:51:32 +00:00
asan_poisoning.cc Release memory to OS only when the requested range covers the entire page 2016-11-30 20:41:59 +00:00
asan_poisoning.h Release memory to OS only when the requested range covers the entire page 2016-11-30 20:41:59 +00:00
asan_posix.cc fix trivial typos in comments; NFC 2017-07-05 05:43:31 +00:00
asan_preinit.cc [asan] Revert r221882. 2014-11-14 13:02:28 +00:00
asan_report.cc [sanitizer_common] Move filesystem-related code out of sanitizer_common.cc 2017-07-22 01:46:40 +00:00
asan_report.h [asan] Support line numbers in StackVarDescr 2017-03-30 00:41:09 +00:00
asan_rtl.cc [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
asan_scariness_score.h Split ScarinessScore between its "storage" (POD), and an initializing object. 2016-08-30 17:08:47 +00:00
asan_stack.cc [ASan] Allow to atomically modify malloc_context_size at runtime. 2014-12-16 01:23:03 +00:00
asan_stack.h [LSAN] Fix test swapcontext.cc on MIPS 2016-05-18 06:09:26 +00:00
asan_stats.cc [ASan] Clean up obsolete stats. 2015-06-26 19:18:02 +00:00
asan_stats.h [ASan] Clean up obsolete stats. 2015-06-26 19:18:02 +00:00
asan_suppressions.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
asan_suppressions.h [asan] add suppressions for odr violations 2015-02-25 00:49:12 +00:00
asan_thread.cc [asan] Remove check for stack size 2017-07-05 06:54:43 +00:00
asan_thread.h [sanitizer] Introduce tid_t as a typedef for OS-provided thread IDs 2017-04-17 18:17:38 +00:00
asan_win.cc [asan] For iOS/AArch64, if the dynamic shadow doesn't fit, restrict the VM space 2017-07-12 23:29:21 +00:00
asan_win_dll_thunk.cc Fix WinASan after moving wcslen interceptor to sanitizer_common 2017-06-29 17:15:53 +00:00
asan_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
asan_win_weak_interception.cc [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
weak_symbols.txt Add lsan interceptors for libdispatch functions on darwin 2017-06-19 19:21:31 +00:00

README.txt

AddressSanitizer RT
================================
This directory contains sources of the AddressSanitizer (ASan) runtime library.

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 various sanitizers.

ASan runtime currently also embeds part of LeakSanitizer runtime for
leak detection (lib/lsan/lsan_common.{cc,h}).

ASan runtime can only be built by CMake. You can run ASan tests
from the root of your CMake build tree:

make check-asan

For more instructions see:
https://github.com/google/sanitizers/wiki/AddressSanitizerHowToBuild