/* Machine independent GDB support for core files on systems using "regsets".
- Copyright 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.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* This file is used by most systems that use ELF for their core
dumps. This includes most systems that have SVR4-ish variant of
#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;