+2003-06-06 Jim Blandy <jimb@redhat.com>
+
+ * ppc-linux-nat.c (ppc_register_u_addr): Correctly compute u-area
+ offsets for floating-point registers in both 32- and 64-bit
+ interfaces.
+
2003-06-05 Jim Blandy <jimb@redhat.com>
Recognize and skip 64-bit PowerPC Linux linkage functions.
if (regno >= tdep->ppc_gp0_regnum && regno <= tdep->ppc_gplast_regnum )
u_addr = ((PT_R0 + regno) * wordsize);
- /* Floating point regs: 2 slots each */
+ /* Floating point regs: eight bytes in both 32- and 64-bit ptrace
+ interfaces. Thus, two slots each in 32-bit interface, one slot
+ each in 64-bit interface. */
if (regno >= FP0_REGNUM && regno <= FPLAST_REGNUM)
- u_addr = ((PT_FPR0 + (regno - FP0_REGNUM) * 2) * 4);
+ u_addr = (PT_FPR0 * wordsize) + ((regno - FP0_REGNUM) * 8);
/* UISA special purpose registers: 1 slot each */
if (regno == PC_REGNUM)