[all-commits] [llvm/llvm-project] 0b73b5: [AArch64] Correct position of CFI Instruction for ...

Jack Styles via All-commits all-commits at lists.llvm.org
Mon Jan 6 01:40:12 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0b73b5af60f2c544892b9dd68b4fa43eeff52fc1
      https://github.com/llvm/llvm-project/commit/0b73b5af60f2c544892b9dd68b4fa43eeff52fc1
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll
    M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir

  Log Message:
  -----------
  [AArch64] Correct position of CFI Instruction for Pointer Authentication (#121559)

As part #112171, support for FEAT_PAuthLR's CFI instructions was added.
However, the CFI instructions are emitted in the incorrect location. This
leads to incorrect CodeGen being generated and possible issues when
running a program. According to the ABI, the CFI instructions should be
emitted before the signing instruction. This is now done properly.

ABI information can be found here:
https://github.com/ARM-software/abi-aa/blob/bf0e2c8047c70987165f3e05e571d7836370ade9/aadwarf64/aadwarf64.rst#44call-frame-instructions



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list