summaryrefslogtreecommitdiff
path: root/coroutine/arm64
diff options
context:
space:
mode:
authorYuta Saito <[email protected]>2023-12-21 15:19:25 +0900
committerYuta Saito <[email protected]>2023-12-22 11:30:00 +0900
commit35587150e21175b6a63cd02d406beff5c76f1149 (patch)
tree75a8cbda340c17eb99e2f4045392822a3642a0aa /coroutine/arm64
parentd9e5564ccd0e460b7685b786d21cf386b229e2a9 (diff)
coroutine/arm64/Context.S: Insert `bti c` as BTI landing pad
Diffstat (limited to 'coroutine/arm64')
-rw-r--r--coroutine/arm64/Context.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/coroutine/arm64/Context.S b/coroutine/arm64/Context.S
index 2cf3e48987..0eb08e326d 100644
--- a/coroutine/arm64/Context.S
+++ b/coroutine/arm64/Context.S
@@ -28,8 +28,12 @@
PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):
#if defined(__ARM_FEATURE_PAC_DEFAULT) && (__ARM_FEATURE_PAC_DEFAULT != 0)
- # paciasp
+ # paciasp (it also acts as BTI landing pad, so no need to insert BTI also)
hint #25
+#elif defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT != 0)
+ # For the the case PAC is not enabled but BTI is.
+ # bti c
+ hint #34
#endif
# Make space on the stack for caller registers
sub sp, sp, 0xb0