* hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind_cache): Record
authorDave Anglin <dave.anglin@nrc.ca>
Mon, 15 Sep 2008 02:19:47 +0000 (02:19 +0000)
committerDave Anglin <dave.anglin@nrc.ca>
Mon, 15 Sep 2008 02:19:47 +0000 (02:19 +0000)
HPPA_IPSW_REGNUM and HPPA_SAR_REGNUM values.

gdb/ChangeLog
gdb/hppa-linux-tdep.c

index 00619d720f0c816118367b89f5c70ba18546e687..a813027da733d668a6df5f1b97b39b41e0625279 100644 (file)
@@ -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.
index 2c91441d1fa71418da6828deeb23cb211ff07b58..adb2b3f78b56f42a248bcc9810422725e6c5dc7e 100644 (file)
@@ -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;