llvm-project/compiler-rt/lib/asan
Saleem Abdulrasool 8a450fb140 build: repair cross-compilation with clang
When building for Windows, we would check if we were using MSVC rather
than WIN32.  This resulted in needed targets not being defined by
sanitizer_common.  Fix the conditional.

When registering the objects libraries for ASAN, we would multiply
register for all targets as we were creating them inside a loop over all
architectures.  Only define the target per architecture.

llvm-svn: 294510
2017-02-08 20:43:39 +00:00
..
scripts asan_symbolize.py: [Py3] Get rid of "print" statement. Use print() or write() instead. 2017-02-08 14:07:39 +00:00
tests [asan] Remove `using std::vector` and `using std::map` 2017-02-06 17:28:05 +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 build: repair cross-compilation with clang 2017-02-08 20:43: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 ASAN activate/deactive controls thread_local_quarantine_size_kb option. 2017-01-12 18:51:25 +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 General definition for weak functions 2017-01-29 05:44:59 +00:00
asan_allocator.h Improved ASAN allocator and quarantine stats. 2017-01-05 22:17:53 +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] 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 [sanitizer] Move DescribeSignalOrException to sanitizer_common. 2017-02-02 23:01:59 +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 General definition for weak functions 2017-01-29 05:44:59 +00:00
asan_flags.h [Sanitizer] Change InitializeFlags() signatures. NFC. 2015-02-12 00:36:42 +00:00
asan_flags.inc Expose thread local quarantine size as ASAN option. 2016-12-22 21:43:22 +00:00
asan_globals.cc [asan/win] Skip incremental linker padding during unregistration 2016-11-23 18:28:04 +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 [compiler-rt] Move logic which replace memcpy interceptor with memmove from asan to sanitizer_common. 2016-12-27 21:13:11 +00:00
asan_interceptors.h [asan] Add __strdup interceptor. 2016-04-20 22:45:23 +00:00
asan_interface.inc [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
asan_interface_internal.h [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
asan_internal.h [sanitizer] Move DescribeSignalOrException to sanitizer_common. 2017-02-02 23:01:59 +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 [tsan] Properly describe GCD worker threads in reports 2017-02-02 12:54:21 +00:00
asan_malloc_linux.cc Recommit: Stop intercepting some malloc-related functions on FreeBSD and 2017-01-30 19:06:13 +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 Recommit: Stop intercepting some malloc-related functions on FreeBSD and 2017-01-30 19:06:13 +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 Improved ASAN allocator and quarantine stats. 2017-01-05 22:17:53 +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 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 [sanitizer] Move DescribeSignalOrException to sanitizer_common. 2017-02-02 23:01:59 +00:00
asan_preinit.cc [asan] Revert r221882. 2014-11-14 13:02:28 +00:00
asan_report.cc General definition for weak functions 2017-01-29 05:44:59 +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 [sanitizer] Add a 'print_module_map' flag which prints modules with UUIDs on Darwin 2017-01-06 20:57:47 +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 [tsan] Properly describe GCD worker threads in reports 2017-02-02 12:54:21 +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 [asan] Intercept SetUnhandledExceptionFilter. 2017-02-02 23:02:04 +00:00
asan_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +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 Enable weak hooks on darwin 2017-01-09 03:51:42 +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