[compiler-rt] d477f1b - [ASan] Export optimized callbacks.

Kirill Stoimenov via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 11 09:18:54 PST 2022


Author: Kirill Stoimenov
Date: 2022-03-11T17:18:40Z
New Revision: d477f1bb1583a569b3b8b9d40766cf7bd30c5938

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

LOG: [ASan] Export optimized callbacks.

This is a part of optimized callback reverts. This is needed to export the callbacks from the rt-asan libraries.

Reviewed By: kstoimenov

Differential Revision: https://reviews.llvm.org/D121464

Added: 
    

Modified: 
    compiler-rt/lib/asan/asan_interface.inc
    compiler-rt/lib/asan/asan_rtl_x86_64.S

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/asan/asan_interface.inc b/compiler-rt/lib/asan/asan_interface.inc
index 89ef552b71173..9e18b79062342 100644
--- a/compiler-rt/lib/asan/asan_interface.inc
+++ b/compiler-rt/lib/asan/asan_interface.inc
@@ -180,3 +180,37 @@ INTERFACE_FUNCTION(__asan_update_allocation_context)
 INTERFACE_WEAK_FUNCTION(__asan_default_options)
 INTERFACE_WEAK_FUNCTION(__asan_default_suppressions)
 INTERFACE_WEAK_FUNCTION(__asan_on_error)
+
+#if defined(__x86_64__)
+
+#  define ASAN_MEMORY_ACCESS_CALLBACK_ADD(s, reg, op) \
+    INTERFACE_FUNCTION(__asan_check_##op##_add_##s##_##reg)
+
+#  define ASAN_MEMORY_ACCESS_CALLBACKS_ADD(reg)    \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(1, reg, load)  \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(1, reg, store) \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(2, reg, load)  \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(2, reg, store) \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(4, reg, load)  \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(4, reg, store) \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(8, reg, load)  \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(8, reg, store) \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(16, reg, load) \
+    ASAN_MEMORY_ACCESS_CALLBACK_ADD(16, reg, store)
+
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RAX)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RBX)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RCX)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RDX)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RSI)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RDI)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(RBP)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(R8)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(R9)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(R12)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(R13)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(R14)
+ASAN_MEMORY_ACCESS_CALLBACKS_ADD(R15)
+
+#endif  // defined(__x86_64__)
+

diff  --git a/compiler-rt/lib/asan/asan_rtl_x86_64.S b/compiler-rt/lib/asan/asan_rtl_x86_64.S
index d27db745ed674..9dcb8627ba281 100644
--- a/compiler-rt/lib/asan/asan_rtl_x86_64.S
+++ b/compiler-rt/lib/asan/asan_rtl_x86_64.S
@@ -16,7 +16,6 @@
 
 #define BEGINF(reg, op, s, i) \
 .globl  FNAME(reg, op, s, i) ;\
-.hidden  FNAME(reg, op, s, i) ;\
 ASM_TYPE_FUNCTION(FNAME(reg, op, s, i)) ;\
 .cfi_startproc ;\
 FNAME(reg, op, s, i): ;\


        


More information about the llvm-commits mailing list