This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] mips_frame_chain && dummy frames


This fixes five FAILS in callfuncs.exp for Irix cc -o32, 
for backtraces from nested call dummies.  Tested to make sure
it doesn't break -n32, either for cc or gcc.
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);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]