llvm-project/compiler-rt/lib/asan
Filipe Cabecinhas 403423cb59 Start reifying error descriptions
Summary:
This commit sets up the infrastructure to use reified error
descriptions, and moves ReportStackOverflow to the new system.

After we convert all the errors, we'll be able to simplify ScopedInErrorReport
and remove the older debugging mechanism which had some errors partly reified
in some way. We'll be able to maintain the external API.

ScopedInErrorReport will be able to track one of the reified errors at a time.
The purpose of this is so we have its destructor actually print the error and
possibly interface with the debugger (will depend on the platform, of course).

Reviewers: kcc, samsonov, timurrrr

Subscribers: kubabrecka, llvm-commits

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

llvm-svn: 279862
2016-08-26 20:49:11 +00:00
..
scripts [asan] Workaround LD_PRELOAD bug in the Android linker. 2016-05-24 21:25:00 +00:00
tests [asan] Fix OOB_char on arm 32bit 2016-08-23 02:58:12 +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 Start reifying error descriptions 2016-08-26 20:49:11 +00:00
README.txt [ASan] Fix the links to bugs and wikipages. 2015-12-04 17:37:40 +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 [sanitizier] initializing common flags. 2016-03-21 20:53:20 +00:00
asan_activation.h [ASan] Change activation strategy. 2014-12-19 20:35:53 +00:00
asan_activation_flags.inc [asan] Allow changing verbosity in activation flags. 2015-01-20 13:21:20 +00:00
asan_allocator.cc [asan] minor fix in the asan memory profile 2016-08-23 18:13:51 +00:00
asan_allocator.h [sanitizer] enable random shuffling the memory chunks inside the allocator, under a flag. Set this flag for the scudo allocator, add a test. 2016-08-26 00:06:03 +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 Convert AsanLocateAddress to Get*AddressInformation functions. 2016-08-18 10:31:19 +00:00
asan_descriptions.cc Cleanup: Move the *AddressDescription printing code to Print() members inside those structs. 2016-08-19 13:07:23 +00:00
asan_descriptions.h [asan] remove unused kAsanHeapRightRedzoneMagic (NFC) 2016-08-25 22:49:35 +00:00
asan_errors.cc Start reifying error descriptions 2016-08-26 20:49:11 +00:00
asan_errors.h Start reifying error descriptions 2016-08-26 20:49:11 +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 [Sanitizer] Change InitializeFlags() signatures. NFC. 2015-02-12 00:36:42 +00:00
asan_flags.inc Add detect_stack_use_after_scope runtime flag 2016-07-19 18:11:08 +00:00
asan_globals.cc Split DescribeAddressIfGlobal between a function that gets all the information, and one that prints it. 2016-08-17 19:52:12 +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 [asan] Add __asan_set_shadow_* 2016-08-18 00:56:11 +00:00
asan_internal.h [asan] remove unused kAsanHeapRightRedzoneMagic (NFC); part 2 (sorry) 2016-08-25 22:51:26 +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] Fix asan initialization failure with newer (2.23+) glibc in use. 2016-05-16 07:20:53 +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 Change the shadow memory address for win64. 2016-06-21 15:11:24 +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] Export new and delete operators on Windows 2016-03-23 20:45:52 +00:00
asan_poisoning.cc [asan] Add __asan_set_shadow_* 2016-08-18 00:56:11 +00:00
asan_poisoning.h Add descriptive names to sanitizer entries in /proc/self/maps. Helps debugging. 2015-05-29 22:31:28 +00:00
asan_posix.cc [sanitizers] introduce __sanitizer_set_report_fd so that we can re-route the sanitizer logging to another fd from inside the process 2016-05-27 21:23:05 +00:00
asan_preinit.cc [asan] Revert r221882. 2014-11-14 13:02:28 +00:00
asan_report.cc Start reifying error descriptions 2016-08-26 20:49:11 +00:00
asan_report.h Split DescribeAddressIfGlobal between a function that gets all the information, and one that prints it. 2016-08-17 19:52:12 +00:00
asan_rtl.cc [asan] Add __asan_set_shadow_* 2016-08-18 00:56:11 +00:00
asan_scariness_score.h [asan] fix the Windows build (MSVC says: cannot specify explicit initializer for arrays) 2016-02-08 19:33:36 +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 [scan-build] fix logic error warning emitted on compiler-rt code base 2016-05-02 19:07:20 +00:00
asan_suppressions.h [asan] add suppressions for odr violations 2015-02-25 00:49:12 +00:00
asan_thread.cc [asan] add primitives that allow coroutine implementations 2016-06-21 12:29:18 +00:00
asan_thread.h [asan] add primitives that allow coroutine implementations 2016-06-21 12:29:18 +00:00
asan_win.cc Fix two tests in Win64 ASan 2016-08-05 21:47:46 +00:00
asan_win_dll_thunk.cc [asan] fix windows bot 2016-08-25 21:45:18 +00:00
asan_win_dynamic_runtime_thunk.cc fix comments typos [NFC] 2016-08-02 20:07:49 +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