Fix sigtramp cache code so that PPC register are read only if there is H/W.
This commit is contained in:
parent
10e14daab1
commit
4019046acc
2 changed files with 14 additions and 8 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2006-10-31 Paul Gilliam <pgilliam@us.ibm.com>
|
||||||
|
* ppc-linux-tdep.c (ppc_linux_sigtramp_cache): Don't futz with
|
||||||
|
the floating point registers if there aren't any.
|
||||||
|
|
||||||
2006-11-12 Ben Harris <bjh21@NetBSD.org>
|
2006-11-12 Ben Harris <bjh21@NetBSD.org>
|
||||||
|
|
||||||
* arm-tdep.c (arm_unwind_pc): Use arm_addr_bits_remove.
|
* arm-tdep.c (arm_unwind_pc): Use arm_addr_bits_remove.
|
||||||
|
|
|
@ -916,14 +916,16 @@ ppc_linux_sigtramp_cache (struct frame_info *next_frame,
|
||||||
trad_frame_set_reg_addr (this_cache, tdep->ppc_cr_regnum,
|
trad_frame_set_reg_addr (this_cache, tdep->ppc_cr_regnum,
|
||||||
gpregs + 38 * tdep->wordsize);
|
gpregs + 38 * tdep->wordsize);
|
||||||
|
|
||||||
/* Floating point registers. */
|
if (ppc_floating_point_unit_p (gdbarch)) {
|
||||||
for (i = 0; i < 32; i++)
|
/* Floating point registers. */
|
||||||
{
|
for (i = 0; i < 32; i++)
|
||||||
int regnum = i + FP0_REGNUM;
|
{
|
||||||
trad_frame_set_reg_addr (this_cache, regnum, fpregs + i * tdep->wordsize);
|
int regnum = i + FP0_REGNUM;
|
||||||
}
|
trad_frame_set_reg_addr (this_cache, regnum, fpregs + i * tdep->wordsize);
|
||||||
trad_frame_set_reg_addr (this_cache, tdep->ppc_fpscr_regnum,
|
}
|
||||||
fpregs + 32 * tdep->wordsize);
|
trad_frame_set_reg_addr (this_cache, tdep->ppc_fpscr_regnum,
|
||||||
|
fpregs + 32 * tdep->wordsize);
|
||||||
|
}
|
||||||
trad_frame_set_id (this_cache, frame_id_build (base, func));
|
trad_frame_set_id (this_cache, frame_id_build (base, func));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue