[compiler-rt] Revert "lsan: Support free_sized and free_aligned_sized from C23" (PR #144575)

Justin King via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 17 11:01:31 PDT 2025


https://github.com/jcking created https://github.com/llvm/llvm-project/pull/144575

Reverts llvm/llvm-project#144415

Need to update approach to handle Apple platforms gracefully.

>From 52e6a61fc662bf41d2b9341f7adbd5900643ef9c Mon Sep 17 00:00:00 2001
From: Justin King <jcking at wulver.com>
Date: Tue, 17 Jun 2025 11:00:51 -0700
Subject: [PATCH] Revert "lsan: Support free_sized and free_aligned_sized from
 C23 (#144415)"

This reverts commit 95418bc8a8fd765d5e60e0c8ac7f8b77d2c15ef2.
---
 compiler-rt/lib/lsan/lsan_allocator.cpp       |  4 ----
 compiler-rt/lib/lsan/lsan_allocator.h         |  2 --
 compiler-rt/lib/lsan/lsan_interceptors.cpp    | 18 ---------------
 compiler-rt/lib/lsan/lsan_malloc_mac.cpp      | 23 ++++++++-----------
 .../sanitizer_common/sanitizer_malloc_mac.inc | 15 ------------
 5 files changed, 10 insertions(+), 52 deletions(-)

diff --git a/compiler-rt/lib/lsan/lsan_allocator.cpp b/compiler-rt/lib/lsan/lsan_allocator.cpp
index a436d9c07ac6c..493bf5f9efc57 100644
--- a/compiler-rt/lib/lsan/lsan_allocator.cpp
+++ b/compiler-rt/lib/lsan/lsan_allocator.cpp
@@ -220,10 +220,6 @@ void lsan_free(void *p) {
   Deallocate(p);
 }
 
-void lsan_free_sized(void *p, uptr) { Deallocate(p); }
-
-void lsan_free_aligned_sized(void *p, uptr, uptr) { Deallocate(p); }
-
 void *lsan_realloc(void *p, uptr size, const StackTrace &stack) {
   return SetErrnoOnNull(Reallocate(stack, p, size, 1));
 }
diff --git a/compiler-rt/lib/lsan/lsan_allocator.h b/compiler-rt/lib/lsan/lsan_allocator.h
index 2342f11fb5d0d..5eed0cbdb309b 100644
--- a/compiler-rt/lib/lsan/lsan_allocator.h
+++ b/compiler-rt/lib/lsan/lsan_allocator.h
@@ -127,8 +127,6 @@ void *lsan_aligned_alloc(uptr alignment, uptr size, const StackTrace &stack);
 void *lsan_memalign(uptr alignment, uptr size, const StackTrace &stack);
 void *lsan_malloc(uptr size, const StackTrace &stack);
 void lsan_free(void *p);
-void lsan_free_sized(void *p, uptr size);
-void lsan_free_aligned_sized(void *p, uptr alignment, uptr size);
 void *lsan_realloc(void *p, uptr size, const StackTrace &stack);
 void *lsan_reallocarray(void *p, uptr nmemb, uptr size,
                         const StackTrace &stack);
diff --git a/compiler-rt/lib/lsan/lsan_interceptors.cpp b/compiler-rt/lib/lsan/lsan_interceptors.cpp
index 8e33130840e92..a8252cddacf25 100644
--- a/compiler-rt/lib/lsan/lsan_interceptors.cpp
+++ b/compiler-rt/lib/lsan/lsan_interceptors.cpp
@@ -84,24 +84,6 @@ INTERCEPTOR(void, free, void *p) {
   lsan_free(p);
 }
 
-INTERCEPTOR(void, free_sized, void *p, uptr size) {
-  if (UNLIKELY(!p))
-    return;
-  if (DlsymAlloc::PointerIsMine(p))
-    return DlsymAlloc::Free(p);
-  ENSURE_LSAN_INITED;
-  lsan_free_sized(p, size);
-}
-
-INTERCEPTOR(void, free_aligned_sized, void *p, uptr alignment, uptr size) {
-  if (UNLIKELY(!p))
-    return;
-  if (DlsymAlloc::PointerIsMine(p))
-    return DlsymAlloc::Free(p);
-  ENSURE_LSAN_INITED;
-  lsan_free_aligned_sized(p, alignment, size);
-}
-
 INTERCEPTOR(void*, calloc, uptr nmemb, uptr size) {
   if (DlsymAlloc::Use())
     return DlsymAlloc::Callocate(nmemb, size);
diff --git a/compiler-rt/lib/lsan/lsan_malloc_mac.cpp b/compiler-rt/lib/lsan/lsan_malloc_mac.cpp
index 8a16c053da238..525c30272ccca 100644
--- a/compiler-rt/lib/lsan/lsan_malloc_mac.cpp
+++ b/compiler-rt/lib/lsan/lsan_malloc_mac.cpp
@@ -44,19 +44,16 @@ using namespace __lsan;
   void *p = lsan_valloc(size, stack)
 #define COMMON_MALLOC_FREE(ptr) \
   lsan_free(ptr)
-#  define COMMON_MALLOC_FREE_SIZED(ptr, size) lsan_free_sized(ptr, size)
-#  define COMMON_MALLOC_FREE_ALIGNED_SIZED(ptr, alignment, size) \
-    lsan_free_aligned_sized(ptr, alignment, size)
-#  define COMMON_MALLOC_SIZE(ptr) uptr size = lsan_mz_size(ptr)
-#  define COMMON_MALLOC_FILL_STATS(zone, stats)
-#  define COMMON_MALLOC_REPORT_UNKNOWN_REALLOC(ptr, zone_ptr, zone_name)    \
-    (void)zone_name;                                                        \
-    Report("mz_realloc(%p) -- attempting to realloc unallocated memory.\n", \
-           ptr);
-#  define COMMON_MALLOC_NAMESPACE __lsan
-#  define COMMON_MALLOC_HAS_ZONE_ENUMERATOR 0
-#  define COMMON_MALLOC_HAS_EXTRA_INTROSPECTION_INIT 0
+#define COMMON_MALLOC_SIZE(ptr) \
+  uptr size = lsan_mz_size(ptr)
+#define COMMON_MALLOC_FILL_STATS(zone, stats)
+#define COMMON_MALLOC_REPORT_UNKNOWN_REALLOC(ptr, zone_ptr, zone_name) \
+  (void)zone_name; \
+  Report("mz_realloc(%p) -- attempting to realloc unallocated memory.\n", ptr);
+#define COMMON_MALLOC_NAMESPACE __lsan
+#define COMMON_MALLOC_HAS_ZONE_ENUMERATOR 0
+#define COMMON_MALLOC_HAS_EXTRA_INTROSPECTION_INIT 0
 
-#  include "sanitizer_common/sanitizer_malloc_mac.inc"
+#include "sanitizer_common/sanitizer_malloc_mac.inc"
 
 #endif // SANITIZER_APPLE
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc b/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
index 72ad22999b5a4..6343eb284afbf 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
@@ -144,21 +144,6 @@ INTERCEPTOR(void, free, void *ptr) {
   COMMON_MALLOC_FREE(ptr);
 }
 
-#ifdef COMMON_MALLOC_FREE_SIZED
-INTERCEPTOR(void, free_sized, void *ptr, size_t size) {
-  COMMON_MALLOC_ENTER();
-  COMMON_MALLOC_FREE_SIZED(ptr, size);
-}
-#endif
-
-#ifdef COMMON_MALLOC_FREE_ALIGNED_SIZED
-INTERCEPTOR(void, free_aligned_sized, void *ptr, size_t alignment,
-            size_t size) {
-  COMMON_MALLOC_ENTER();
-  COMMON_MALLOC_FREE_ALIGNED_SIZED(ptr, alignment, size);
-}
-#endif
-
 INTERCEPTOR(void *, realloc, void *ptr, size_t size) {
   COMMON_MALLOC_ENTER();
   COMMON_MALLOC_REALLOC(ptr, size);



More information about the llvm-commits mailing list