diff options
-rw-r--r-- | compiler-rt/lib/asan/asan_suppressions.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler-rt/lib/asan/asan_suppressions.cc b/compiler-rt/lib/asan/asan_suppressions.cc index 3f76e20..6912c6a 100644 --- a/compiler-rt/lib/asan/asan_suppressions.cc +++ b/compiler-rt/lib/asan/asan_suppressions.cc @@ -31,23 +31,22 @@ static const char *kSuppressionTypes[] = { kInterceptorName, kInterceptorViaFunction, kInterceptorViaLibrary, kODRViolation}; -extern "C" { #if SANITIZER_SUPPORTS_WEAK_HOOKS +extern "C" { SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE const char *__asan_default_suppressions(); -#else -// No week hooks, provide empty implementation. -const char *__asan_default_suppressions() { return ""; } -#endif // SANITIZER_SUPPORTS_WEAK_HOOKS } // extern "C" +#endif // SANITIZER_SUPPORTS_WEAK_HOOKS void InitializeSuppressions() { CHECK_EQ(nullptr, suppression_ctx); suppression_ctx = new (suppression_placeholder) // NOLINT SuppressionContext(kSuppressionTypes, ARRAY_SIZE(kSuppressionTypes)); suppression_ctx->ParseFromFile(flags()->suppressions); +#if SANITIZER_SUPPORTS_WEAK_HOOKS if (&__asan_default_suppressions) suppression_ctx->Parse(__asan_default_suppressions()); +#endif // SANITIZER_SUPPORTS_WEAK_HOOKS } bool IsInterceptorSuppressed(const char *interceptor_name) { |