39 lines
1.2 KiB
Text
39 lines
1.2 KiB
Text
Index: gdb/arm-bsd-tdep.c
|
|
--- gdb/arm-bsd-tdep.c.orig
|
|
+++ gdb/arm-bsd-tdep.c
|
|
@@ -30,15 +30,12 @@
|
|
#define ARMBSD_SIZEOF_GREGS (17 * 4)
|
|
|
|
/* Sizeof `struct fpreg' in <machine/reg.h. */
|
|
-#define ARMBSD_SIZEOF_FPREGS ((1 + (8 * 3)) * 4)
|
|
+#define ARMBSD_SIZEOF_FPREGS (32 * 8 + 4 + 4)
|
|
|
|
static int
|
|
armbsd_fpreg_offset (int regnum)
|
|
{
|
|
- if (regnum == ARM_FPS_REGNUM)
|
|
- return 0;
|
|
-
|
|
- return 4 + (regnum - ARM_F0_REGNUM) * 12;
|
|
+ return (regnum - ARM_D0_REGNUM) * 8;
|
|
}
|
|
|
|
/* Supply register REGNUM from the buffer specified by FPREGS and LEN
|
|
@@ -55,7 +52,7 @@ armbsd_supply_fpregset (const struct regset *regset,
|
|
|
|
gdb_assert (len >= ARMBSD_SIZEOF_FPREGS);
|
|
|
|
- for (i = ARM_F0_REGNUM; i <= ARM_FPS_REGNUM; i++)
|
|
+ for (i = ARM_D0_REGNUM; i <= ARM_FPSCR_REGNUM; i++)
|
|
{
|
|
if (regnum == i || regnum == -1)
|
|
regcache->raw_supply (i, regs + armbsd_fpreg_offset (i));
|
|
@@ -83,7 +80,7 @@ armbsd_supply_gregset (const struct regset *regset,
|
|
}
|
|
|
|
if (regnum == ARM_PS_REGNUM || regnum == -1)
|
|
- regcache->raw_supply (i, regs + 16 * 4);
|
|
+ regcache->raw_supply (ARM_PS_REGNUM, regs + 16 * 4);
|
|
|
|
if (len >= ARMBSD_SIZEOF_GREGS + ARMBSD_SIZEOF_FPREGS)
|
|
{
|