[compiler-rt] 418204d - Revert "[UBSan] [compiler-rt] add preservecc variants of handlers" (#168973)

via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 20 16:00:49 PST 2025


Author: Florian Mayer
Date: 2025-11-20T16:00:44-08:00
New Revision: 418204d9c108351340fe21194ace0e31157b7189

URL: https://github.com/llvm/llvm-project/commit/418204d9c108351340fe21194ace0e31157b7189
DIFF: https://github.com/llvm/llvm-project/commit/418204d9c108351340fe21194ace0e31157b7189.diff

LOG: Revert "[UBSan] [compiler-rt] add preservecc variants of handlers" (#168973)

Reverts llvm/llvm-project#168643

Added: 
    

Modified: 
    compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
    compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp b/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
index 0a2d6f35a539a..a2a2e36e8523d 100644
--- a/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
+++ b/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
@@ -89,17 +89,6 @@ SANITIZER_INTERFACE_WEAK_DEF(void, __ubsan_report_error, const char *kind,
   }
 }
 
-SANITIZER_INTERFACE_WEAK_DEF(void, __ubsan_report_error_preserve,
-                             const char *kind, uintptr_t caller,
-                             const uintptr_t *address)
-[[clang::preserve_all]] {
-  // Additional indirecton so the user can override this with their own
-  // preserve_all function. This would allow, e.g., a function that reports the
-  // first error only, so for all subsequent calls we can skip the register save
-  // / restore.
-  __ubsan_report_error(kind, caller, address);
-}
-
 SANITIZER_INTERFACE_WEAK_DEF(void, __ubsan_report_error_fatal, const char *kind,
                              uintptr_t caller, const uintptr_t *address) {
   // Use another handlers, in case it's already overriden.
@@ -141,10 +130,6 @@ void NORETURN CheckFailed(const char *file, int, const char *cond, u64, u64) {
 #define HANDLER_RECOVER(name, kind)                                            \
   INTERFACE void __ubsan_handle_##name##_minimal() {                           \
     __ubsan_report_error(kind, GET_CALLER_PC(), nullptr);                      \
-  }                                                                            \
-  INTERFACE void __ubsan_handle_##name##_minimal_preserve()                    \
-      [[clang::preserve_all]] {                                                \
-    __ubsan_report_error_preserve(kind, GET_CALLER_PC(), nullptr);             \
   }
 
 #define HANDLER_NORECOVER(name, kind)                                          \
@@ -161,10 +146,6 @@ void NORETURN CheckFailed(const char *file, int, const char *cond, u64, u64) {
 #define HANDLER_RECOVER_PTR(name, kind)                                        \
   INTERFACE void __ubsan_handle_##name##_minimal(const uintptr_t address) {    \
     __ubsan_report_error(kind, GET_CALLER_PC(), &address);                     \
-  }                                                                            \
-  INTERFACE void __ubsan_handle_##name##_minimal_preserve(                     \
-      const uintptr_t address) [[clang::preserve_all]] {                       \
-    __ubsan_report_error_preserve(kind, GET_CALLER_PC(), &address);            \
   }
 
 #define HANDLER_NORECOVER_PTR(name, kind)                                      \

diff  --git a/compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c b/compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c
index 3c76e5aadc087..abc1073e02073 100644
--- a/compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c
+++ b/compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c
@@ -4,7 +4,6 @@
 // REQUIRES: x86_64-darwin
 
 // RUN: nm -jgU `%clangxx_min_runtime -fsanitize-minimal-runtime -fsanitize=undefined %s -o %t '-###' 2>&1 | grep "libclang_rt.ubsan_minimal_osx_dynamic.dylib" | sed -e 's/.*"\(.*libclang_rt.ubsan_minimal_osx_dynamic.dylib\)".*/\1/'` | grep "^___ubsan_handle" \
-// RUN:  | grep -vE "_minimal_preserve" \
 // RUN:  | sed 's/_minimal//g' \
 // RUN:  > %t.minimal.symlist
 //


        


More information about the llvm-commits mailing list