summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/lib/asan/asan_rtl.cc10
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_rtl.cc3
2 files changed, 9 insertions, 4 deletions
diff --git a/compiler-rt/lib/asan/asan_rtl.cc b/compiler-rt/lib/asan/asan_rtl.cc
index 575c22755c7..b289b55c0c2 100644
--- a/compiler-rt/lib/asan/asan_rtl.cc
+++ b/compiler-rt/lib/asan/asan_rtl.cc
@@ -553,8 +553,14 @@ static void AsanInitInternal() {
InitializeSuppressions();
- // TODO(kuba) Fix Me.
- // Symbolizer::LateInitialize();
+ {
+#if CAN_SANITIZE_LEAKS
+ // LateInitialize() calls dlsym, which can allocate an error string buffer
+ // in the TLS. Let's ignore the allocation to avoid reporting a leak.
+ __lsan::ScopedInterceptorDisabler disabler;
+#endif
+ Symbolizer::LateInitialize();
+ }
VReport(1, "AddressSanitizer Init done\n");
}
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.cc b/compiler-rt/lib/tsan/rtl/tsan_rtl.cc
index 03bda18c621..629871ef8f7 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.cc
@@ -371,8 +371,7 @@ void Initialize(ThreadState *thr) {
ctx->initialized = true;
#ifndef SANITIZER_GO
- // TODO(kuba) Fix Me.
- // Symbolizer::LateInitialize();
+ Symbolizer::LateInitialize();
#endif
if (flags()->stop_on_start) {
OpenPOWER on IntegriCloud