diff options
author | Alexey Samsonov <samsonov@google.com> | 2013-12-11 07:31:36 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2013-12-11 07:31:36 +0000 |
commit | 493d0cf9343c9b5dc7bd25e78112172ef8af058c (patch) | |
tree | b534f17f03735695a9726845f5ec287e0e497f73 | |
parent | 3708634597e2d25705ef7ee8cf71a3a7bff7a10b (diff) |
[TSan] Replace __tsan::OverrideFlags with __tsan::OnInitialize
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197014 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/tsan/rtl/tsan_flags.cc | 5 | ||||
-rw-r--r-- | lib/tsan/rtl/tsan_flags.h | 6 | ||||
-rw-r--r-- | lib/tsan/rtl/tsan_rtl.cc | 3 |
3 files changed, 3 insertions, 11 deletions
diff --git a/lib/tsan/rtl/tsan_flags.cc b/lib/tsan/rtl/tsan_flags.cc index a358c3b15..b739389ae 100644 --- a/lib/tsan/rtl/tsan_flags.cc +++ b/lib/tsan/rtl/tsan_flags.cc @@ -25,12 +25,8 @@ Flags *flags() { // Can be overriden in frontend. #ifdef TSAN_EXTERNAL_HOOKS -void OverrideFlags(Flags *f); extern "C" const char* __tsan_default_options(); #else -void WEAK OverrideFlags(Flags *f) { - (void)f; -} extern "C" const char *WEAK __tsan_default_options() { return ""; } @@ -95,7 +91,6 @@ void InitializeFlags(Flags *f, const char *env) { SetCommonFlagsDefaults(f); // Let a frontend override. - OverrideFlags(f); ParseFlags(f, __tsan_default_options()); ParseCommonFlagsFromString(f, __tsan_default_options()); // Override from command line. diff --git a/lib/tsan/rtl/tsan_flags.h b/lib/tsan/rtl/tsan_flags.h index 3916df3cc..6db0ab6ae 100644 --- a/lib/tsan/rtl/tsan_flags.h +++ b/lib/tsan/rtl/tsan_flags.h @@ -14,12 +14,6 @@ #ifndef TSAN_FLAGS_H #define TSAN_FLAGS_H -// ----------- ATTENTION ------------- -// ThreadSanitizer user may provide its implementation of weak -// symbol __tsan::OverrideFlags(__tsan::Flags). Therefore, this -// header may be included in the user code, and shouldn't include -// other headers from TSan or common sanitizer runtime. - #include "sanitizer_common/sanitizer_flags.h" namespace __tsan { diff --git a/lib/tsan/rtl/tsan_rtl.cc b/lib/tsan/rtl/tsan_rtl.cc index 7464467a5..db35a68ba 100644 --- a/lib/tsan/rtl/tsan_rtl.cc +++ b/lib/tsan/rtl/tsan_rtl.cc @@ -41,10 +41,12 @@ static char ctx_placeholder[sizeof(Context)] ALIGNED(64); // Can be overriden by a front-end. #ifdef TSAN_EXTERNAL_HOOKS bool OnFinalize(bool failed); +void OnInitialize(); #else bool WEAK OnFinalize(bool failed) { return failed; } +void WEAK OnInitialize() {} #endif static Context *ctx; @@ -231,6 +233,7 @@ void Initialize(ThreadState *thr) { InitializeShadowMemory(); #endif InitializeFlags(&ctx->flags, env); + OnInitialize(); // Setup correct file descriptor for error reports. __sanitizer_set_report_path(flags()->log_path); InitializeSuppressions(); |