llvm-project/compiler-rt/lib/asan
Julian Lettner 19c4d660f4 [ASan] Use dynamic shadow on 32-bit iOS and simulators
The VM layout on iOS is not stable between releases. On 64-bit iOS and
its derivatives we use a dynamic shadow offset that enables ASan to
search for a valid location for the shadow heap on process launch rather
than hardcode it.

This commit extends that approach for 32-bit iOS plus derivatives and
their simulators.

rdar://50645192
rdar://51200372
rdar://51767702

Reviewed By: delcypher

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

llvm-svn: 364105
2019-06-21 21:01:39 +00:00
..
scripts [asan_symbolize] Teach `asan_symbolize.py` to symbolicate partially symbolicated ASan reports. 2019-06-18 01:21:16 +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.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 [asan] clang-format parent patch 2019-05-21 20:24:42 +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 Improve error message when '=' is missing in {ASAN,...}_OPTIONS. 2019-06-15 01:37:14 +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 [asan] Avoid two compiler-synthesized calls to memset & memcpy 2019-06-21 16:15:09 +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 Fix some gcc warnings in compiler-rt 2019-05-10 14:15:13 +00:00
asan_interceptors.h [sanitizer] Don't generate "failed to intercept" constants for each function 2019-05-16 23:46:15 +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 [asan] Fix debug asan build link error 2019-05-22 20:29:12 +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 [ASan] Use dynamic shadow on 32-bit iOS and simulators 2019-06-21 21:01:39 +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 [asan] Fix debug asan build link error 2019-05-22 20:29:12 +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 [asan] Replace assignments with internal_memcpy ErrorDescription 2019-05-21 20:23:10 +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