llvm-project/compiler-rt/lib/asan
Mitch Phillips 13e9c1d18e Reland "[ASan] Use debuginfo for symbolization."
This reverts commit 99796d06db.

Hint: Looking here because your manual invocation of something in
'check-asan' broke? You need a new symbolizer (after D123538).

An upcoming patch will remove the internal metadata for global
variables. With D123534 and D123538, clang now emits DWARF debug info
for constant strings (the only global variable type it was missing), and
llvm-symbolizer is now able to symbolize all global variable addresses
(where previously it wouldn't give you the file:line information).

Move ASan's runtime over from the internal metadata to DWARF.

Differential Revision: https://reviews.llvm.org/D127552
2022-06-16 13:58:55 -07:00
..
scripts [compiler-rt] Use portable "#!/usr/bin/env bash" shebang for tests. 2021-09-24 19:10:07 +05:30
tests [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
.clang-format Revert "sanitizers: increase .clang-format columns to 100" 2021-07-28 09:40:21 +02:00
CMakeLists.txt [ASan] Reland of D116182 to always link asan_static library. 2022-03-24 19:32:23 +00:00
README.txt
asan.syms.extra
asan_activation.cpp [ASan] Renamed SHADOW_XYZ to ASAN_SHADOW_XYZ. 2021-12-08 00:22:56 +00:00
asan_activation.h
asan_activation_flags.inc
asan_allocator.cpp [NFC][sanitizer] Consolidate malloc hook invocations 2022-04-12 20:08:29 -07:00
asan_allocator.h Revert "Reland "[NFC][compiler-rt][asan] Unify asan and lsan allocator settings"" 2022-06-08 11:56:33 -07:00
asan_debugging.cpp [ASan] Renamed SHADOW_XYZ to ASAN_SHADOW_XYZ. 2021-12-08 00:22:56 +00:00
asan_descriptions.cpp Fix -Wformat warnings reported by GCC. 2021-11-04 08:51:43 +01:00
asan_descriptions.h Revert "Revert "[compiler-rt][asan] Make wild-pointer crash error more useful"" 2021-03-12 11:35:50 -05:00
asan_errors.cpp [compiler-rt][sanitizer] Have all OOM-related error messages start with the same format 2022-06-07 16:46:01 -07:00
asan_errors.h [PATCH] ASAN: Align declaration with definition of a fn 2022-02-23 11:28:10 -08:00
asan_fake_stack.cpp [NFCI] Fix set-but-unused warning in asan_fake_stack.cpp 2022-03-23 15:45:09 -07:00
asan_fake_stack.h
asan_flags.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_flags.h
asan_flags.inc [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_fuchsia.cpp [lsan] On Fuchsia, don't use atexit hook for leak checks 2022-03-29 17:13:55 -07:00
asan_globals.cpp Reland "[ASan] Use debuginfo for symbolization." 2022-06-16 13:58:55 -07:00
asan_globals_win.cpp
asan_ignorelist.txt [clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist= 2021-05-04 10:24:00 -04:00
asan_init_version.h
asan_interceptors.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_interceptors.h [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_interceptors_memintrinsics.cpp [asan] Remove Asan, Ubsan support of RTEMS and Myriad 2021-06-15 12:59:05 -07:00
asan_interceptors_memintrinsics.h
asan_interceptors_vfork.S [RISCV][ASAN] implementation for vfork interceptor for riscv64 2020-09-22 22:23:29 -07:00
asan_interface.inc [ASan] Reland of D116182 to always link asan_static library. 2022-03-24 19:32:23 +00:00
asan_interface_internal.h Reland "[ASan] Use debuginfo for symbolization." 2022-06-16 13:58:55 -07:00
asan_internal.h [NFC][sanitizer] Remove unnececary HOOK macros 2022-04-12 19:47:44 -07:00
asan_linux.cpp [asan] Always skip first object from dl_iterate_phdr 2022-04-07 22:35:24 -07:00
asan_lock.h
asan_mac.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_malloc_linux.cpp [sanitizer] Switch dlsym hack to internal_allocator 2021-11-12 16:11:10 -08:00
asan_malloc_mac.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_malloc_win.cpp
asan_mapping.h [compiler-rt] Add the FreeBSD AArch64 shadow offset 2022-06-08 17:22:16 -04:00
asan_mapping_sparc64.h [ASan] Missed some SHADOW_XYZ uses on non-Linux platforms. 2021-12-08 00:39:26 +00:00
asan_memory_profile.cpp
asan_new_delete.cpp [Sanitizers][Darwin] Replace SANITIZER_MAC with SANITIZER_APPLE in source files 2022-05-24 12:59:27 -07:00
asan_poisoning.cpp sanitizer_common: make internal/external headers compatible 2022-02-11 19:39:44 +01:00
asan_poisoning.h [ASan] Renamed SHADOW_XYZ to ASAN_SHADOW_XYZ. 2021-12-08 00:22:56 +00:00
asan_posix.cpp [lsan] On Fuchsia, don't use atexit hook for leak checks 2022-03-29 17:13:55 -07:00
asan_preinit.cpp
asan_premap_shadow.cpp [ASan] Missed some SHADOW_XYZ uses on non-Linux platforms. 2021-12-08 00:39:26 +00:00
asan_premap_shadow.h
asan_report.cpp sanitizer_common: make internal/external headers compatible 2022-02-11 19:39:44 +01:00
asan_report.h
asan_rtl.cpp [ASan] Add sleep_before_init flag 2022-05-19 20:41:43 -07:00
asan_rtl_static.cpp [ASan] Added intermediate functions between assembly and __asan_report.* to avoid link errors. 2022-02-03 00:31:27 +00:00
asan_rtl_x86_64.S [ASan] Reland of D116182 to always link asan_static library. 2022-03-24 19:32:23 +00:00
asan_scariness_score.h
asan_shadow_setup.cpp Fix -Wformat warnings reported by GCC. 2021-11-04 08:51:43 +01:00
asan_stack.cpp [sanitizer] Simplify __sanitizer::BufferedStackTrace::UnwindImpl implementations 2021-05-13 21:26:31 -07:00
asan_stack.h sanitizer_common: deduplicate CheckFailed 2021-05-12 08:50:53 +02:00
asan_stats.cpp [NFC][sanitizer] Return StackDepotStats by value 2021-09-28 15:42:21 -07:00
asan_stats.h
asan_suppressions.cpp
asan_suppressions.h
asan_thread.cpp [ASan] Fix TLS teardown. 2022-02-17 13:34:36 -08:00
asan_thread.h sanitizer_common: add simpler ThreadRegistry ctor 2021-07-13 22:52:25 -07:00
asan_win.cpp [lsan] On Fuchsia, don't use atexit hook for leak checks 2022-03-29 17:13:55 -07:00
asan_win_dll_thunk.cpp [compiler-rt] Silence warnings when building with MSVC 2022-01-11 10:36:57 -05:00
asan_win_dynamic_runtime_thunk.cpp
asan_win_weak_interception.cpp
weak_symbols.txt Revert "Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always)." 2021-06-05 00:39:50 -07: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