* lynx-nat.c (fetch_core_registers): Load the I & L regs for the
authorStu Grossman <grossman@cygnus>
Sat, 22 Jan 1994 20:34:37 +0000 (20:34 +0000)
committerStu Grossman <grossman@cygnus>
Sat, 22 Jan 1994 20:34:37 +0000 (20:34 +0000)
Sparc from the stack.

gdb/ChangeLog
gdb/lynx-nat.c

index b9de4b19ffd17486b4440ccca94f52da67539a9f..ecf03b31831022eff62b67be95d8960cf79c0db7 100644 (file)
@@ -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
index 66e0d25c9c19c37d7ee4ac958242e23fcd7422a1..78cfecbb777e106eb4ad18df87822c8404155748 100644 (file)
@@ -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
 }