[compiler-rt] 9022d9c - [xray] Apply default visibility to __xray_CustomEvent/__xray_TypedEvent
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 12 10:49:44 PDT 2024
Author: Fangrui Song
Date: 2024-04-12T10:49:39-07:00
New Revision: 9022d9c102a8c47616fbeb6a45b015db6bd2c17a
URL: https://github.com/llvm/llvm-project/commit/9022d9c102a8c47616fbeb6a45b015db6bd2c17a
DIFF: https://github.com/llvm/llvm-project/commit/9022d9c102a8c47616fbeb6a45b015db6bd2c17a.diff
LOG: [xray] Apply default visibility to __xray_CustomEvent/__xray_TypedEvent
`__xray_customevent` and `__xray_typedevent` are built-in functions in
Clang. With -fxray-instrument, they are lowered to `__xray_CustomEvent`
(with 2 arguments) or `__xray_TypedEvent` (with 3 arguments).
xray patching is supported for shared objects, but they may contain
`__xray_customevent` and `__xray_typedevent` references that need to be
satisfied by default visibility definitions exported by the executable.
lld since df54f627fad789ccb11c72a9fddf116decbeba0e, like GNU ld, catches
the scenario at link time.
Added:
Modified:
compiler-rt/lib/xray/xray_trampoline_AArch64.S
compiler-rt/lib/xray/xray_trampoline_x86_64.S
Removed:
################################################################################
diff --git a/compiler-rt/lib/xray/xray_trampoline_AArch64.S b/compiler-rt/lib/xray/xray_trampoline_AArch64.S
index 6f10dda3602b5b..536a79e0d150e7 100644
--- a/compiler-rt/lib/xray/xray_trampoline_AArch64.S
+++ b/compiler-rt/lib/xray/xray_trampoline_AArch64.S
@@ -138,8 +138,9 @@ ASM_SYMBOL(__xray_ArgLoggerEntry):
ret
ASM_SIZE(__xray_ArgLoggerEntry)
+// __xray_*Event have default visibility so that they can be referenced by user
+// DSOs that do not link against the runtime.
.global ASM_SYMBOL(__xray_CustomEvent)
-ASM_HIDDEN(__xray_CustomEvent)
ASM_TYPE_FUNCTION(__xray_CustomEvent)
ASM_SYMBOL(__xray_CustomEvent):
SAVE_REGISTERS
@@ -153,7 +154,6 @@ ASM_SYMBOL(__xray_CustomEvent):
ASM_SIZE(__xray_CustomEvent)
.global ASM_SYMBOL(__xray_TypedEvent)
-ASM_HIDDEN(__xray_TypedEvent)
ASM_TYPE_FUNCTION(__xray_TypedEvent)
ASM_SYMBOL(__xray_TypedEvent):
SAVE_REGISTERS
diff --git a/compiler-rt/lib/xray/xray_trampoline_x86_64.S b/compiler-rt/lib/xray/xray_trampoline_x86_64.S
index 0f00bcc41508d0..ff3ac91071a60e 100644
--- a/compiler-rt/lib/xray/xray_trampoline_x86_64.S
+++ b/compiler-rt/lib/xray/xray_trampoline_x86_64.S
@@ -257,8 +257,9 @@ LOCAL_LABEL(arg1entryFail):
//===----------------------------------------------------------------------===//
+// __xray_*Event have default visibility so that they can be referenced by user
+// DSOs that do not link against the runtime.
.global ASM_SYMBOL(__xray_CustomEvent)
- ASM_HIDDEN(__xray_CustomEvent)
.align 16, 0x90
ASM_TYPE_FUNCTION(__xray_CustomEvent)
# LLVM-MCA-BEGIN __xray_CustomEvent
@@ -284,7 +285,6 @@ LOCAL_LABEL(customEventCleanup):
//===----------------------------------------------------------------------===//
.global ASM_SYMBOL(__xray_TypedEvent)
- ASM_HIDDEN(__xray_TypedEvent)
.align 16, 0x90
ASM_TYPE_FUNCTION(__xray_TypedEvent)
# LLVM-MCA-BEGIN __xray_TypedEvent
More information about the llvm-commits
mailing list