Fix sigtramp cache code so that PPC register are read only if there is H/W.

This commit is contained in:
Paul Gilliam 2006-11-13 17:37:36 +00:00
parent 10e14daab1
commit 4019046acc
2 changed files with 14 additions and 8 deletions

View File

@ -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.

View File

@ -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));
} }