aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/hppa-linux-tdep.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 00619d7..a813027 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
2008-09-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ * hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind_cache): Record
+ HPPA_IPSW_REGNUM and HPPA_SAR_REGNUM values.
+
* hppa-linux-tdep.c (hppa_dwarf_reg_to_regnum): Remove surrounding
"#if 0" "#endif". Fix mapping of DWARF DBX registers to GDB registers.
Correct arguments and improve comments.
diff --git a/gdb/hppa-linux-tdep.c b/gdb/hppa-linux-tdep.c
index 2c91441..adb2b3f 100644
--- a/gdb/hppa-linux-tdep.c
+++ b/gdb/hppa-linux-tdep.c
@@ -224,7 +224,8 @@ hppa_linux_sigtramp_frame_unwind_cache (struct frame_info *this_frame,
/* Skip sc_flags. */
scptr += 4;
- /* GR[0] is the psw, we don't restore that. */
+ /* GR[0] is the psw. */
+ info->saved_regs[HPPA_IPSW_REGNUM].addr = scptr;
scptr += 4;
/* General registers. */
@@ -234,7 +235,7 @@ hppa_linux_sigtramp_frame_unwind_cache (struct frame_info *this_frame,
scptr += 4;
}
- /* Pad. */
+ /* Pad to long long boundary. */
scptr += 4;
/* FP regs; FP0-3 are not restored. */
@@ -259,6 +260,8 @@ hppa_linux_sigtramp_frame_unwind_cache (struct frame_info *this_frame,
info->saved_regs[HPPA_PCOQ_TAIL_REGNUM].addr = scptr;
scptr += 4;
+ info->saved_regs[HPPA_SAR_REGNUM].addr = scptr;
+
info->base = get_frame_register_unsigned (this_frame, HPPA_SP_REGNUM);
return info;