diff --git a/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc b/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc index a58b9583d00a..12226064f5a4 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_symbolize.cc @@ -116,4 +116,11 @@ ReportLocation *SymbolizeData(uptr addr) { return ent; } +void SymbolizeFlush() { + if (!IsSymbolizerAvailable()) + return; + ScopedInSymbolizer in_symbolizer; + __sanitizer::FlushSymbolizer(); +} + } // namespace __tsan diff --git a/compiler-rt/lib/tsan/rtl/tsan_symbolize.h b/compiler-rt/lib/tsan/rtl/tsan_symbolize.h index 29193043cd70..7bc6123df57d 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_symbolize.h +++ b/compiler-rt/lib/tsan/rtl/tsan_symbolize.h @@ -20,6 +20,7 @@ namespace __tsan { ReportStack *SymbolizeCode(uptr addr); ReportLocation *SymbolizeData(uptr addr); +void SymbolizeFlush(); ReportStack *SymbolizeCodeAddr2Line(uptr addr);