Rename PAUTH_RA_STATE to RA_SIGN_STATE

The aadwarf64 [1] names this register RA_SIGN_STATE, so update the code to use
the same name.

[1] https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst
This commit is contained in:
Luis Machado 2022-05-06 15:25:59 +01:00
parent a2ff75485c
commit c9cd8ca465
2 changed files with 18 additions and 18 deletions

View file

@ -253,7 +253,7 @@ aarch64_frame_unmask_lr (aarch64_gdbarch_tdep *tdep,
{
if (tdep->has_pauth ()
&& frame_unwind_register_unsigned (this_frame,
tdep->pauth_ra_state_regnum))
tdep->ra_sign_state_regnum))
{
int cmask_num = AARCH64_PAUTH_CMASK_REGNUM (tdep->pauth_reg_base);
CORE_ADDR cmask = frame_unwind_register_unsigned (this_frame, cmask_num);
@ -529,7 +529,7 @@ aarch64_analyze_prologue (struct gdbarch *gdbarch,
if (tdep->has_pauth () && cache != nullptr)
{
int regnum = tdep->pauth_ra_state_regnum;
int regnum = tdep->ra_sign_state_regnum;
cache->saved_regs[regnum].set_value (ra_state_val);
}
}
@ -869,7 +869,7 @@ aarch64_analyze_prologue_test (void)
if (tdep->has_pauth ())
{
int regnum = tdep->pauth_ra_state_regnum;
int regnum = tdep->ra_sign_state_regnum;
SELF_CHECK (cache.saved_regs[regnum].is_value ());
}
}
@ -1124,7 +1124,7 @@ aarch64_prologue_prev_register (struct frame_info *this_frame,
lr = frame_unwind_register_unsigned (this_frame, AARCH64_LR_REGNUM);
if (tdep->has_pauth ()
&& cache->saved_regs[tdep->pauth_ra_state_regnum].is_value ())
&& cache->saved_regs[tdep->ra_sign_state_regnum].is_value ())
lr = aarch64_frame_unmask_lr (tdep, this_frame, lr);
return frame_unwind_got_constant (this_frame, prev_regnum, lr);
@ -1331,7 +1331,7 @@ aarch64_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
/* Init pauth registers. */
if (tdep->has_pauth ())
{
if (regnum == tdep->pauth_ra_state_regnum)
if (regnum == tdep->ra_sign_state_regnum)
{
/* Initialize RA_STATE to zero. */
reg->how = DWARF2_FRAME_REG_SAVED_VAL_EXP;
@ -1364,10 +1364,10 @@ aarch64_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch, gdb_byte op,
return true;
/* Allocate RA_STATE column if it's not allocated yet. */
fs->regs.alloc_regs (AARCH64_DWARF_PAUTH_RA_STATE + 1);
fs->regs.alloc_regs (AARCH64_DWARF_RA_SIGN_STATE + 1);
/* Toggle the status of RA_STATE between 0 and 1. */
ra_state = &(fs->regs.reg[AARCH64_DWARF_PAUTH_RA_STATE]);
ra_state = &(fs->regs.reg[AARCH64_DWARF_RA_SIGN_STATE]);
ra_state->how = DWARF2_FRAME_REG_SAVED_VAL_EXP;
if (ra_state->loc.exp.start == nullptr
@ -2239,8 +2239,8 @@ aarch64_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
if (reg >= AARCH64_DWARF_PAUTH_DMASK && reg <= AARCH64_DWARF_PAUTH_CMASK)
return tdep->pauth_reg_base + reg - AARCH64_DWARF_PAUTH_DMASK;
if (reg == AARCH64_DWARF_PAUTH_RA_STATE)
return tdep->pauth_ra_state_regnum;
if (reg == AARCH64_DWARF_RA_SIGN_STATE)
return tdep->ra_sign_state_regnum;
}
return -1;
@ -2647,7 +2647,7 @@ aarch64_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
/* RA_STATE is used for unwinding only. Do not assign it a name - this
prevents it from being read by methods such as
mi_cmd_trace_frame_collected. */
if (tdep->has_pauth () && regnum == tdep->pauth_ra_state_regnum)
if (tdep->has_pauth () && regnum == tdep->ra_sign_state_regnum)
return "";
internal_error (__FILE__, __LINE__,
@ -2683,7 +2683,7 @@ aarch64_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
&& p_regnum < AARCH64_SVE_V0_REGNUM + AARCH64_V_REGS_NUM)
return aarch64_vnv_type (gdbarch);
if (tdep->has_pauth () && regnum == tdep->pauth_ra_state_regnum)
if (tdep->has_pauth () && regnum == tdep->ra_sign_state_regnum)
return builtin_type (gdbarch)->builtin_uint64;
internal_error (__FILE__, __LINE__,
@ -2717,7 +2717,7 @@ aarch64_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
&& p_regnum < AARCH64_SVE_V0_REGNUM + AARCH64_V_REGS_NUM)
return group == all_reggroup || group == vector_reggroup;
/* RA_STATE is used for unwinding only. Do not assign it to any groups. */
if (tdep->has_pauth () && regnum == tdep->pauth_ra_state_regnum)
if (tdep->has_pauth () && regnum == tdep->ra_sign_state_regnum)
return 0;
return group == all_reggroup;
@ -3417,7 +3417,7 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
const struct tdesc_feature *feature_pauth;
bool valid_p = true;
int i, num_regs = 0, num_pseudo_regs = 0;
int first_pauth_regnum = -1, pauth_ra_state_offset = -1;
int first_pauth_regnum = -1, ra_sign_state_offset = -1;
int first_mte_regnum = -1, tls_regnum = -1;
/* Use the vector length passed via the target info. Here -1 is used for no
@ -3531,7 +3531,7 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
if (feature_pauth != NULL)
{
first_pauth_regnum = num_regs;
pauth_ra_state_offset = num_pseudo_regs;
ra_sign_state_offset = num_pseudo_regs;
/* Validate the descriptor provides the mandatory PAUTH registers and
allocate their numbers. */
for (i = 0; i < ARRAY_SIZE (aarch64_pauth_register_names); i++)
@ -3572,8 +3572,8 @@ aarch64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep->jb_elt_size = 8;
tdep->vq = vq;
tdep->pauth_reg_base = first_pauth_regnum;
tdep->pauth_ra_state_regnum = (feature_pauth == NULL) ? -1
: pauth_ra_state_offset + num_regs;
tdep->ra_sign_state_regnum = (feature_pauth == NULL) ? -1
: ra_sign_state_offset + num_regs;
tdep->mte_reg_base = first_mte_regnum;
tdep->tls_regnum = tls_regnum;

View file

@ -34,7 +34,7 @@ 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_RA_SIGN_STATE 34
#define AARCH64_DWARF_PAUTH_DMASK 35
#define AARCH64_DWARF_PAUTH_CMASK 36
#define AARCH64_DWARF_V0 64
@ -95,7 +95,7 @@ struct aarch64_gdbarch_tdep : gdbarch_tdep
}
int pauth_reg_base = 0;
int pauth_ra_state_regnum = 0;
int ra_sign_state_regnum = 0;
/* Returns true if the target supports pauth. */
bool has_pauth () const