aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1994-01-22 20:34:37 +0000
committerStu Grossman <grossman@cygnus>1994-01-22 20:34:37 +0000
commite90445c997145c596588991a173d53e1a015e61a (patch)
treee7b52ad6488765c07ce8aafe7604a08f43529646
parent3f2255e7f87132dd8edca7f15842eb15bf9b4b03 (diff)
downloadgdb-e90445c997145c596588991a173d53e1a015e61a.zip
gdb-e90445c997145c596588991a173d53e1a015e61a.tar.gz
gdb-e90445c997145c596588991a173d53e1a015e61a.tar.bz2
* lynx-nat.c (fetch_core_registers): Load the I & L regs for the
Sparc from the stack.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/lynx-nat.c13
2 files changed, 15 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b9de4b1..ecf03b3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jan 22 12:29:13 1994 Stu Grossman (grossman at cygnus.com)
+
+ * lynx-nat.c (fetch_core_registers): Load the I & L regs for the
+ Sparc from the stack.
+
Sat Jan 22 08:30:42 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
* remote-mips.c (mips_initialize): Clear mips_initializing via
diff --git a/gdb/lynx-nat.c b/gdb/lynx-nat.c
index 66e0d25..78cfecb 100644
--- a/gdb/lynx-nat.c
+++ b/gdb/lynx-nat.c
@@ -376,7 +376,7 @@ store_inferior_registers (regno)
perror_with_name ("Sparc fetch_inferior_registers(ptrace)");
}
}
-#endif
+#endif /* SPARC */
#ifndef SPARC
@@ -427,7 +427,7 @@ fetch_inferior_registers (regno)
ecp = registers_addr (inferior_pid);
- for (regno = reglo; regno <= reghi && regmap[regno] != -1; regno++)
+ for (regno = reglo; regno <= reghi; regno++)
{
char buf[MAX_REGISTER_RAW_SIZE];
int ptrace_fun = PTRACE_PEEKTHREAD;
@@ -474,7 +474,7 @@ store_inferior_registers (regno)
ecp = registers_addr (inferior_pid);
- for (regno = reglo; regno <= reghi && regmap[regno] != -1; regno++)
+ for (regno = reglo; regno <= reghi; regno++)
{
int ptrace_fun = PTRACE_POKEUSER;
@@ -603,4 +603,11 @@ fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr)
for (regno = 0; regno < NUM_REGS; regno++)
supply_register (regno, core_reg_sect + offsetof (st_t, ec)
+ regmap[regno]);
+
+#ifdef SPARC
+/* Fetching this register causes all of the I & L regs to be read from the
+ stack and validated. */
+
+ fetch_inferior_registers (I0_REGNUM);
+#endif
}