]>
git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[SFrame-V3] gas: sframe: testsuite: skip SFrame FDE if .cfi_register SP, reg
SFrame does not track the SP. For recovery of the SP, SFrame relies on
the architecture/ABI's CFA definition:
CFA = SP [+ offset // on s390x]
Which results in the following implicit CFA value offset rule for SP:
SP = CFA [- offset // on s390x]
Where offset is zero for most architectures/ABIs, except s390x.
Therefore .cfi_register SP, reg directives must be rejected, as such
semantics cannot be represented in SFrame yet.
gas/
* gas/gen-sframe.c (s390_sframe_xlate_do_register): Check for
REG_SP and reject while generating a warning.
(sframe_xlate_do_register): Likewise.
gas/testsuite/
* gas/cfi-sframe/cfi-sframe-s390x-err-4.d: New test.
* gas/cfi-sframe/cfi-sframe-s390x-err-4.s: Likewise.
* gas/cfi-sframe/cfi-sframe-x86_64-empty-5.d: Likewise.
* gas/cfi-sframe/cfi-sframe-x86_64-empty-5.s: Likewise.
* gas/cfi-sframe/cfi-sframe.exp: Add new tests.