diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2023-03-27 12:10:06 +0200 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-03-30 11:05:22 +0000 |
commit | 48d642a310b96e68465d724644510d3f6e381b2c (patch) | |
tree | 1eb1294c05bda88363e075964e00f0c1873d7d0a /ArmPkg/Library/ArmExceptionLib | |
parent | f8b1854b92559ad28dc6df6bb886652b87e2a422 (diff) | |
download | edk2-48d642a310b96e68465d724644510d3f6e381b2c.tar.gz |
ArmPkg: Emit BTI opcodes when BTI codegen is enabled
When building with -mbranch-protection=bti, which affects the compiler
codegen only, ensure that the assembler based codegen is aligned with
this, by emitting the BTI C opcode at the start of each exported
function. While most exported functions are not in fact ever called
indirectly, whether or not this is the case is a property of the caller
so annotating every exported function is a reasonable default.
While at it, fix two occurrences in ArmPkg of exported functions that
did not use the ASM_FUNC() macro.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
Diffstat (limited to 'ArmPkg/Library/ArmExceptionLib')
-rw-r--r-- | ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S b/ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S index 9202952ee9..cd9437b6aa 100644 --- a/ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S +++ b/ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S @@ -94,7 +94,6 @@ GCC_ASM_EXPORT(ExceptionHandlersEnd)
GCC_ASM_EXPORT(CommonCExceptionHandler)
-GCC_ASM_EXPORT(RegisterEl0Stack)
.text
@@ -387,6 +386,6 @@ ASM_PFX(CommonExceptionEntry): eret
-ASM_PFX(RegisterEl0Stack):
+ASM_FUNC(RegisterEl0Stack)
msr sp_el0, x0
ret
|