diff options
author | Alan Hayward <alan.hayward@arm.com> | 2019-03-22 10:37:46 +0000 |
---|---|---|
committer | Alan Hayward <alan.hayward@arm.com> | 2019-03-22 10:37:46 +0000 |
commit | 34dcc7cf95f756862bdfebb753ab2de39fec4c9e (patch) | |
tree | c84ad9025f3c183c3e29618a64cf6c81f0abfdfb /gdb/aarch64-tdep.h | |
parent | 1ef53e6b8328acd5b7d54ee2fe288836ce12992e (diff) | |
download | binutils-gdb-34dcc7cf95f756862bdfebb753ab2de39fec4c9e.tar.gz |
AArch64: Add pauth DWARF registers
Map the pauth registers to DWARF.
Add a new pseudo register ra_state and also map this to DWARF. This register
is hidden from the user - prevent it from being read or written to. It will
be used for the unmangling of addresses.
gdb/ChangeLog:
* aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Check for pauth
registers.
(aarch64_pseudo_register_name): Likewise.
(aarch64_pseudo_register_type): Likewise.
(aarch64_pseudo_register_reggroup_p): Likewise.
(aarch64_gdbarch_init): Add pauth registers.
* aarch64-tdep.h (AARCH64_DWARF_PAUTH_RA_STATE): New define.
(AARCH64_DWARF_PAUTH_DMASK): Likewise.
(AARCH64_DWARF_PAUTH_CMASK): Likewise.
(struct gdbarch_tdep): Add regnum for ra_state.
Diffstat (limited to 'gdb/aarch64-tdep.h')
-rw-r--r-- | gdb/aarch64-tdep.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/aarch64-tdep.h b/gdb/aarch64-tdep.h index f9fc8965f02..f73392d59bf 100644 --- a/gdb/aarch64-tdep.h +++ b/gdb/aarch64-tdep.h @@ -31,6 +31,9 @@ struct regset; /* AArch64 Dwarf register numbering. */ #define AARCH64_DWARF_X0 0 #define AARCH64_DWARF_SP 31 +#define AARCH64_DWARF_PAUTH_RA_STATE 34 +#define AARCH64_DWARF_PAUTH_DMASK 35 +#define AARCH64_DWARF_PAUTH_CMASK 36 #define AARCH64_DWARF_V0 64 #define AARCH64_DWARF_SVE_VG 46 #define AARCH64_DWARF_SVE_FFR 47 @@ -89,6 +92,7 @@ struct gdbarch_tdep } int pauth_reg_base; + int pauth_ra_state_regnum; /* Returns true if the target supports pauth. */ bool has_pauth () const |