]> git.feebdaed.xyz Git - 0xmirror/binutils-gdb.git/commit
Revert "gas: Don't skip SFrame FDE if .cfi_register specifies RA w/o tracking"
authorIndu Bhagat <indu.bhagat@oracle.com>
Tue, 23 Dec 2025 22:57:58 +0000 (14:57 -0800)
committerIndu Bhagat <indu.bhagat@oracle.com>
Tue, 23 Dec 2025 22:58:05 +0000 (14:58 -0800)
commit2d431d0139493cdefb49f662b5df295d8bc32f65
tree987649287594d9f2c631124eb5e235a50460d22e
parentdd0ccd82d7b8c56200c71de8f1f51c6c2865cff2
Revert "gas: Don't skip SFrame FDE if .cfi_register specifies RA w/o tracking"

This reverts commit df174a6b760.

    commit df174a6b760ac5c66ee62ecb872c760ae21fd4cd
    Date:   Thu Jul 4 10:34:12 2024 +0200

    gas: Don't skip SFrame FDE if .cfi_register specifies RA w/o tracking

    Do not skip SFrame FDE if .cfi_register specifies RA register without
    RA tracking being actually used. Without RA tracking the register
    contents can always be restored from the stack using the fixed
    RA offset from CFA.

Even for ABI/arch without RA tracking, there may be instances where user
may specify '.cfi_register RA, reg'.  This needs to be caught, skipping
this from SFrame generation may not be correct.  This may be done in
certain hand-written asm sequences where the user needs to manipulate
the return to a certain function.

No testcase is being added ATM because in SFrame V3, a new FDE type can
be used to represent such cases (A new test case will be added then).

Reviewed-by: Jens Remus <jremus@linux.ibm.com>
gas/gen-sframe.c