diff options
| -rw-r--r-- | compiler-rt/lib/asan/asan_rtl.cc | 10 | ||||
| -rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_rtl.cc | 3 |
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) { |

