llvm-project/compiler-rt/lib/gwp_asan/tests
Mitch Phillips 27d69b2f4f [GWP-ASan] Split options_parser and backtrace_sanitizer_common.
Summary:
optional/options_parser and optional/backtrace_sanitizer_common are logically
separate components. They both use sanitizer-common to power their
functionality, but there was an unstated implicit dependency that in order for
backtrace_sanitizer_common to function correctly, one had to also use
options_parser.

This was because options_parser called __sanitizer::InitialiseCommonFlags. This
is a requirement for backtrace_sanitizer_common to work, as the sanitizer
unwinder uses the sanitizer_common flags and will SEGV on a null page if
they're not initialised correctly.

This patch removes this hidden dependency. You can now use
backtrace_sanitizer_common without the requirements of options_parser.

This patch also makes the GWP-ASan unit tests only have a soft dependency on
sanitizer-common. The unit tests previously explicitly used
__sanitizer::Printf, which is now provided under
tests/optional/printf_sanitizer_common. This allows Android to build the unit
tests using their own signal-safe printf().

Reviewers: eugenis

Reviewed By: eugenis

Subscribers: srhines, mgorny, #sanitizers, llvm-commits, vlad.tsyrklevich, morehouse

Tags: #sanitizers, #llvm

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

llvm-svn: 369825
2019-08-23 23:23:48 +00:00
..
optional [GWP-ASan] Split options_parser and backtrace_sanitizer_common. 2019-08-23 23:23:48 +00:00
CMakeLists.txt [GWP-ASan] Split options_parser and backtrace_sanitizer_common. 2019-08-23 23:23:48 +00:00
alignment.cpp Remove a few straggler ".cc"s in compiler-rt/lib 2019-08-01 17:53:25 +00:00
backtrace.cpp Remove a few straggler ".cc"s in compiler-rt/lib 2019-08-01 17:53:25 +00:00
basic.cpp Remove a few straggler ".cc"s in compiler-rt/lib 2019-08-01 17:53:25 +00:00
compression.cpp [GWP-ASan] Implement stack frame compression. 2019-08-15 21:09:09 +00:00
driver.cpp
harness.h [GWP-ASan] Split options_parser and backtrace_sanitizer_common. 2019-08-23 23:23:48 +00:00
mutex_test.cpp
slot_reuse.cpp Remove a few straggler ".cc"s in compiler-rt/lib 2019-08-01 17:53:25 +00:00
thread_contention.cpp Remove a few straggler ".cc"s in compiler-rt/lib 2019-08-01 17:53:25 +00:00