/* Machine independent GDB support for core files on systems using "regsets".
- Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2003
+ Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2003, 2007
Free Software Foundation, Inc.
This file is part of GDB.
#include "gdbcore.h"
#include "inferior.h"
#include "target.h"
+#include "regcache.h"
#include <fcntl.h>
#include <errno.h>
REG_ADDR is ignored. */
static void
-fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
+fetch_core_registers (struct regcache *regcache,
+ char *core_reg_sect, unsigned core_reg_size, int which,
CORE_ADDR reg_addr)
{
gdb_gregset_t gregset;
else
{
memcpy (&gregset, core_reg_sect, sizeof (gregset));
- supply_gregset (&gregset);
+ supply_gregset (regcache, (const gdb_gregset_t *) &gregset);
}
break;
else
{
memcpy (&fpregset, core_reg_sect, sizeof (fpregset));
- if (FP0_REGNUM >= 0)
- supply_fpregset (&fpregset);
+ if (gdbarch_fp0_regnum (current_gdbarch) >= 0)
+ supply_fpregset (regcache, (const gdb_fpregset_t *) &fpregset);
}
break;