From 0590ed0967e025e1d155da9e06509f3fe9686feb Mon Sep 17 00:00:00 2001 From: Andrew Turner Date: Mon, 16 Oct 2023 15:34:19 +0100 Subject: [PATCH] arm64: Add a BTI landing pad to .mcount The .mcount function needs a BTI branch target. As we can't rely on asm.h being included use the hint version of a "bti c" instruction. This is a nop when BTI is not supported or not used. Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42230 --- sys/arm64/include/profile.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/arm64/include/profile.h b/sys/arm64/include/profile.h index 3e4a34669360..8a61ff995d83 100644 --- a/sys/arm64/include/profile.h +++ b/sys/arm64/include/profile.h @@ -68,6 +68,8 @@ static void _mcount " .globl .mcount \n" \ " .mcount: \n" \ " .cfi_startproc \n" \ + /* Allow this to work with BTI, see BTI_C in asm.h */ \ +" hint #34 \n" \ /* Load the caller return address as frompc */ \ " ldr x0, [x29, #8] \n" \ /* Use our return address as selfpc */ \