use remote-utils facilities for baud_rate
[deliverable/binutils-gdb.git] / gdb / sparc-nat.c
index 6b843635317d822b2043e4cc88b72e997a6f39c7..3835952f92fe4f373a2383f8c0f1e9e3572be544 100644 (file)
@@ -20,7 +20,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "defs.h"
 #include "inferior.h"
 #include "target.h"
-#include "nm.h"
 
 #include <signal.h>
 #include <sys/ptrace.h>
@@ -99,8 +98,8 @@ fetch_inferior_registers (regno)
            perror("ptrace_getfpregs");
       memcpy (&registers[REGISTER_BYTE (FP0_REGNUM)], &inferior_fp_registers,
              sizeof inferior_fp_registers.fpu_fr);
-      /* bcopy (&inferior_fp_registers.Fpu_fsr,
-            &registers[REGISTER_BYTE (FPS_REGNUM)],
+      /* memcpy (&registers[REGISTER_BYTE (FPS_REGNUM)],
+            &inferior_fp_registers.Fpu_fsr,
             sizeof (FPU_FSR_TYPE));  FIXME???  -- gnu@cyg */
       for (i = FP0_REGNUM; i <= FP0_REGNUM+31; i++)
        register_valid[i] = 1;
@@ -223,6 +222,12 @@ store_inferior_registers (regno)
   if (wanna_store & FP_REGS)
     {
       if (!register_valid[FP0_REGNUM+9]) abort();
+      /* Initialize inferior_fp_registers members that gdb doesn't set
+        by reading them from the inferior.  */
+      if (0 !=
+        ptrace (PTRACE_GETFPREGS, inferior_pid,
+                (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0))
+        perror("ptrace_getfpregs");
       memcpy (&inferior_fp_registers, &registers[REGISTER_BYTE (FP0_REGNUM)],
              sizeof inferior_fp_registers.fpu_fr);
 
This page took 0.023313 seconds and 4 git commands to generate.