* aix-thread.c (fetch_regs_kernel_thread, fill_gprs64,
fill_gprs32, store_regs_kernel_thread): Use tdep->ppc_gp0_regnum to recognize gpr regnums, instead of assuming that tdep->ppc_fp0_regnum marks the end of the general-purpose registers.
This commit is contained in:
parent
16796152f1
commit
daf6dc85b1
2 changed files with 18 additions and 8 deletions
|
@ -1,5 +1,11 @@
|
||||||
2004-05-07 Jim Blandy <jimb@redhat.com>
|
2004-05-07 Jim Blandy <jimb@redhat.com>
|
||||||
|
|
||||||
|
* aix-thread.c (fetch_regs_kernel_thread, fill_gprs64,
|
||||||
|
fill_gprs32, store_regs_kernel_thread): Use tdep->ppc_gp0_regnum
|
||||||
|
to recognize gpr regnums, instead of assuming that
|
||||||
|
tdep->ppc_fp0_regnum marks the end of the general-purpose
|
||||||
|
registers.
|
||||||
|
|
||||||
* ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Assert that
|
* ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Assert that
|
||||||
the given architecture has floating-point registers.
|
the given architecture has floating-point registers.
|
||||||
|
|
||||||
|
|
|
@ -1157,7 +1157,9 @@ fetch_regs_kernel_thread (int regno, pthdb_tid_t tid)
|
||||||
(long) tid, regno, arch64);
|
(long) tid, regno, arch64);
|
||||||
|
|
||||||
/* General-purpose registers. */
|
/* General-purpose registers. */
|
||||||
if (regno == -1 || regno < tdep->ppc_fp0_regnum)
|
if (regno == -1
|
||||||
|
|| (tdep->ppc_gp0_regnum <= regno
|
||||||
|
&& regno < tdep->ppc_gp0_regnum + ppc_num_gprs))
|
||||||
{
|
{
|
||||||
if (arch64)
|
if (arch64)
|
||||||
{
|
{
|
||||||
|
@ -1246,9 +1248,9 @@ fill_gprs64 (uint64_t *vals)
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
|
||||||
int regno;
|
int regno;
|
||||||
|
|
||||||
for (regno = 0; regno < tdep->ppc_fp0_regnum; regno++)
|
for (regno = 0; regno < ppc_num_gprs; regno++)
|
||||||
if (register_cached (regno))
|
if (register_cached (tdep->ppc_gp0_regnum + regno))
|
||||||
regcache_collect (regno, vals + regno);
|
regcache_collect (tdep->ppc_gp0_regnum + regno, vals + regno);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1257,9 +1259,9 @@ fill_gprs32 (uint32_t *vals)
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
|
||||||
int regno;
|
int regno;
|
||||||
|
|
||||||
for (regno = 0; regno < tdep->ppc_fp0_regnum; regno++)
|
for (regno = 0; regno < ppc_num_gprs; regno++)
|
||||||
if (register_cached (regno))
|
if (register_cached (tdep->ppc_gp0_regnum + regno))
|
||||||
regcache_collect (regno, vals + regno);
|
regcache_collect (tdep->ppc_gp0_regnum + regno, vals + regno);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Store the floating point registers into a double array. */
|
/* Store the floating point registers into a double array. */
|
||||||
|
@ -1456,7 +1458,9 @@ store_regs_kernel_thread (int regno, pthdb_tid_t tid)
|
||||||
(long) tid, regno);
|
(long) tid, regno);
|
||||||
|
|
||||||
/* General-purpose registers. */
|
/* General-purpose registers. */
|
||||||
if (regno == -1 || regno < tdep->ppc_fp0_regnum)
|
if (regno == -1
|
||||||
|
|| (tdep->ppc_gp0_regnum <= regno
|
||||||
|
&& regno < tdep->ppc_gp0_regnum + ppc_num_fprs))
|
||||||
{
|
{
|
||||||
if (arch64)
|
if (arch64)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue