Reland "[ASan] Use debuginfo for symbolization."
authorMitch Phillips <31459023+hctim@users.noreply.github.com>
Thu, 16 Jun 2022 17:23:26 +0000 (10:23 -0700)
committerMitch Phillips <31459023+hctim@users.noreply.github.com>
Thu, 16 Jun 2022 20:58:55 +0000 (13:58 -0700)
commit13e9c1d18e2e97f643353d38b3b58858a5a823d9
treed9262f0885e70055c88df63b87e64d6a31b7587e
parent46fcdf23640ebb76271f91720583b0df6bed4481
Reland "[ASan] Use debuginfo for symbolization."

This reverts commit 99796d06dbe11c8f81376ad1d42e7f17d2eff6ae.

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
compiler-rt/lib/asan/asan_globals.cpp
compiler-rt/lib/asan/asan_interface_internal.h
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cpp
compiler-rt/test/asan/TestCases/global-location-nodebug.cpp [new file with mode: 0644]
compiler-rt/test/asan/TestCases/global-location.cpp