summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/tsan/rtl/tsan_flags.cc5
-rw-r--r--lib/tsan/rtl/tsan_flags.h6
-rw-r--r--lib/tsan/rtl/tsan_rtl.cc3
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();