* i386gnu-nat.c: Include "gdb_string.h".
authorMark Kettenis <kettenis@gnu.org>
Mon, 11 Oct 2004 20:03:55 +0000 (20:03 +0000)
committerMark Kettenis <kettenis@gnu.org>
Mon, 11 Oct 2004 20:03:55 +0000 (20:03 +0000)
(fetch_fpregs): Use i387_supply_fxsave to fill the floating-point
registers when the floating-point state isn't initialized.
* Makefile.in (i386gnu-nat.o): Update dependencies.

gdb/ChangeLog
gdb/Makefile.in
gdb/i386gnu-nat.c

index 94c5182e111a6c5097da3e54d00fa5a5201b615a..a3d72d1160115db5ddd4554950b61c1b155e94fb 100644 (file)
@@ -1,3 +1,10 @@
+2004-10-11  Mark Kettenis  <kettenis@gnu.org>
+
+       * i386gnu-nat.c: Include "gdb_string.h".
+       (fetch_fpregs): Use i387_supply_fxsave to fill the floating-point
+       registers when the floating-point state isn't initialized.
+       * Makefile.in (i386gnu-nat.o): Update dependencies.
+
 2004-10-11  David Anderson  <davea@sgi.com>
 
        * regcache.c (regcache_raw_read): Comment was missing "to".
index 59c81c8e6755e01536dc9864ec98257916daef48..51fa3ce68d02ae5e5cf42a7a70bb6cac419ccb13 100644 (file)
@@ -2004,8 +2004,8 @@ i386fbsd-nat.o: i386fbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \
 i386fbsd-tdep.o: i386fbsd-tdep.c $(defs_h) $(arch_utils_h) $(osabi_h) \
        $(i386_tdep_h) $(i387_tdep_h) $(solib_svr4_h)
 i386gnu-nat.o: i386gnu-nat.c $(defs_h) $(inferior_h) $(floatformat_h) \
-       $(regcache_h) $(gdb_assert_h) $(i386_tdep_h) $(gnu_nat_h) \
-       $(i387_tdep_h) $(gregset_h)
+       $(regcache_h) $(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) \
+       $(gnu_nat_h) $(i387_tdep_h) $(gregset_h)
 i386gnu-tdep.o: i386gnu-tdep.c $(defs_h) $(osabi_h) $(i386_tdep_h)
 i386-linux-nat.o: i386-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
        $(regcache_h) $(linux_nat_h) $(gdb_assert_h) $(gdb_string_h) \
index f694eba91e573ec758603a5fab53d066cfe5551d..023fbb7d6e8650ccefa2b3ea57c012c3fe092b5b 100644 (file)
@@ -28,6 +28,7 @@
 #include "gdb_assert.h"
 #include <errno.h>
 #include <stdio.h>
+#include "gdb_string.h"
 
 #include <mach.h>
 #include <mach_error.h>
@@ -60,8 +61,9 @@ static int reg_offset[] =
 #define REG_ADDR(state, regnum) ((char *)(state) + reg_offset[regnum])
 
 \f
-/* Get the whole floating-point state of THREAD and record the
-   values of the corresponding (pseudo) registers.  */
+/* Get the whole floating-point state of THREAD and record the values
+   of the corresponding (pseudo) registers.  */
+
 static void
 fetch_fpregs (struct proc *thread)
 {
@@ -79,18 +81,15 @@ fetch_fpregs (struct proc *thread)
     }
 
   if (!state.initialized)
-    /* The floating-point state isn't initialized.  */
     {
-      int i;
-
-      for (i = FP0_REGNUM; i <= FOP_REGNUM; i++)
-       regcache_raw_supply (current_regcache, i, NULL);
-
-      return;
+      /* The floating-point state isn't initialized.  */
+      i387_supply_fsave (current_regcache, -1, NULL);
+    }
+  else
+    {
+      /* Supply the floating-point registers.  */
+      i387_supply_fsave (current_regcache, -1, state.hw_state);
     }
-
-  /* Supply the floating-point registers.  */
-  i387_supply_fsave (current_regcache, -1, state.hw_state);
 }
 
 #ifdef HAVE_SYS_PROCFS_H