aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-10-14 21:08:06 +0000
committerMark Kettenis <kettenis@gnu.org>2004-10-14 21:08:06 +0000
commitdfaf8edb15328188dd17e23ace958e6d043da41b (patch)
treeb1703a278c050bafade9c47d24a053299dc106d5
parentd40539a4fade075e39b0e15ece390ce401ff603f (diff)
downloadgdb-dfaf8edb15328188dd17e23ace958e6d043da41b.zip
gdb-dfaf8edb15328188dd17e23ace958e6d043da41b.tar.gz
gdb-dfaf8edb15328188dd17e23ace958e6d043da41b.tar.bz2
* 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.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/hppa-tdep.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 17570bd..ada958e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 1209584..db15a1b 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -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;