diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/hppah-nat.c | 13 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4496c6f..2325987 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2004-12-05 Randolph Chung <tausq@debian.org> + * hppah-nat.c (store_inferior_registers): Rewrite logic to not use + DEPRECATED_REGISTER_BYTE. + +2004-12-05 Randolph Chung <tausq@debian.org> + * hppa-tdep.c (unwind_command): Print the stub type for stub unwind records. diff --git a/gdb/hppah-nat.c b/gdb/hppah-nat.c index 2a79b61..bf6af6d 100644 --- a/gdb/hppah-nat.c +++ b/gdb/hppah-nat.c @@ -114,8 +114,9 @@ store_inferior_registers (int regno) /* Floating-point registers come from the ss_fpblock area. */ else if (regno >= HPPA_FP0_REGNUM) - addr = (HPPAH_OFFSETOF (save_state_t, ss_fpblock) - + (DEPRECATED_REGISTER_BYTE (regno) - DEPRECATED_REGISTER_BYTE (HPPA_FP0_REGNUM))); + addr = HPPAH_OFFSETOF (save_state_t, ss_fpblock) + + ((regno - HPPA_FP0_REGNUM) + * register_size (current_gdbarch, regno)); /* Wide registers come from the ss_wide area. I think it's more PC to test (ss_flags & SS_WIDEREGS) to select @@ -123,14 +124,14 @@ store_inferior_registers (int regno) But checking ss_flags would require an extra ptrace call for every register reference. Bleah. */ else if (len == 8) - addr = (HPPAH_OFFSETOF (save_state_t, ss_wide) - + DEPRECATED_REGISTER_BYTE (regno)); + addr = HPPAH_OFFSETOF (save_state_t, ss_wide) + + regno * 8; /* Narrow registers come from the ss_narrow area. Note that ss_narrow starts with gr1, not gr0. */ else if (len == 4) - addr = (HPPAH_OFFSETOF (save_state_t, ss_narrow) - + (DEPRECATED_REGISTER_BYTE (regno) - DEPRECATED_REGISTER_BYTE (1))); + addr = HPPAH_OFFSETOF (save_state_t, ss_narrow) + + (regno - 1) * 4; else internal_error (__FILE__, __LINE__, "hppah-nat.c (write_register): unexpected register size"); |