[compiler-rt] [LSAN] Add extra suppressions on Apple Aarch64 (PR #117478)

Mads Marquart via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 24 03:43:44 PST 2024


https://github.com/madsmtm created https://github.com/llvm/llvm-project/pull/117478

- _fetchInitializingClassList for startup code in dyld.
- dyld4::RuntimeState::_instantiateTLVs for thread locals.

Fixes https://github.com/llvm/llvm-project/issues/115992.

>From 4a1855f5730a8807dede8bfcdb5d91156a0ccf6d Mon Sep 17 00:00:00 2001
From: Mads Marquart <mads at marquart.dk>
Date: Sun, 24 Nov 2024 12:28:18 +0100
Subject: [PATCH] [LSAN] Add extra suppressions on Apple Aarch64

- _fetchInitializingClassList for startup code in dyld.
- dyld4::RuntimeState::_instantiateTLVs for thread locals.
---
 compiler-rt/lib/lsan/lsan_common.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/compiler-rt/lib/lsan/lsan_common.cpp b/compiler-rt/lib/lsan/lsan_common.cpp
index 7ab9e4ff2ac9fd..56b943fa05b459 100644
--- a/compiler-rt/lib/lsan/lsan_common.cpp
+++ b/compiler-rt/lib/lsan/lsan_common.cpp
@@ -120,7 +120,14 @@ static const char kStdSuppressions[] =
 #  endif  // SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT
 #  if SANITIZER_APPLE
     // For Darwin and os_log/os_trace: https://reviews.llvm.org/D35173
+#   if SANITIZER_ARM64
+    // Apple Aarch64 leaks on startup in _fetchInitializingClassList and when
+    // using thread locals in dyld4::RuntimeState::_instantiateTLVs.
+    // See https://github.com/llvm/llvm-project/issues/115992.
+    "leak:*_os_trace*\nleak:*_fetchInitializingClassList*\nleak:*dyld4::RuntimeState::_instantiateTLVs*\n"
+#   else
     "leak:*_os_trace*\n"
+#   endif
 #  endif
     // TLS leak in some glibc versions, described in
     // https://sourceware.org/bugzilla/show_bug.cgi?id=12650.



More information about the llvm-commits mailing list