File tree Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -204,11 +204,11 @@ const interpose_substitution substitution_##func_name[] \
204
204
".type " SANITIZER_STRINGIFY(TRAMPOLINE(func)) ", " \
205
205
ASM_TYPE_FUNCTION_STR "\n" \
206
206
SANITIZER_STRINGIFY(TRAMPOLINE(func)) ":\n" \
207
- SANITIZER_STRINGIFY(CFI_STARTPROC) "\n" \
207
+ C_ASM_STARTPROC "\n" \
208
208
C_ASM_TAIL_CALL(SANITIZER_STRINGIFY(TRAMPOLINE(func)), \
209
209
"__interceptor_" \
210
210
SANITIZER_STRINGIFY(ASM_PREEMPTIBLE_SYM(func))) "\n" \
211
- SANITIZER_STRINGIFY(CFI_ENDPROC) "\n" \
211
+ C_ASM_ENDPROC "\n" \
212
212
".size " SANITIZER_STRINGIFY(TRAMPOLINE(func)) ", " \
213
213
".-" SANITIZER_STRINGIFY(TRAMPOLINE(func)) "\n" \
214
214
);
Original file line number Diff line number Diff line change 42
42
# define CFI_RESTORE (reg )
43
43
#endif
44
44
45
+ #if defined(__aarch64__) && defined(__ARM_FEATURE_BTI_DEFAULT)
46
+ # define ASM_STARTPROC CFI_STARTPROC; hint #34
47
+ # define C_ASM_STARTPROC SANITIZER_STRINGIFY (CFI_STARTPROC) "\nhint #34 "
48
+ #else
49
+ # define ASM_STARTPROC CFI_STARTPROC
50
+ # define C_ASM_STARTPROC SANITIZER_STRINGIFY(CFI_STARTPROC)
51
+ #endif
52
+ #define ASM_ENDPROC CFI_ENDPROC
53
+ #define C_ASM_ENDPROC SANITIZER_STRINGIFY(CFI_ENDPROC)
54
+
45
55
#if defined(__x86_64__) || defined(__i386__) || defined(__sparc__)
46
56
# define ASM_TAIL_CALL jmp
47
57
#elif defined(__arm__) || defined(__aarch64__) || defined(__mips__) || \
114
124
.globl __interceptor_trampoline_##name; \
115
125
ASM_TYPE_FUNCTION(__interceptor_trampoline_##name); \
116
126
__interceptor_trampoline_##name: \
117
- CFI_STARTPROC ; \
127
+ ASM_STARTPROC ; \
118
128
ASM_TAIL_CALL ASM_PREEMPTIBLE_SYM(__interceptor_##name); \
119
- CFI_ENDPROC ; \
129
+ ASM_ENDPROC ; \
120
130
ASM_SIZE(__interceptor_trampoline_##name)
121
131
# define ASM_INTERCEPTOR_TRAMPOLINE_SUPPORT 1
122
132
# endif // Architecture supports interceptor trampoline
You can’t perform that action at this time.
0 commit comments