aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2002-08-19 23:22:17 +0000
committerMichael Snyder <msnyder@vmware.com>2002-08-19 23:22:17 +0000
commit7807aa614ff5cc5aba850e1586ce1a84e5392067 (patch)
treec60336d1858d1cb8512a198549ea3b6625148685
parent489461e2aa400b4d4e51d6d6d5b9c4a1513d1e8e (diff)
downloadgdb-7807aa614ff5cc5aba850e1586ce1a84e5392067.zip
gdb-7807aa614ff5cc5aba850e1586ce1a84e5392067.tar.gz
gdb-7807aa614ff5cc5aba850e1586ce1a84e5392067.tar.bz2
2002-08-14 Michael Snyder <msnyder@redhat.com>
* mips-tdep.c (mips_frame_chain): Check for call-dummy frames.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/mips-tdep.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3bad332..034254f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2002-08-14 Michael Snyder <msnyder@redhat.com>
+
+ * mips-tdep.c (mips_frame_chain): Check for call-dummy frames.
+
2002-08-19 Elena Zannoni <ezannoni@redhat.com>
* rs6000-tdep.c (struct reg): Add field to indicate a pseudo
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 6ced9fc..296dea6 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -2385,9 +2385,11 @@ mips_frame_chain (struct frame_info *frame)
we loop forever if we see a zero size frame. */
if (PROC_FRAME_REG (proc_desc) == SP_REGNUM
&& PROC_FRAME_OFFSET (proc_desc) == 0
- /* The previous frame from a sigtramp frame might be frameless
- and have frame size zero. */
- && !frame->signal_handler_caller)
+ /* The previous frame from a sigtramp frame might be frameless
+ and have frame size zero. */
+ && !frame->signal_handler_caller
+ /* Check if this is a call dummy frame. */
+ && frame->pc != mips_call_dummy_address ())
return 0;
else
return get_frame_pointer (frame, proc_desc);