[PATCH 0/3] s390: gas: Fix and improve conversion of regnames to DWARF regnums
Jens Remus
jremus@linux.ibm.com
Mon Jan 12 15:30:36 GMT 2026
Patch 1 fixes the conversion of floating-point register names f0..f15 to
their respective DWARF register numbers.
Patch 2 adds support for conversion of vector register names v0..v31 to
their respective DWARF register numbers.
Patch 3 adds support for conversion of access register names a0..a15 to
their corresponding DWARF register numbers.
Each patch adds respective tests.
Support for conversion if control register names c0..c15 to their
corresponding DWARF register numbers is not implemented, as they
are reserved for system use. But so are basically access registers.
Should support for control register names be added anyway?
Note that tc_s390_regname_to_dw2regnum() potentially erroneously
converts "ap" (?) and "cc" (condition code?) to the DWARF register
numbers 32 and 33, which are assigned to control registers c0 and c1.
This was already the case in the s390 32-bit (s390) ELF ABI:
https://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_s390.html#AEN1564
Can this be deprecated and then removed?
Thanks and regards,
Jens
Jens Remus (3):
s390: gas: Fix conversion of FP register names to DWARF register
numbers
s390: gas: Support vector register names in CFI directives
s390: gas: Support access register names in CFI directives
gas/config/tc-s390.c | 22 ++++++-
gas/testsuite/gas/s390/cfi-regnames-err.l | 14 +++++
gas/testsuite/gas/s390/cfi-regnames-err.s | 15 +++++
gas/testsuite/gas/s390/cfi-regnames.d | 72 ++++++++++++++++++++++
gas/testsuite/gas/s390/cfi-regnames.s | 73 +++++++++++++++++++++++
gas/testsuite/gas/s390/s390.exp | 2 +
6 files changed, 195 insertions(+), 3 deletions(-)
create mode 100644 gas/testsuite/gas/s390/cfi-regnames-err.l
create mode 100644 gas/testsuite/gas/s390/cfi-regnames-err.s
create mode 100644 gas/testsuite/gas/s390/cfi-regnames.d
create mode 100644 gas/testsuite/gas/s390/cfi-regnames.s
--
2.51.0
More information about the Binutils
mailing list