[compiler-rt] 2c1ec06 - [compiler-rt] Disable interceptor trampoline for SPARC

Marco Elver via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 13 04:52:16 PDT 2023


Author: Marco Elver
Date: 2023-06-13T13:52:00+02:00
New Revision: 2c1ec06d45a9c0322912dd92607a761a57a014ae

URL: https://github.com/llvm/llvm-project/commit/2c1ec06d45a9c0322912dd92607a761a57a014ae
DIFF: https://github.com/llvm/llvm-project/commit/2c1ec06d45a9c0322912dd92607a761a57a014ae.diff

LOG: [compiler-rt] Disable interceptor trampoline for SPARC

SPARC jmp requires a delay slot after, and without it will likely result
in a crash. For now, just disable interceptor trampolines on SPARC,
because the specific usecase for them (3 interceptors) does not exist on
SPARC (yet). We can revisit, and carefully implement the support for
SPARC when required.

Reported-by: ro

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_asm.h

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_asm.h b/compiler-rt/lib/sanitizer_common/sanitizer_asm.h
index 6c1418fc19d79..3c9bbdc9678b0 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_asm.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_asm.h
@@ -66,7 +66,8 @@
 # define ASM_SIZE(symbol) .size symbol, .-symbol
 # define ASM_SYMBOL(symbol) symbol
 # define ASM_SYMBOL_INTERCEPTOR(symbol) symbol
-# if defined(__i386__) || defined(__powerpc__) || defined(__s390__)
+# if defined(__i386__) || defined(__powerpc__) || defined(__s390__) || \
+     defined(__sparc__)
 // For details, see interception.h
 #  define ASM_WRAPPER_NAME(symbol) __interceptor_##symbol
 #  define ASM_TRAMPOLINE_ALIAS(symbol, name)                                   \


        


More information about the llvm-commits mailing list