git: 0590ed0967e0 - main - arm64: Add a BTI landing pad to .mcount
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 30 Oct 2023 17:56:19 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=0590ed0967e025e1d155da9e06509f3fe9686feb
commit 0590ed0967e025e1d155da9e06509f3fe9686feb
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2023-10-16 14:34:19 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2023-10-30 17:55:45 +0000
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 */ \