Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* ppc_linux_init_extra_frame_info
@ 2003-02-21  0:14 Andreas Schwab
  2003-02-21  1:48 ` ppc_linux_init_extra_frame_info Andrew Cagney
  2003-02-21  4:53 ` ppc_linux_init_extra_frame_info Kevin Buettner
  0 siblings, 2 replies; 5+ messages in thread
From: Andreas Schwab @ 2003-02-21  0:14 UTC (permalink / raw)
  To: gdb-patches

ppc_linux_init_extra_frame_info is clobbering the frame type which
causes dummy_frame_pop to bail out.  The frame type is now set before
INIT_FRAME_INFO is called.

Andreas.

2003-02-21  Andreas Schwab  <schwab@suse.de>

	* ppc-linux-tdep.c (ppc_linux_init_extra_frame_info): Don't set
	frame type to NORMAL_FRAME now that get_prev_frame sets frame
	type before calling INIT_FRAME_INFO.

--- gdb/ppc-linux-tdep.c.~1.23.~	2003-02-04 23:12:42.000000000 +0100
+++ gdb/ppc-linux-tdep.c	2003-02-21 00:29:39.000000000 +0100
@@ -146,18 +146,7 @@ static int ppc_linux_at_sigtramp_return_
    the first instruction of the handler is stepped over instead.  That
    puts us on the second instruction.  (I added the test for the
    first instruction long after the fact, just in case the observed
-   behavior is ever fixed.)
-
-   PC_IN_SIGTRAMP is called from blockframe.c as well in order to set
-   the frame's type (if a SIGTRAMP_FRAME).  Because of our strange
-   definition of in_sigtramp below, we can't rely on the frame's type
-   getting set correctly from within blockframe.c.  This is why we
-   take pains to set it in init_extra_frame_info().
-
-   NOTE: cagney/2002-11-10: I suspect the real problem here is that
-   the get_prev_frame() only initializes the frame's type after the
-   call to INIT_FRAME_INFO.  get_prev_frame() should be fixed, this
-   code shouldn't be working its way around a bug :-(.  */
+   behavior is ever fixed.)  */
 
 int
 ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name)
@@ -374,10 +363,6 @@ ppc_linux_init_extra_frame_info (int fro
          at trampoline code */
       if (ppc_linux_at_sigtramp_return_path (fi->pc))
 	deprecated_set_frame_type (fi, SIGTRAMP_FRAME);
-      else
-	/* FIXME: cagney/2002-11-10: Is this double bogus?  What
-           happens if the frame has previously been marked as a dummy?  */
-	deprecated_set_frame_type (fi, NORMAL_FRAME);
     }
 }
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-02-21 17:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-21  0:14 ppc_linux_init_extra_frame_info Andreas Schwab
2003-02-21  1:48 ` ppc_linux_init_extra_frame_info Andrew Cagney
2003-02-21  4:53 ` ppc_linux_init_extra_frame_info Kevin Buettner
2003-02-21 16:55   ` ppc_linux_init_extra_frame_info Andrew Cagney
2003-02-21 17:29     ` ppc_linux_init_extra_frame_info Kevin Buettner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox