llvm-project/compiler-rt/lib/asan
Anna Zaks 8d225205e3 [asan] Fix the deadlocks introduced by "On OS X, log reports to syslog and os_trace" commit
[asan] On OS X, log reports to syslog and os_trace, has been reverted in r252076 due to deadlocks on earlier versions of OS X. Alexey has also noticed deadlocks in some corner cases on Linux. This patch, if applied on top of the logging patch (http://reviews.llvm.org/D13452), addresses the known deadlock issues.

(This also proactively removes the color escape sequences from the error report buffer since we have to copy the buffer anyway.)

Differential Revision: http://reviews.llvm.org/D14470

llvm-svn: 253689
2015-11-20 18:42:01 +00:00
..
scripts [asan] Fix asan_device_setup script on KitKat. 2015-10-28 22:55:12 +00:00
tests Reapply: [asan] On OS X, log reports to syslog and os_trace 2015-11-20 18:41:44 +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 [CMake] Unify build rules for sanitizer_common for Apple and non-Apple platforms. 2015-08-27 22:23:27 +00:00
Makefile.mk Revert "Remove support for building sanitizers from Makefile/autoconf build." 2015-02-17 23:30:51 +00:00
README.txt Remove support for building sanitizers from Makefile/autoconf build on Linux. 2015-02-18 22:26:49 +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 [asan] Read process name from /proc/self/cmdline on Linux. 2015-07-28 20:27:51 +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 [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
asan_allocator.h [asan] Enable ASan for AArch64/42-bit VMA 2015-08-20 18:49:40 +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 [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
asan_fake_stack.cc [compiler-rt] Fix build (again) by wrapping lines to 80 chars (NFC) 2015-10-01 02:15:40 +00:00
asan_fake_stack.h Revert "Apply modernize-use-default to compiler-rt." 2015-10-30 18:52:31 +00:00
asan_flags.cc [Sanitizers] Unify the semantics and usage of "exitcode" runtime flag across all sanitizers. 2015-08-21 20:49:37 +00:00
asan_flags.h [Sanitizer] Change InitializeFlags() signatures. NFC. 2015-02-12 00:36:42 +00:00
asan_flags.inc [asan] add an experimental flag protect_shadow_gap. If set to false, the shadow gap will not be mprotect-ed and all hell may break loose. But this makes CUDA's cuInit() pass. 2015-11-14 00:50:23 +00:00
asan_globals.cc [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
asan_init_version.h [asan] Rename the ABI versioning symbol to '__asan_version_mismatch_check' instead of abusing '__asan_init' 2015-07-23 10:55:13 +00:00
asan_interceptors.cc [ASan] Enable optional ASan recovery. 2015-11-11 11:59:38 +00:00
asan_interceptors.h [asan] Versioned interceptor for pthread_create. 2015-09-22 21:34:44 +00:00
asan_interface_internal.h [ASan] Enable optional ASan recovery. 2015-11-11 11:59:38 +00:00
asan_internal.h [Sanitizers] Unify the semantics and usage of "exitcode" runtime flag across all sanitizers. 2015-08-21 20:49:37 +00:00
asan_linux.cc [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
asan_lock.h asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_mac.cc [asan] Sort headers. 2015-10-27 20:12:55 +00:00
asan_malloc_linux.cc [asan] Remove leftover debug printf. 2014-07-17 13:05:21 +00:00
asan_malloc_mac.cc [tsan] Use malloc zone interceptors on OS X, part 1 (refactoring) 2015-11-04 15:43:45 +00:00
asan_malloc_win.cc [msan] Remove MSanDR and supporting code. 2014-11-18 10:33:15 +00:00
asan_mapping.h [compiler-rt] [asan] Use same shadow offset for aarch64 2015-11-09 18:05:24 +00:00
asan_new_delete.cc -Wdeprecated: Use noexcept rather than throw() where supported 2015-08-10 15:24:22 +00:00
asan_poisoning.cc Asan: utility function to determine first wrongly poisoned byte in 2015-11-04 19:56:03 +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 [sanitizer] 2-nd attempt. Add the flag handle_sigfpe that is default true to handle SIGFPE crashes same as SIGSEV crashes, patch by Karl Skomski. This time the test is enabled only on x86-64 (it broke on ARM) 2015-08-06 17:52:54 +00:00
asan_preinit.cc [asan] Revert r221882. 2014-11-14 13:02:28 +00:00
asan_report.cc [asan] Fix the deadlocks introduced by "On OS X, log reports to syslog and os_trace" commit 2015-11-20 18:42:01 +00:00
asan_report.h [ASan] Enable optional ASan recovery. 2015-11-11 11:59:38 +00:00
asan_rtl.cc [asan] add an experimental flag protect_shadow_gap. If set to false, the shadow gap will not be mprotect-ed and all hell may break loose. But this makes CUDA's cuInit() pass. 2015-11-14 00:50:23 +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 [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +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 [sanitizer] use simpler symbolizer interface (GetModuleNameForPc) where applicable 2015-03-05 01:30:36 +00:00
asan_suppressions.h [asan] add suppressions for odr violations 2015-02-25 00:49:12 +00:00
asan_thread.cc [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
asan_thread.h [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
asan_win.cc Sanitizer: define WIN32_LEAN_AND_MEAN 2015-10-29 20:36:55 +00:00
asan_win_dll_thunk.cc [Windows] Add exports for dll_host test broken by r252071 and r251071 2015-11-11 19:34:01 +00:00
asan_win_dynamic_runtime_thunk.cc Sanitizer: define WIN32_LEAN_AND_MEAN 2015-10-29 20:36:55 +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:
http://code.google.com/p/address-sanitizer/wiki/HowToBuild