hanchenye-llvm-project/compiler-rt/lib/asan
Anna Zaks b17a5db2ee [asan] Reapply: Switch to using dynamic shadow offset on iOS
The VM layout is not stable between iOS version releases, so switch to dynamic shadow offset.

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

llvm-svn: 283375
2016-10-05 20:33:59 +00:00
..
scripts [asan] alloc_dealloc_mismatch=0 by default on Android. 2016-09-13 22:25:44 +00:00
tests [asan] Stop appending -lm, -pthread and other linker options on Darwin for ASan unit tests 2016-09-23 16:43:29 +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 [compiler-rt] Don't force ASAN_HAS_EXCEPTIONS to be true for all builds 2016-09-16 16:59:31 +00:00
README.txt [ASan] Fix the links to bugs and wikipages. 2015-12-04 17:37:40 +00:00
asan.syms.extra
asan_activation.cc [sanitizier] initializing common flags. 2016-03-21 20:53:20 +00:00
asan_activation.h
asan_activation_flags.inc
asan_allocator.cc Don't use internal symbolizer if we are in process of reporting Out-of-Memory. 2016-09-29 23:00:54 +00:00
asan_allocator.h [compiler-rt] Set asan win 64-bits to use dynamic address for memory allocator 2016-09-14 19:23:21 +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] Fix GlobalAddressDescription::Print() 2016-09-20 20:33:18 +00:00
asan_descriptions.h [asan] Reify ErrorGeneric 2016-09-21 20:18:18 +00:00
asan_errors.cc [asan] Reify ErrorGeneric 2016-09-21 20:18:18 +00:00
asan_errors.h [asan] Reify ErrorGeneric 2016-09-21 20:18:18 +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 [sanitizer] Add strchr* to the common interceptors 2016-03-21 21:36:17 +00:00
asan_flags.h
asan_flags.inc [asan] alloc_dealloc_mismatch=0 by default on Android. 2016-09-13 22:25:44 +00:00
asan_globals.cc asan: allow __asan_{before,after}_dynamic_init without registered globals 2016-09-05 12:22:56 +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 [compiler-rt] Fix CHECK coding style [NFC] 2016-08-03 15:47:40 +00:00
asan_interceptors.h [asan] Add __strdup interceptor. 2016-04-20 22:45:23 +00:00
asan_interface_internal.h [compiler-rt] Add support for the dynamic shadow allocation 2016-09-30 17:47:34 +00:00
asan_internal.h [asan] Reify ErrorDeadlySignal 2016-09-08 12:58:15 +00:00
asan_linux.cc [asan] Add exception handler to map memory on demand on Win64. 2016-07-11 21:40:59 +00:00
asan_lock.h
asan_mac.cc [asan] Add exception handler to map memory on demand on Win64. 2016-07-11 21:40:59 +00:00
asan_malloc_linux.cc [asan, msan] Fix reallocation logic when IsInDlsymAllocPool(ptr) is true. 2016-09-26 08:11:21 +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 [asan] Intercept all Heap* related imports from ucrtbase.dll 2016-03-24 20:19:48 +00:00
asan_mapping.h [asan] Reapply: Switch to using dynamic shadow offset on iOS 2016-10-05 20:33:59 +00:00
asan_memory_profile.cc [asan] minor fix in the asan memory profile 2016-08-23 18:13:51 +00:00
asan_new_delete.cc [asan] Add C++17 aligned new/delete entrypoints. Patch by Jakub Jelinek, see https://reviews.llvm.org/D24771 2016-09-20 21:27:10 +00:00
asan_poisoning.cc [asan] Remove runtime flag detect_stack_use_after_scope 2016-08-29 17:16:59 +00:00
asan_poisoning.h [asan] first attempt at releasing free-d memory back to the system using madvise. Requires quite some tuning. 2016-08-26 23:58:42 +00:00
asan_posix.cc [asan] Handle SIGBART signal description. (found by buildbot) 2016-09-08 13:28:26 +00:00
asan_preinit.cc
asan_report.cc [asan] Reify ErrorGeneric 2016-09-21 20:18:18 +00:00
asan_report.h [asan] Add a new AddressDescription structure, which can describe any type of address. 2016-09-09 20:43:20 +00:00
asan_rtl.cc [asan] When protect_shadow_gap=0, set up the shadow for the shadow gap. This is needed to support NVIDIA CUDA drivers. Unfortunately, I don't know how to test it properly with CUDA on a public build bot, so adding a test that emulates the CUDA behavior. 2016-10-04 23:39:58 +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_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 [scan-build] fix logic error warning emitted on compiler-rt code base 2016-05-02 19:07:20 +00:00
asan_suppressions.h
asan_thread.cc [ASAN] Pass previous stack information through __sanitizer_finish_switch_fiber 2016-09-28 12:28:16 +00:00
asan_thread.h [ASAN] Pass previous stack information through __sanitizer_finish_switch_fiber 2016-09-28 12:28:16 +00:00
asan_win.cc [compiler-rt] Add support for the dynamic shadow allocation 2016-09-30 17:47:34 +00:00
asan_win_dll_thunk.cc [sanitizer-coverage] remove stale code, second attempt after failed r282994 2016-10-04 04:18:30 +00:00
asan_win_dynamic_runtime_thunk.cc [compiler-rt] Add support for the dynamic shadow allocation 2016-09-30 17:47:34 +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