From 3106fc476c615d2f868db6e414ff4da4804dd3ff Mon Sep 17 00:00:00 2001 From: Alex Shlyapnikov Date: Thu, 20 Apr 2017 20:54:22 +0000 Subject: [PATCH] Define standard suppressions for LSan, start with this one. llvm-svn: 300887 --- compiler-rt/lib/lsan/lsan_common.cc | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/compiler-rt/lib/lsan/lsan_common.cc b/compiler-rt/lib/lsan/lsan_common.cc index d54f569..200f16a 100644 --- a/compiler-rt/lib/lsan/lsan_common.cc +++ b/compiler-rt/lib/lsan/lsan_common.cc @@ -68,6 +68,14 @@ ALIGNED(64) static char suppression_placeholder[sizeof(SuppressionContext)]; static SuppressionContext *suppression_ctx = nullptr; static const char kSuppressionLeak[] = "leak"; static const char *kSuppressionTypes[] = { kSuppressionLeak }; +static const char kStdSuppressions[] = +#if SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT + // The actual string allocation happens here (for more details refer to the + // SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT definition). + "leak:*_dl_map_object_deps*"; +#else + ""; +#endif // SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT void InitializeSuppressions() { CHECK_EQ(nullptr, suppression_ctx); @@ -76,6 +84,7 @@ void InitializeSuppressions() { suppression_ctx->ParseFromFile(flags()->suppressions); if (&__lsan_default_suppressions) suppression_ctx->Parse(__lsan_default_suppressions()); + suppression_ctx->Parse(kStdSuppressions); } static SuppressionContext *GetSuppressionContext() { @@ -848,13 +857,7 @@ int __lsan_is_turned_off() { SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE const char *__lsan_default_suppressions() { -#if SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT - // The actual string allocation happens here (for more details refer to the - // SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT definition). - return "leak:*_dl_map_object_deps*"; -#else return ""; -#endif // SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT } #endif } // extern "C" -- 2.7.4