diff options
author | Stu Grossman <grossman@cygnus> | 1994-01-22 20:34:37 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1994-01-22 20:34:37 +0000 |
commit | e90445c997145c596588991a173d53e1a015e61a (patch) | |
tree | e7b52ad6488765c07ce8aafe7604a08f43529646 /gdb/lynx-nat.c | |
parent | 3f2255e7f87132dd8edca7f15842eb15bf9b4b03 (diff) | |
download | fsf-binutils-gdb-e90445c997145c596588991a173d53e1a015e61a.zip fsf-binutils-gdb-e90445c997145c596588991a173d53e1a015e61a.tar.gz fsf-binutils-gdb-e90445c997145c596588991a173d53e1a015e61a.tar.bz2 |
* lynx-nat.c (fetch_core_registers): Load the I & L regs for the
Sparc from the stack.
Diffstat (limited to 'gdb/lynx-nat.c')
-rw-r--r-- | gdb/lynx-nat.c | 13 |
1 files changed, 10 insertions, 3 deletions
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 } |