llvm-project/compiler-rt/lib/asan
Julian Lettner 91c166cbb0 [Sanitizer] Reland "Cleanup INTERCEPT_FUNCTION macro"
On Linux both version of the INTERCEPT_FUNCTION macro now return true
when interception was successful. Adapt and cleanup some usages.

Also note that `&(func) == &WRAP(func)` is a link-time property, but we
do a runtime check.

Tested on Linux and macOS.

Previous attempt reverted by: 5642c3feb0

This attempt to bring order to the interceptor macro goes the other
direction and aligns the Linux implementation with the way things are
done on Windows.

Reviewed By: vitalybuka, rnk

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

llvm-svn: 359725
2019-05-01 20:57:59 +00:00
..
scripts [asan_symbolize] Teach `asan_symbolize.py` to symbolicate using a module map 2019-04-26 16:54:09 +00:00
tests Remove ASan asm instrumentation. 2019-03-11 21:50:10 +00:00
.clang-format [sanitizer] Remove unneeded blank lines 2018-05-09 00:44:26 +00:00
CMakeLists.txt [sanitizer] Fix compilation errors in r355030. 2019-02-27 22:23:51 +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 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_activation.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_activation_flags.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_allocator.cc [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
asan_allocator.h [sanitizer][NFC] Set LargeMmapAllocator type from PrimaryAllocator 2019-05-01 19:41:54 +00:00
asan_blacklist.txt
asan_debugging.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_descriptions.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_descriptions.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_errors.cc [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
asan_errors.h [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
asan_fake_stack.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_fake_stack.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_flags.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_flags.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_flags.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_fuchsia.cc sanitizers: Introduce ThreadType enum 2019-02-07 11:01:22 +00:00
asan_globals.cc AddressSanitizer: fix for SPARC with GCC 2019-03-12 21:02:15 +00:00
asan_globals_win.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_init_version.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_interceptors.cc [sanitizer] Fix compilation errors in r355030. 2019-02-27 22:23:51 +00:00
asan_interceptors.h [Sanitizer] Reland "Cleanup INTERCEPT_FUNCTION macro" 2019-05-01 20:57:59 +00:00
asan_interceptors_memintrinsics.cc Revert "[sanitizer] Fix return type of __bzero and __aeabi_mem* interceptors." 2019-03-02 01:33:52 +00:00
asan_interceptors_memintrinsics.h Revert "[sanitizer] Fix return type of __bzero and __aeabi_mem* interceptors." 2019-03-02 01:33:52 +00:00
asan_interceptors_vfork.S [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
asan_interface.inc [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
asan_interface_internal.h [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
asan_internal.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_linux.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_lock.h
asan_mac.cc sanitizers: Introduce ThreadType enum 2019-02-07 11:01:22 +00:00
asan_malloc_linux.cc [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
asan_malloc_local.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_malloc_mac.cc [ASan] On Darwin record global allocator pointer and size in introspection struct. 2019-01-21 01:41:12 +00:00
asan_malloc_win.cc Fix FIXME added in r359339 2019-04-29 20:44:26 +00:00
asan_mapping.h AddressSanitizer: 64-bit SPARC/Linux port 2019-03-12 21:02:24 +00:00
asan_mapping_myriad.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_mapping_sparc64.h AddressSanitizer: 64-bit SPARC/Linux port 2019-03-12 21:02:24 +00:00
asan_memory_profile.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_new_delete.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_poisoning.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_poisoning.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_posix.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_preinit.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_premap_shadow.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_premap_shadow.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_report.cc [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
asan_report.h [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
asan_rtems.cc sanitizers: Introduce ThreadType enum 2019-02-07 11:01:22 +00:00
asan_rtl.cc [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
asan_scariness_score.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_shadow_setup.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_stack.cc [NFC] Simplify BufferedStackTrace::UnwindImpl 2019-03-05 05:52:34 +00:00
asan_stack.h [NFC][Sanitizer] Add new BufferedStackTrace::Unwind API 2019-03-01 04:03:38 +00:00
asan_stats.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_stats.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_suppressions.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_suppressions.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_thread.cc sanitizers: Introduce ThreadType enum 2019-02-07 11:01:22 +00:00
asan_thread.h [NFC] Move ScopedUnwinding from .h to .cc 2019-03-05 04:36:56 +00:00
asan_win.cc Fix FIXME added in r359339 2019-04-29 20:44:26 +00:00
asan_win_dll_thunk.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_win_dynamic_runtime_thunk.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan_win_weak_interception.cc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
weak_symbols.txt Add lsan interceptors for libdispatch functions on darwin 2017-06-19 19:21:31 +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