X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Faarch64-tdep.h;h=732f78b5ba50df8dff87a952b7d0993192783977;hb=06a6207a1ab458521656f293bb1ca8fd013d6f7c;hp=704eacb50c8a13ddaa9ada43f42ac44b6b84a43a;hpb=42a4f53d2bf8938c2aeda9f52be7a20534b214a9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/aarch64-tdep.h b/gdb/aarch64-tdep.h index 704eacb50c..732f78b5ba 100644 --- a/gdb/aarch64-tdep.h +++ b/gdb/aarch64-tdep.h @@ -1,6 +1,6 @@ /* Common target dependent code for GDB on AArch64 systems. - Copyright (C) 2009-2019 Free Software Foundation, Inc. + Copyright (C) 2009-2020 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GDB. @@ -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 @@ -53,7 +56,7 @@ struct regset; /* The maximum number of modified instructions generated for one single-stepped instruction. */ -#define DISPLACED_MODIFIED_INSNS 1 +#define AARCH64_DISPLACED_MODIFIED_INSNS 1 /* Target-dependent structure in gdbarch. */ struct gdbarch_tdep @@ -87,9 +90,18 @@ struct gdbarch_tdep { return vq != 0; } + + int pauth_reg_base; + int pauth_ra_state_regnum; + + /* Returns true if the target supports pauth. */ + bool has_pauth () const + { + return pauth_reg_base != -1; + } }; -const target_desc *aarch64_read_description (uint64_t vq); +const target_desc *aarch64_read_description (uint64_t vq, bool pauth_p); extern int aarch64_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr);