* i386b-nat.c, m68knbsd-nat.c (fetch_core_registers): Provide
authorJ.T. Conklin <jtc@acorntoolworks.com>
Tue, 5 Mar 1996 20:09:21 +0000 (20:09 +0000)
committerJ.T. Conklin <jtc@acorntoolworks.com>
Tue, 5 Mar 1996 20:09:21 +0000 (20:09 +0000)
implementation for NetBSD systems.

gdb/ChangeLog
gdb/i386b-nat.c
gdb/m68knbsd-nat.c

index 9a83bf68a76a6e5d432063827ff629149eeefcee..98549acca90109e35bf1ab33357f83342e324bc3 100644 (file)
@@ -1,3 +1,8 @@
+Tue Mar  5 12:05:35 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+       * i386b-nat.c, m68knbsd-nat.c (fetch_core_registers): Provide
+       implementation for NetBSD systems.
+
 Mon Mar  4 23:44:16 1996  Per Bothner  <bothner@kalessin.cygnus.com>
 
        * valarith.c (binop_user_defined_p):  Return 0 for BINOP_CONCAT.
index 5831d26ac28ce30576c0a51b6730de77125c4712..bb78d7288dd18a42a7a2ac71561c70334b95b181 100644 (file)
@@ -47,6 +47,11 @@ store_inferior_registers(regno)
   ptrace (PT_SETREGS, inferior_pid, (PTRACE_ARG3_TYPE) &inferior_registers, 0);
 }
 
+struct md_core {
+  struct reg intreg;
+  struct fpreg freg;
+};
+
 void
 fetch_core_registers (core_reg_sect, core_reg_size, which, ignore)
      char *core_reg_sect;
@@ -54,7 +59,13 @@ fetch_core_registers (core_reg_sect, core_reg_size, which, ignore)
      int which;
      unsigned int ignore;
 {
-  abort();
+  struct md_core *core_reg = (struct md_core *)core_reg_sect;
+
+  /* integer registers */
+  memcpy(&registers[REGISTER_BYTE (0)], &core_reg->intreg,
+        sizeof(struct reg));
+  /* floating point registers */
+  /* XXX */
 }
 
 #else
index 5f25259d26bb35e4d63a046f32bfb6c419da4dbb..7f981472ba60f6d8de50ab0cba3084b2936c23cd 100644 (file)
@@ -63,6 +63,11 @@ store_inferior_registers(regno)
          (PTRACE_ARG3_TYPE) &inferior_fp_registers, 0);
 }
 
+struct md_core {
+  struct reg intreg; 
+  struct fpreg freg;
+};
+
 void
 fetch_core_registers (core_reg_sect, core_reg_size, which, ignore)
      char *core_reg_sect;
@@ -70,5 +75,12 @@ fetch_core_registers (core_reg_sect, core_reg_size, which, ignore)
      int which;
      unsigned int ignore;
 {
-  abort();
+  struct md_core *core_reg = (struct md_core *)core_reg_sect;
+  
+  /* Integer registers */
+  memcpy(&registers[REGISTER_BYTE (0)],
+        &core_reg->intreg, sizeof(struct reg));
+  /* Floating point registers */
+  memcpy(&registers[REGISTER_BYTE (FP0_REGNUM)],
+        &core_reg->freg, sizeof(struct fpreg));
 }