Author: Florian Mayer Date: 2025-11-20T15:59:54-08:00 New Revision: cc5837d4fad0578ed67bebc32555766f2364b7e4
URL: https://github.com/llvm/llvm-project/commit/cc5837d4fad0578ed67bebc32555766f2364b7e4 DIFF: https://github.com/llvm/llvm-project/commit/cc5837d4fad0578ed67bebc32555766f2364b7e4.diff LOG: Revert "[UBSan] [compiler-rt] add preservecc variants of handlers (#168643)" This reverts commit 49e46a57cc1575271179c8c9c6fec5639781e9c6. 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 // _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
