diff options
author | Victor Do Nascimento <Victor.DoNascimento@arm.com> | 2022-08-01 22:07:27 +0100 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2022-08-02 09:20:48 +0100 |
commit | 3a368c4c248f6e9f4bda3a5369befa17a4560293 (patch) | |
tree | c18db09aa5561fca5f0ae4952baf02a00683c3c1 /gdb/ada-lang.h | |
parent | 217cbb0055391809d6dfb56cec053fdd3cf08b75 (diff) | |
download | gdb-3a368c4c248f6e9f4bda3a5369befa17a4560293.zip gdb-3a368c4c248f6e9f4bda3a5369befa17a4560293.tar.gz gdb-3a368c4c248f6e9f4bda3a5369befa17a4560293.tar.bz2 |
arm: Use DWARF numbering convention for pseudo-register representation
This patch modifies the internal `struct reg_entry' numbering of DWARF
pseudo-registers to match values assigned in DWARF standards (see "4.1
DWARF register names" in [1])so ra_auth_code goes from 12 to 143 and
amends the unwinder .save directive-processing code to correctly handle
mixed register-type save directives.
The mechanism for splitting the register list is also re-written to
comply with register ordering on push statements, being that registers
are stored on the stack in numerical order, with the lowest numbered
register at the lowest address [2].
Consequently, the parsing of the hypothetical directive
.save{r4-r7, r10, ra_auth_core, lr}
has been changed such as rather than producing
.save{r4-r7, r10}
.save{ra_auth_code}
.save{lr}
as was the case with previous implementation, now produces:
.save{lr}
.save{ra_auth_code}
.save{r4-r7, r10}
[1] <https://github.com/ARM-software/abi-aa/blob/main/aadwarf32/aadwarf32.rst>
[2] <https://developer.arm.com/documentation/dui0473/j/arm-and-thumb-instructions/push>
gas/Changelog:
* config/tc-arm.c (REG_RA_AUTH_CODE): New.
(parse_dot_save): Likewise.
(parse_reg_list): Remove obsolete code.
(reg_names): Set ra_auth_code to 143.
(s_arm_unwind_save): Handle core and pseudo-register lists via
parse_dot_save.
(s_arm_unwind_save_mixed): Deleted.
(s_arm_unwind_save_pseudo): Handle one register at a time.
* testsuite/gas/arm/unwind-pacbti-m-readelf.d: Fix test.
* testsuite/gas/arm/unwind-pacbti-m.d: Likewise.
Diffstat (limited to 'gdb/ada-lang.h')
0 files changed, 0 insertions, 0 deletions