llvm-project/compiler-rt/lib/asan
Kuba Brecka bb39671516 [compiler-rt] Make MaybeReexec properly process DYLD_INSERT_LIBRARIES when using non-absolute paths
MaybeReexec() in asan_mac.cc checks for presence of the ASan dylib in DYLD_INSERT_LIBRARIES, and if it is there, it will process this env. var. and remove the dylib from its value, so that spawned children don't have this variable set. However, the current implementation only works when using a canonical absolute path to the dylib, it fails to remove the dylib for example when using @executable_path.

This patch changes the processing of DYLD_INSERT_LIBRARIES to comparing values only based on filenames (ignoring directories).

Reviewed at http://reviews.llvm.org/D7160

llvm-svn: 228392
2015-02-06 12:07:29 +00:00
..
scripts [asan] Add one more wait-for-device in the Android setup script. 2015-01-29 17:24:21 +00:00
tests Enabling testing ASAN on AArch64 2015-02-03 11:26:52 +00:00
CMakeLists.txt [compiler-rt] Ensure AsanInitFromRtl is called from a static initializer on OS X by using ASAN_DYNAMIC=1 2015-01-23 19:29:19 +00:00
Makefile.mk [ASan] Split static ASan runtime in two parts: asan and asan_cxx. 2014-05-12 18:39:22 +00:00
README.txt Moved the builtins documentation to lib/builtins/ 2014-05-28 23:09:45 +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] Allow changing verbosity in activation flags. 2015-01-20 13:21: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] add flag quarantine_size_mb, deprecate quarantine_size 2015-01-07 02:37:52 +00:00
asan_allocator.h [asan] add a flag soft_rss_limit_mb 2015-01-06 23:53:32 +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 [msan] Better use-after-free reports. 2015-01-22 13:33:16 +00:00
asan_fake_stack.cc [asan] Allow changing verbosity in activation flags. 2015-01-20 13:21:20 +00:00
asan_fake_stack.h [asan] introduce two functions that will allow implementations of C++ garbage colection to work with asan's fake stack 2014-02-06 06:56:22 +00:00
asan_flags.cc [asan] Allow changing verbosity in activation flags. 2015-01-20 13:21:20 +00:00
asan_flags.h [sanitizer] Flag parser rewrite. 2015-01-15 15:13:43 +00:00
asan_flags.inc [asan] add flag quarantine_size_mb, deprecate quarantine_size 2015-01-07 02:37:52 +00:00
asan_globals.cc [ASan] Introduce SetCanPoisonMemory() function. 2014-12-17 00:01:02 +00:00
asan_init_version.h [ASan] Change fake stack and local variables handling. 2014-12-11 21:53:19 +00:00
asan_interceptors.cc [Sanitizers] Introduce GET_LINK_MAP_BY_DLOPEN_HANDLE() macro 2015-01-30 12:43:52 +00:00
asan_interceptors.h [msan] Remove MSanDR and supporting code. 2014-11-18 10:33:15 +00:00
asan_interface_internal.h Revert "[ASan] Add the new __asan_mz_* symbols to asan_interface_internal.h" 2015-02-04 19:14:35 +00:00
asan_internal.h [asan] use MADV_NOHUGEPAGE for shadow to reduce the actual memory usage 2015-01-21 02:05:31 +00:00
asan_linux.cc Remove AsanInterceptsSignal in favor of (equivalent) IsDeadlySignal. 2015-01-09 23:03:31 +00:00
asan_lock.h
asan_mac.cc [compiler-rt] Make MaybeReexec properly process DYLD_INSERT_LIBRARIES when using non-absolute paths 2015-02-06 12:07:29 +00:00
asan_malloc_linux.cc [asan] Remove leftover debug printf. 2014-07-17 13:05:21 +00:00
asan_malloc_mac.cc Revert "[ASan] Add the new __asan_mz_* symbols to asan_interface_internal.h" 2015-02-04 19:14:35 +00:00
asan_malloc_win.cc [msan] Remove MSanDR and supporting code. 2014-11-18 10:33:15 +00:00
asan_mapping.h [asan][mips] Fix MIPS64 Asan mapping 2015-01-31 09:13:58 +00:00
asan_new_delete.cc [msan] Remove MSanDR and supporting code. 2014-11-18 10:33:15 +00:00
asan_poisoning.cc [asan] Allow changing verbosity in activation flags. 2015-01-20 13:21:20 +00:00
asan_poisoning.h [asan] use MADV_NOHUGEPAGE for shadow to reduce the actual memory usage 2015-01-21 02:05:31 +00:00
asan_posix.cc [Asan] Pack signal context into a structure 2014-11-25 13:00:21 +00:00
asan_preinit.cc [asan] Revert r221882. 2014-11-14 13:02:28 +00:00
asan_report.cc Replace code dup with a macro. 2015-01-30 06:18:46 +00:00
asan_report.h [Asan] Pack signal context into a structure 2014-11-25 13:00:21 +00:00
asan_rtl.cc [ASan] Add use_madv_dontdump flag. 2015-02-03 10:15:15 +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 [ASan] Allow to atomically modify malloc_context_size at runtime. 2014-12-16 01:23:03 +00:00
asan_stats.cc [Sanitizer] Kill deprecated allocator interfaces in ASan, MSan and TSan in favor of 2014-08-12 20:28:20 +00:00
asan_stats.h [ASan] Clarify that AsanThread objects are allocated only via mmap(). No functionality change. 2013-11-27 13:22:21 +00:00
asan_suppressions.cc Implement AddressSanitizer suppressions. 2014-12-05 20:26:09 +00:00
asan_suppressions.h Implement AddressSanitizer suppressions. 2014-12-05 20:26:09 +00:00
asan_thread.cc [ASan] Refactor thread starting code. 2014-12-05 17:31:13 +00:00
asan_thread.h [ASan] Refactor thread starting code. 2014-12-05 17:31:13 +00:00
asan_win.cc [Asan] Pack signal context into a structure 2014-11-25 13:00:21 +00:00
asan_win_dll_thunk.cc [msan] Remove MSanDR and supporting code. 2014-11-18 10:33:15 +00:00
asan_win_dynamic_runtime_thunk.cc [ASan/Win] Fix PR20918 -- SEH handler doesn't work with the MD runtime 2014-09-12 14:01:30 +00:00

README.txt

AddressSanitizer RT
================================
This directory contains sources of the AddressSanitizer (asan) runtime library.
We are in the process of integrating AddressSanitizer with LLVM, stay tuned.

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 ASan and TSan.

Currently ASan runtime can be built by both make and cmake build systems.
(see compiler-rt/make and files Makefile.mk for make-based build and
files CMakeLists.txt for cmake-based build).

ASan unit and output tests work only with cmake. You may run this
command from the root of your cmake build tree:

make check-asan

For more instructions see:
http://code.google.com/p/address-sanitizer/wiki/HowToBuild