From 0070c9ee2d2ce8513fa36375dca407d40150a576 Mon Sep 17 00:00:00 2001 From: Oliver Stannard Date: Thu, 11 Mar 2021 09:16:30 +0000 Subject: [PATCH] [AArch64][compiler-rt] Fix PAC instructions for older compilers The paciasp and autiasp instructions are only accepted by recent compilers, but have the same encoding as hint instructions, so we can use the hint menmonic to support older compilers. --- .../sanitizer_common_interceptors_vfork_aarch64.inc.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S index 8a96e2d4aa95..72e482754b62 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S @@ -10,7 +10,7 @@ ASM_HIDDEN(COMMON_INTERCEPTOR_SPILL_AREA) ASM_TYPE_FUNCTION(ASM_WRAPPER_NAME(vfork)) ASM_WRAPPER_NAME(vfork): // Save x30 in the off-stack spill area. - paciasp + hint #25 // paciasp stp xzr, x30, [sp, #-16]! bl COMMON_INTERCEPTOR_SPILL_AREA ldp xzr, x30, [sp], 16 @@ -35,7 +35,7 @@ ASM_WRAPPER_NAME(vfork): bl COMMON_INTERCEPTOR_SPILL_AREA ldr x30, [x0] ldp x0, xzr, [sp], 16 - autiasp + hint #29 // autiasp ret ASM_SIZE(vfork) -- GitLab