[PATCH] D135103: RFC: [AArch64] Add SEH_Nop for PAC/BTI instructions in prologues/epilogues
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 3 22:47:48 PDT 2022
mstorsjo added a comment.
In D135103#3832085 <https://reviews.llvm.org/D135103#3832085>, @efriedma wrote:
> For the following example:
>
> int f(void g(), int a) { g(); return a; }
>
> If I compile with the following command:
>
> cl /c a.c /d2guardsignret
>
> llvm-readobj gives me the following:
>
> File: a.obj
> Format: COFF-ARM64
> Arch: aarch64
> AddressSize: 64bit
> UnwindInformation [
> RuntimeFunction {
> Function: f (0x0)
> ExceptionRecord: $unwind$f (0x0)
> ExceptionData {
> FunctionLength: 40
> Version: 0
> ExceptionData: No
> EpiloguePacked: Yes
> EpilogueOffset: 0
> ByteCodeLength: 8
> Prologue [
> 0xd600 ; stp x19, lr, [sp, #0]
> 0x01 ; sub sp, #16
> 0xfc ; Bad opcode!
> 0xe4 ; end
> ]
> }
> }
> ]
>
> So apparently there is, in fact, a way to encode this, using the undocumented opcode 0xfc. Why this isn't documented, I have no idea.
Oh, interesting. I guess we can try to add that one then, to cover this case.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D135103/new/
https://reviews.llvm.org/D135103
More information about the llvm-commits
mailing list