2007-07-01 H.J. Lu <hongjiu.lu@intel.com>
[deliverable/binutils-gdb.git] / gdb / core-regset.c
index 3f104860722373e3f56c2486b143d47dba1780af..7acd99fa0edde11e6ea5831eb9439c17aed34bae 100644 (file)
@@ -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.027352 seconds and 4 git commands to generate.