aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386b-nat.c13
-rw-r--r--gdb/m68knbsd-nat.c14
3 files changed, 30 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9a83bf6..98549ac 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/i386b-nat.c b/gdb/i386b-nat.c
index 5831d26..bb78d72 100644
--- a/gdb/i386b-nat.c
+++ b/gdb/i386b-nat.c
@@ -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
diff --git a/gdb/m68knbsd-nat.c b/gdb/m68knbsd-nat.c
index 5f25259..7f98147 100644
--- a/gdb/m68knbsd-nat.c
+++ b/gdb/m68knbsd-nat.c
@@ -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));
}