llvm-project/compiler-rt/lib/asan
Filipe Cabecinhas 74f490d331 [asan] Ease dealing with tagged enum ErrorDescription with some macros.
Summary:
Added a macro to enumerate the (error name, error member name) pairs. This way,
when adding an error, we only need to add the pair to one place (plus add its
implementation, or course).

Reviewers: kcc, samsonov

Subscribers: llvm-commits, kubabrecka

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

llvm-svn: 281237
2016-09-12 17:12:02 +00:00
..
scripts [asan] Workaround LD_PRELOAD bug in the Android linker. 2016-05-24 21:25:00 +00:00
tests [powerpc] Move #if to appease warnings-as-errors tests 2016-09-08 18:09:47 +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] Allow sanitizers to be compiled for windows with clang 2016-09-07 21:03:22 +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] Reify ErrorNewDeleteSizeMismatch 2016-09-07 14:20:54 +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 [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] Store access_size in the {Stack,Global}AddressDescription objects 2016-09-09 21:09:06 +00:00
asan_descriptions.h [asan] Store access_size in the {Stack,Global}AddressDescription objects 2016-09-09 21:09:06 +00:00
asan_errors.cc [asan] Reify ErrorDeadlySignal 2016-09-08 12:58:15 +00:00
asan_errors.h [asan] Ease dealing with tagged enum ErrorDescription with some macros. 2016-09-12 17:12:02 +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 [asan] Remove runtime flag detect_stack_use_after_scope 2016-08-29 17:16:59 +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 [asan] Remove runtime flag detect_stack_use_after_scope 2016-08-29 17:16:59 +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] 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] 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] Revert r221882. 2014-11-14 13:02:28 +00:00
asan_report.cc [asan] Cleanup: Move tid into ErrorBase, add const to BufferedStackTrace, be consistent in constructor arguments and member order. 2016-09-12 17:10:44 +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] Remove runtime flag detect_stack_use_after_scope 2016-08-29 17:16:59 +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 [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] Fix a crash in GetCurrentThread() before init. 2016-09-07 22:57:06 +00:00
asan_thread.h [asan] add primitives that allow coroutine implementations 2016-06-21 12:29:18 +00:00
asan_win.cc [asan] Reify ErrorDeadlySignal 2016-09-08 12:58:15 +00:00
asan_win_dll_thunk.cc Fix dll_host.cc test after adding div and gep trace coverage points 2016-09-01 18:08:05 +00:00
asan_win_dynamic_runtime_thunk.cc [asan] Remove runtime flag detect_stack_use_after_scope 2016-08-29 17:16:59 +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