2003-05-19 David Carlton <carlton@bactrian.org>
[deliverable/binutils-gdb.git] / gdb / lynx-nat.c
index 8f8f15ea894856655b8042db6008238eee278853..f425cb9c37ad18dda84747df0aa64b727a164ccc 100644 (file)
@@ -1,6 +1,7 @@
 /* Native-dependent code for LynxOS.
-   Copyright 1993, 1994, 1995, 1996, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+
+   Copyright 1993, 1994, 1995, 1996, 1999, 2000, 2001, 2003 Free
+   Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -27,7 +28,7 @@
 #include "regcache.h"
 
 #include <sys/ptrace.h>
-#include <sys/wait.h>
+#Include "gdb_wait.h"
 #include <sys/fpp.h>
 
 static unsigned long registers_addr (int pid);
@@ -282,7 +283,7 @@ fetch_inferior_registers (int regno)
   if (whatregs & WHATREGS_GEN)
     {
       struct econtext ec;      /* general regs */
-      char buf[MAX_REGISTER_RAW_SIZE];
+      char buf[MAX_REGISTER_SIZE];
       int retval;
       int i;
 
@@ -296,7 +297,7 @@ fetch_inferior_registers (int regno)
       supply_register (G0_REGNUM, buf);
       supply_register (TBR_REGNUM, (char *) &ec.tbr);
 
-      memcpy (&registers[REGISTER_BYTE (G1_REGNUM)], &ec.g1,
+      memcpy (&deprecated_registers[REGISTER_BYTE (G1_REGNUM)], &ec.g1,
              4 * REGISTER_RAW_SIZE (G1_REGNUM));
       for (i = G1_REGNUM; i <= G1_REGNUM + 3; i++)
        deprecated_register_valid[i] = 1;
@@ -307,7 +308,7 @@ fetch_inferior_registers (int regno)
       supply_register (NPC_REGNUM, (char *) &ec.npc);
       supply_register (WIM_REGNUM, (char *) &ec.wim);
 
-      memcpy (&registers[REGISTER_BYTE (O0_REGNUM)], ec.o,
+      memcpy (&deprecated_registers[REGISTER_BYTE (O0_REGNUM)], ec.o,
              8 * REGISTER_RAW_SIZE (O0_REGNUM));
       for (i = O0_REGNUM; i <= O0_REGNUM + 7; i++)
        deprecated_register_valid[i] = 1;
@@ -321,13 +322,13 @@ fetch_inferior_registers (int regno)
       sp = read_register (SP_REGNUM);
 
       target_read_memory (sp + FRAME_SAVED_I0,
-                         &registers[REGISTER_BYTE (I0_REGNUM)],
+                         &deprecated_registers[REGISTER_BYTE (I0_REGNUM)],
                          8 * REGISTER_RAW_SIZE (I0_REGNUM));
       for (i = I0_REGNUM; i <= I7_REGNUM; i++)
        deprecated_register_valid[i] = 1;
 
       target_read_memory (sp + FRAME_SAVED_L0,
-                         &registers[REGISTER_BYTE (L0_REGNUM)],
+                         &deprecated_registers[REGISTER_BYTE (L0_REGNUM)],
                          8 * REGISTER_RAW_SIZE (L0_REGNUM));
       for (i = L0_REGNUM; i <= L0_REGNUM + 7; i++)
        deprecated_register_valid[i] = 1;
@@ -345,7 +346,7 @@ fetch_inferior_registers (int regno)
       if (errno)
        perror_with_name ("ptrace(PTRACE_GETFPREGS)");
 
-      memcpy (&registers[REGISTER_BYTE (FP0_REGNUM)], fc.f.fregs,
+      memcpy (&deprecated_registers[REGISTER_BYTE (FP0_REGNUM)], fc.f.fregs,
              32 * REGISTER_RAW_SIZE (FP0_REGNUM));
       for (i = FP0_REGNUM; i <= FP0_REGNUM + 31; i++)
        deprecated_register_valid[i] = 1;
@@ -383,7 +384,7 @@ store_inferior_registers (int regno)
       int retval;
 
       ec.tbr = read_register (TBR_REGNUM);
-      memcpy (&ec.g1, &registers[REGISTER_BYTE (G1_REGNUM)],
+      memcpy (&ec.g1, &deprecated_registers[REGISTER_BYTE (G1_REGNUM)],
              4 * REGISTER_RAW_SIZE (G1_REGNUM));
 
       ec.psr = read_register (PS_REGNUM);
@@ -392,7 +393,7 @@ store_inferior_registers (int regno)
       ec.npc = read_register (NPC_REGNUM);
       ec.wim = read_register (WIM_REGNUM);
 
-      memcpy (ec.o, &registers[REGISTER_BYTE (O0_REGNUM)],
+      memcpy (ec.o, &deprecated_registers[REGISTER_BYTE (O0_REGNUM)],
              8 * REGISTER_RAW_SIZE (O0_REGNUM));
 
       errno = 0;
@@ -414,11 +415,11 @@ store_inferior_registers (int regno)
          if (!deprecated_register_valid[L0_REGNUM + 5])
            internal_error (__FILE__, __LINE__, "failed internal consistency check");
          target_write_memory (sp + FRAME_SAVED_I0,
-                             &registers[REGISTER_BYTE (I0_REGNUM)],
+                             &deprecated_registers[REGISTER_BYTE (I0_REGNUM)],
                              8 * REGISTER_RAW_SIZE (I0_REGNUM));
 
          target_write_memory (sp + FRAME_SAVED_L0,
-                             &registers[REGISTER_BYTE (L0_REGNUM)],
+                             &deprecated_registers[REGISTER_BYTE (L0_REGNUM)],
                              8 * REGISTER_RAW_SIZE (L0_REGNUM));
        }
       else if (regno >= L0_REGNUM && regno <= I7_REGNUM)
@@ -432,7 +433,7 @@ store_inferior_registers (int regno)
            regoffset = REGISTER_BYTE (regno) - REGISTER_BYTE (I0_REGNUM)
              + FRAME_SAVED_I0;
          target_write_memory (sp + regoffset, 
-                             &registers[REGISTER_BYTE (regno)],
+                             &deprecated_registers[REGISTER_BYTE (regno)],
                              REGISTER_RAW_SIZE (regno));
        }
     }
@@ -449,7 +450,7 @@ store_inferior_registers (int regno)
       if (errno)
        perror_with_name ("ptrace(PTRACE_GETFPREGS)");
 
-      memcpy (fc.f.fregs, &registers[REGISTER_BYTE (FP0_REGNUM)],
+      memcpy (fc.f.fregs, &deprecated_registers[REGISTER_BYTE (FP0_REGNUM)],
              32 * REGISTER_RAW_SIZE (FP0_REGNUM));
 
       fc.fsr = read_register (FPS_REGNUM);
@@ -510,29 +511,31 @@ fetch_inferior_registers (int regno)
 
   ecp = registers_addr (PIDGET (inferior_ptid));
 
-  for (regno = reglo; regno <= reghi; regno++)
-    {
-      char buf[MAX_REGISTER_RAW_SIZE];
-      int ptrace_fun = PTRACE_PEEKTHREAD;
-
+  {
+    char buf[MAX_REGISTER_SIZE];
+    for (regno = reglo; regno <= reghi; regno++)
+      {
+       int ptrace_fun = PTRACE_PEEKTHREAD;
+       
 #ifdef M68K
-      ptrace_fun = regno == SP_REGNUM ? PTRACE_PEEKUSP : PTRACE_PEEKTHREAD;
+       ptrace_fun = regno == SP_REGNUM ? PTRACE_PEEKUSP : PTRACE_PEEKTHREAD;
 #endif
-
-      for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int))
-       {
-         unsigned int reg;
-
-         errno = 0;
-         reg = ptrace (ptrace_fun, PIDGET (inferior_ptid),
-                       (PTRACE_ARG3_TYPE) (ecp + regmap[regno] + i), 0);
-         if (errno)
-           perror_with_name ("ptrace(PTRACE_PEEKUSP)");
-
-         *(int *) &buf[i] = reg;
-       }
-      supply_register (regno, buf);
-    }
+       
+       for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int))
+         {
+           unsigned int reg;
+           
+           errno = 0;
+           reg = ptrace (ptrace_fun, PIDGET (inferior_ptid),
+                         (PTRACE_ARG3_TYPE) (ecp + regmap[regno] + i), 0);
+           if (errno)
+             perror_with_name ("ptrace(PTRACE_PEEKUSP)");
+           
+           *(int *) &buf[i] = reg;
+         }
+       supply_register (regno, buf);
+      }
+  }
 }
 
 /* Store our register values back into the inferior.
@@ -571,7 +574,7 @@ store_inferior_registers (int regno)
        {
          unsigned int reg;
 
-         reg = *(unsigned int *) &registers[REGISTER_BYTE (regno) + i];
+         reg = *(unsigned int *) &deprecated_registers[REGISTER_BYTE (regno) + i];
 
          errno = 0;
          ptrace (ptrace_fun, PIDGET (inferior_ptid),
This page took 0.026096 seconds and 4 git commands to generate.