summaryrefslogtreecommitdiff
path: root/gdb/aarch64-tdep.h
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2019-03-22 10:37:46 +0000
committerAlan Hayward <alan.hayward@arm.com>2019-03-22 10:37:46 +0000
commit34dcc7cf95f756862bdfebb753ab2de39fec4c9e (patch)
treec84ad9025f3c183c3e29618a64cf6c81f0abfdfb /gdb/aarch64-tdep.h
parent1ef53e6b8328acd5b7d54ee2fe288836ce12992e (diff)
downloadbinutils-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.h4
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