* hppa-tdep.c (hppa_frame_cache): Add support for OpenBSD and
authorMark Kettenis <kettenis@gnu.org>
Thu, 14 Oct 2004 21:08:06 +0000 (21:08 +0000)
committerMark Kettenis <kettenis@gnu.org>
Thu, 14 Oct 2004 21:08:06 +0000 (21:08 +0000)
NetBSD system call stubs that store %rp in the ERP slot of the
stack frame.

gdb/ChangeLog
gdb/hppa-tdep.c

index 17570bdcbe0a2c95603132f1226c68e6c4e2b5a1..ada958e696a449b8bcdeebb7059f869267d8e76e 100644 (file)
@@ -1,5 +1,9 @@
 2004-10-14  Mark Kettenis  <kettenis@gnu.org>
 
+       * hppa-tdep.c (hppa_frame_cache): Add support for OpenBSD and
+       NetBSD system call stubs that store %rp in the ERP slot of the
+       stack frame.
+
        * source.c: Always define O_BINARY to 0 if not defined already.
        (openp): Unconditionally use O_BINARY.
 
index 1209584e93e0bb3ccf0c3b8489704e23018c9ec2..db15a1b30839776fb291a5054c7547c1d23ca31f 100644 (file)
@@ -1660,6 +1660,11 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
            looking_for_rp = 0;
            cache->saved_regs[HPPA_RP_REGNUM].addr = -20;
          }
+       else if (inst == 0x6bc23fd1) /* stw rp,-0x18(sr0,sp) */
+         {
+           looking_for_rp = 0;
+           cache->saved_regs[HPPA_RP_REGNUM].addr = -24;
+         }
        else if (inst == 0x0fc212c1) /* std rp,-0x10(sr0,sp) */
          {
            looking_for_rp = 0;