* m68k-tdep.h (m68kbsd_fpreg_offset): Add gdbarch parameter.
* m68kbsd-tdep.c (m68kbsd_fpreg_offset): Add gdbarch paramter. Use it instead of current_gdbarch. (m68kbsd_supply_fpregset): Update call. * m68kbsd-nat.c (m68kbsd_supply_fpregset): Likewise. (m68kbsd_collect_fpregset): Likewise.
This commit is contained in:
parent
35488783c1
commit
6ba3842523
|
@ -1,3 +1,12 @@
|
|||
2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* m68k-tdep.h (m68kbsd_fpreg_offset): Add gdbarch parameter.
|
||||
* m68kbsd-tdep.c (m68kbsd_fpreg_offset): Add gdbarch paramter.
|
||||
Use it instead of current_gdbarch.
|
||||
(m68kbsd_supply_fpregset): Update call.
|
||||
* m68kbsd-nat.c (m68kbsd_supply_fpregset): Likewise.
|
||||
(m68kbsd_collect_fpregset): Likewise.
|
||||
|
||||
2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* cris-tdep.c (cris_version, cris_mode): Remove.
|
||||
|
|
|
@ -100,6 +100,6 @@ extern void m68k_svr4_init_abi (struct gdbarch_info, struct gdbarch *);
|
|||
|
||||
/* Functions exported from m68kbsd-tdep.c. */
|
||||
|
||||
extern int m68kbsd_fpreg_offset (int regnum);
|
||||
extern int m68kbsd_fpreg_offset (struct gdbarch *gdbarch, int regnum);
|
||||
|
||||
#endif /* m68k-tdep.h */
|
||||
|
|
|
@ -59,12 +59,13 @@ m68kbsd_supply_gregset (struct regcache *regcache, const void *gregs)
|
|||
static void
|
||||
m68kbsd_supply_fpregset (struct regcache *regcache, const void *fpregs)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const char *regs = fpregs;
|
||||
int regnum;
|
||||
|
||||
for (regnum = M68K_FP0_REGNUM; regnum <= M68K_FPI_REGNUM; regnum++)
|
||||
regcache_raw_supply (regcache, regnum,
|
||||
regs + m68kbsd_fpreg_offset (regnum));
|
||||
regs + m68kbsd_fpreg_offset (gdbarch, regnum));
|
||||
}
|
||||
|
||||
/* Collect the general-purpose registers from REGCACHE and store them
|
||||
|
@ -91,13 +92,15 @@ static void
|
|||
m68kbsd_collect_fpregset (struct regcache *regcache,
|
||||
void *fpregs, int regnum)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
char *regs = fpregs;
|
||||
int i;
|
||||
|
||||
for (i = M68K_FP0_REGNUM; i <= M68K_FPI_REGNUM; i++)
|
||||
{
|
||||
if (regnum == -1 || regnum == i)
|
||||
regcache_raw_collect (regcache, i, regs + m68kbsd_fpreg_offset (i));
|
||||
regcache_raw_collect (regcache, i,
|
||||
regs + m68kbsd_fpreg_offset (gdbarch, i));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,9 +42,9 @@
|
|||
#define M68KBSD_SIZEOF_FPREGS (((8 * 3) + 3) * 4)
|
||||
|
||||
int
|
||||
m68kbsd_fpreg_offset (int regnum)
|
||||
m68kbsd_fpreg_offset (struct gdbarch *gdbarch, int regnum)
|
||||
{
|
||||
int fp_len = TYPE_LENGTH (gdbarch_register_type (current_gdbarch, regnum));
|
||||
int fp_len = TYPE_LENGTH (gdbarch_register_type (gdbarch, regnum));
|
||||
|
||||
if (regnum >= M68K_FPC_REGNUM)
|
||||
return 8 * fp_len + (regnum - M68K_FPC_REGNUM) * 4;
|
||||
|
@ -61,6 +61,7 @@ m68kbsd_supply_fpregset (const struct regset *regset,
|
|||
struct regcache *regcache,
|
||||
int regnum, const void *fpregs, size_t len)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
const gdb_byte *regs = fpregs;
|
||||
int i;
|
||||
|
||||
|
@ -69,7 +70,8 @@ m68kbsd_supply_fpregset (const struct regset *regset,
|
|||
for (i = M68K_FP0_REGNUM; i <= M68K_PC_REGNUM; i++)
|
||||
{
|
||||
if (regnum == i || regnum == -1)
|
||||
regcache_raw_supply (regcache, i, regs + m68kbsd_fpreg_offset (i));
|
||||
regcache_raw_supply (regcache, i,
|
||||
regs + m68kbsd_fpreg_offset (gdbarch, i));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue