From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11129 invoked by alias); 21 Feb 2003 00:14:16 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11121 invoked from network); 21 Feb 2003 00:14:15 -0000 Received: from unknown (HELO mout2.freenet.de) (194.97.50.155) by 172.16.49.205 with SMTP; 21 Feb 2003 00:14:15 -0000 Received: from [194.97.50.144] (helo=mx1.freenet.de) by mout2.freenet.de with asmtp (Exim 4.12) id 18m0pS-0000k8-00 for gdb-patches@sources.redhat.com; Fri, 21 Feb 2003 01:14:14 +0100 Received: from b01ce.pppool.de ([213.7.1.206] helo=whitebox.local) by mx1.freenet.de with esmtp (Exim 4.12 #2) id 18m0pR-0002Mc-00 for gdb-patches@sources.redhat.com; Fri, 21 Feb 2003 01:14:14 +0100 Received: from whitebox.local (localhost [127.0.0.1]) by whitebox.local (8.12.6/8.12.6/SuSE Linux 0.6) with ESMTP id h1L0E98H003537 for ; Fri, 21 Feb 2003 01:14:09 +0100 Received: (from andreas@localhost) by whitebox.local (8.12.6/8.12.6/Submit) id h1L0E8Is003534; Fri, 21 Feb 2003 01:14:08 +0100 X-Authentication-Warning: whitebox.local: andreas set sender to schwab@suse.de using -f To: gdb-patches@sources.redhat.com Subject: ppc_linux_init_extra_frame_info X-Yow: Look DEEP into the OPENINGS!! Do you see any ELVES or EDSELS... or a HIGHBALL??... From: Andreas Schwab Date: Fri, 21 Feb 2003 00:14:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-02/txt/msg00507.txt.bz2 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 * 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); } }