2002-08-14 Michael Snyder <msnyder@redhat.com>
* mips-tdep.c (mips_frame_chain): Check for call-dummy frames.
Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.101
diff -c -3 -p -r1.101 mips-tdep.c
*** mips-tdep.c 14 Aug 2002 19:17:39 -0000 1.101
--- mips-tdep.c 14 Aug 2002 22:43:48 -0000
*************** mips_frame_chain (struct frame_info *fra
*** 2294,2302 ****
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)
return 0;
else
return get_frame_pointer (frame, proc_desc);
--- 2294,2304 ----
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
! /* Check if this is a call dummy frame. */
! && frame->pc != mips_call_dummy_address ())
return 0;
else
return get_frame_pointer (frame, proc_desc);