2007-07-03 Ilko Iliev <iliev@ronetix.at>
[deliverable/binutils-gdb.git] / gdb / core-regset.c
index ffd9f97c452a38916d23bcb1e77533049fe84b6b..7acd99fa0edde11e6ea5831eb9439c17aed34bae 100644 (file)
@@ -1,6 +1,6 @@
 /* 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.
@@ -34,6 +34,7 @@
 #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;
   gdb_fpregset_t fpregset;
+  gdb_gregset_t *gregset_p = &gregset;
+  gdb_fpregset_t *fpregset_p = &fpregset;
 
   switch (which)
     {
@@ -73,7 +77,7 @@ fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
       else
        {
          memcpy (&gregset, core_reg_sect, sizeof (gregset));
-         supply_gregset (&gregset);
+         supply_gregset (regcache, (const gdb_gregset_t *) gregset_p);
        }
       break;
 
@@ -83,8 +87,8 @@ fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which,
       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_p);
        }
       break;
 
This page took 0.025309 seconds and 4 git commands to generate.