* arm-linux-nat.c: Update calls to regcache_register_status
	instead of regcache_valid_p.
	* aix-thread.c: Likewise.
	* i386gnu-nat.c: Likewise.
This commit is contained in:
Yao Qi
2011-01-30 23:16:33 +00:00
parent 38eb900395
commit 672c979515
4 changed files with 59 additions and 37 deletions

View File

@@ -1,3 +1,10 @@
2011-01-31 Yao Qi <yao@codesourcery.com>
* arm-linux-nat.c: Update calls to regcache_register_status
instead of regcache_valid_p.
* aix-thread.c: Likewise.
* i386gnu-nat.c: Likewise.
2011-01-29 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix crash.

View File

@@ -1321,7 +1321,8 @@ fill_gprs64 (const struct regcache *regcache, uint64_t *vals)
int regno;
for (regno = 0; regno < ppc_num_gprs; regno++)
if (regcache_valid_p (regcache, tdep->ppc_gp0_regnum + regno))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_gp0_regnum + regno))
regcache_raw_collect (regcache, tdep->ppc_gp0_regnum + regno,
vals + regno);
}
@@ -1333,7 +1334,8 @@ fill_gprs32 (const struct regcache *regcache, uint32_t *vals)
int regno;
for (regno = 0; regno < ppc_num_gprs; regno++)
if (regcache_valid_p (regcache, tdep->ppc_gp0_regnum + regno))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_gp0_regnum + regno))
regcache_raw_collect (regcache, tdep->ppc_gp0_regnum + regno,
vals + regno);
}
@@ -1353,7 +1355,7 @@ fill_fprs (const struct regcache *regcache, double *vals)
for (regno = tdep->ppc_fp0_regnum;
regno < tdep->ppc_fp0_regnum + ppc_num_fprs;
regno++)
if (regcache_valid_p (regcache, regno))
if (REG_VALID == regcache_register_status (regcache, regno))
regcache_raw_collect (regcache, regno, vals + regno);
}
@@ -1377,20 +1379,22 @@ fill_sprs64 (const struct regcache *regcache,
gdb_assert (sizeof (*iar) == register_size
(gdbarch, gdbarch_pc_regnum (gdbarch)));
if (regcache_valid_p (regcache, gdbarch_pc_regnum (gdbarch)))
if (REG_VALID == regcache_register_status (regcache,
gdbarch_pc_regnum (gdbarch)))
regcache_raw_collect (regcache, gdbarch_pc_regnum (gdbarch), iar);
if (regcache_valid_p (regcache, tdep->ppc_ps_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ps_regnum))
regcache_raw_collect (regcache, tdep->ppc_ps_regnum, msr);
if (regcache_valid_p (regcache, tdep->ppc_cr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_cr_regnum))
regcache_raw_collect (regcache, tdep->ppc_cr_regnum, cr);
if (regcache_valid_p (regcache, tdep->ppc_lr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_lr_regnum))
regcache_raw_collect (regcache, tdep->ppc_lr_regnum, lr);
if (regcache_valid_p (regcache, tdep->ppc_ctr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ctr_regnum))
regcache_raw_collect (regcache, tdep->ppc_ctr_regnum, ctr);
if (regcache_valid_p (regcache, tdep->ppc_xer_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_xer_regnum))
regcache_raw_collect (regcache, tdep->ppc_xer_regnum, xer);
if (tdep->ppc_fpscr_regnum >= 0
&& regcache_valid_p (regcache, tdep->ppc_fpscr_regnum))
&& REG_VALID == regcache_register_status (regcache,
tdep->ppc_fpscr_regnum))
regcache_raw_collect (regcache, tdep->ppc_fpscr_regnum, fpscr);
}
@@ -1411,20 +1415,21 @@ fill_sprs32 (const struct regcache *regcache,
gdb_assert (sizeof (*iar) == register_size (gdbarch,
gdbarch_pc_regnum (gdbarch)));
if (regcache_valid_p (regcache, gdbarch_pc_regnum (gdbarch)))
if (REG_VALID == regcache_register_status (regcache,
gdbarch_pc_regnum (gdbarch)))
regcache_raw_collect (regcache, gdbarch_pc_regnum (gdbarch), iar);
if (regcache_valid_p (regcache, tdep->ppc_ps_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ps_regnum))
regcache_raw_collect (regcache, tdep->ppc_ps_regnum, msr);
if (regcache_valid_p (regcache, tdep->ppc_cr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_cr_regnum))
regcache_raw_collect (regcache, tdep->ppc_cr_regnum, cr);
if (regcache_valid_p (regcache, tdep->ppc_lr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_lr_regnum))
regcache_raw_collect (regcache, tdep->ppc_lr_regnum, lr);
if (regcache_valid_p (regcache, tdep->ppc_ctr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ctr_regnum))
regcache_raw_collect (regcache, tdep->ppc_ctr_regnum, ctr);
if (regcache_valid_p (regcache, tdep->ppc_xer_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_xer_regnum))
regcache_raw_collect (regcache, tdep->ppc_xer_regnum, xer);
if (tdep->ppc_fpscr_regnum >= 0
&& regcache_valid_p (regcache, tdep->ppc_fpscr_regnum))
&& REG_VALID == regcache_register_status (regcache, tdep->ppc_fpscr_regnum))
regcache_raw_collect (regcache, tdep->ppc_fpscr_regnum, fpscr);
}
@@ -1459,7 +1464,8 @@ store_regs_user_thread (const struct regcache *regcache, pthdb_pthread_t pdtid)
/* Collect general-purpose register values from the regcache. */
for (i = 0; i < ppc_num_gprs; i++)
if (regcache_valid_p (regcache, tdep->ppc_gp0_regnum + i))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_gp0_regnum + i))
{
if (arch64)
{
@@ -1494,19 +1500,23 @@ store_regs_user_thread (const struct regcache *regcache, pthdb_pthread_t pdtid)
fill_sprs32 (regcache, &tmp_iar, &tmp_msr, &tmp_cr, &tmp_lr, &tmp_ctr,
&tmp_xer, &tmp_fpscr);
if (regcache_valid_p (regcache, gdbarch_pc_regnum (gdbarch)))
if (REG_VALID == regcache_register_status (regcache,
gdbarch_pc_regnum (gdbarch)))
ctx.iar = tmp_iar;
if (regcache_valid_p (regcache, tdep->ppc_ps_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_ps_regnum))
ctx.msr = tmp_msr;
if (regcache_valid_p (regcache, tdep->ppc_cr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_cr_regnum))
ctx.cr = tmp_cr;
if (regcache_valid_p (regcache, tdep->ppc_lr_regnum))
if (REG_VALID == regcache_register_status (regcache, tdep->ppc_lr_regnum))
ctx.lr = tmp_lr;
if (regcache_valid_p (regcache, tdep->ppc_ctr_regnum))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_ctr_regnum))
ctx.ctr = tmp_ctr;
if (regcache_valid_p (regcache, tdep->ppc_xer_regnum))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_xer_regnum))
ctx.xer = tmp_xer;
if (regcache_valid_p (regcache, tdep->ppc_xer_regnum))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_xer_regnum))
ctx.fpscr = tmp_fpscr;
}
@@ -1620,7 +1630,8 @@ store_regs_kernel_thread (const struct regcache *regcache, int regno,
sprs32.pt_fpscr = tmp_fpscr;
if (tdep->ppc_mq_regnum >= 0)
if (regcache_valid_p (regcache, tdep->ppc_mq_regnum))
if (REG_VALID == regcache_register_status (regcache,
tdep->ppc_mq_regnum))
regcache_raw_collect (regcache, tdep->ppc_mq_regnum,
&sprs32.pt_mq);

View File

@@ -190,7 +190,8 @@ store_fpregister (const struct regcache *regcache, int regno)
}
/* Store fpsr. */
if (ARM_FPS_REGNUM == regno && regcache_valid_p (regcache, ARM_FPS_REGNUM))
if (ARM_FPS_REGNUM == regno
&& REG_VALID == regcache_register_status (regcache, ARM_FPS_REGNUM))
regcache_raw_collect (regcache, ARM_FPS_REGNUM, fp + NWFPE_FPSR_OFFSET);
/* Store the floating point register. */
@@ -226,12 +227,12 @@ store_fpregs (const struct regcache *regcache)
}
/* Store fpsr. */
if (regcache_valid_p (regcache, ARM_FPS_REGNUM))
if (REG_VALID == regcache_register_status (regcache, ARM_FPS_REGNUM))
regcache_raw_collect (regcache, ARM_FPS_REGNUM, fp + NWFPE_FPSR_OFFSET);
/* Store the floating point registers. */
for (regno = ARM_F0_REGNUM; regno <= ARM_F7_REGNUM; regno++)
if (regcache_valid_p (regcache, regno))
if (REG_VALID == regcache_register_status (regcache, regno))
collect_nwfpe_register (regcache, regno, fp);
ret = ptrace (PTRACE_SETFPREGS, tid, 0, fp);
@@ -328,7 +329,7 @@ store_register (const struct regcache *regcache, int regno)
int ret, tid;
elf_gregset_t regs;
if (!regcache_valid_p (regcache, regno))
if (REG_VALID != regcache_register_status (regcache, regno))
return;
/* Get the thread id for the ptrace call. */
@@ -378,11 +379,11 @@ store_regs (const struct regcache *regcache)
for (regno = ARM_A1_REGNUM; regno <= ARM_PC_REGNUM; regno++)
{
if (regcache_valid_p (regcache, regno))
if (REG_VALID == regcache_register_status (regcache, regno))
regcache_raw_collect (regcache, regno, (char *) &regs[regno]);
}
if (arm_apcs_32 && regcache_valid_p (regcache, ARM_PS_REGNUM))
if (arm_apcs_32 && REG_VALID == regcache_register_status (regcache, ARM_PS_REGNUM))
regcache_raw_collect (regcache, ARM_PS_REGNUM,
(char *) &regs[ARM_CPSR_GREGNUM]);
@@ -446,17 +447,20 @@ store_wmmx_regs (const struct regcache *regcache)
}
for (regno = 0; regno < 16; regno++)
if (regcache_valid_p (regcache, regno + ARM_WR0_REGNUM))
if (REG_VALID == regcache_register_status (regcache,
regno + ARM_WR0_REGNUM))
regcache_raw_collect (regcache, regno + ARM_WR0_REGNUM,
&regbuf[regno * 8]);
for (regno = 0; regno < 2; regno++)
if (regcache_valid_p (regcache, regno + ARM_WCSSF_REGNUM))
if (REG_VALID == regcache_register_status (regcache,
regno + ARM_WCSSF_REGNUM))
regcache_raw_collect (regcache, regno + ARM_WCSSF_REGNUM,
&regbuf[16 * 8 + regno * 4]);
for (regno = 0; regno < 4; regno++)
if (regcache_valid_p (regcache, regno + ARM_WCGR0_REGNUM))
if (REG_VALID == regcache_register_status (regcache,
regno + ARM_WCGR0_REGNUM))
regcache_raw_collect (regcache, regno + ARM_WCGR0_REGNUM,
&regbuf[16 * 8 + 2 * 4 + regno * 4]);

View File

@@ -272,7 +272,7 @@ gnu_store_registers (struct target_ops *ops,
proc_debug (thread, "storing all registers");
for (i = 0; i < I386_NUM_GREGS; i++)
if (regcache_valid_p (regcache, i))
if (REG_VALID == regcache_register_status (regcache, i))
regcache_raw_collect (regcache, i, REG_ADDR (state, i));
}
else
@@ -280,7 +280,7 @@ gnu_store_registers (struct target_ops *ops,
proc_debug (thread, "storing register %s",
gdbarch_register_name (gdbarch, regno));
gdb_assert (regcache_valid_p (regcache, regno));
gdb_assert (REG_VALID == regcache_register_status (regcache, regno));
regcache_raw_collect (regcache, regno, REG_ADDR (state, regno));
}