From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1114 invoked by alias); 10 Mar 2004 16:59:07 -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 1105 invoked from network); 10 Mar 2004 16:59:06 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 10 Mar 2004 16:59:06 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1B172v-0002B1-QQ; Wed, 10 Mar 2004 11:59:05 -0500 Date: Wed, 10 Mar 2004 16:59:00 -0000 From: Daniel Jacobowitz To: Orjan Friberg Cc: gdb-patches@sources.redhat.com Subject: Re: [CRIS] dwarf2 frame sniffer problem? Message-ID: <20040310165905.GA4291@nevyn.them.org> Mail-Followup-To: Orjan Friberg , gdb-patches@sources.redhat.com References: <404F481E.9060709@axis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <404F481E.9060709@axis.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-03.o/txt/msg00240.txt On Wed, Mar 10, 2004 at 05:53:50PM +0100, Orjan Friberg wrote: > After getting the CRIS port into shape without the dwarf2 frame sniffer, > I hooked it in and found that basic stuff like next over a function call > no longer works. (More specifically, after stepping into the function, > gdb sets the breakpoint on the jump instruction itself, rather than at > the instruction after.) > > I do get a complaint "During symbol reading, Incomplete CFI data; > unspecified registers at 0x000802f6." already by the time I get to > main(), where 802f6 is the first address in main(), which is where the > subroutine pointer is pushed. Although there is a comment in > dwarf2-frame.c explaining the complaint, I'm not sure how seriously I > should take it. That shouldn't be the problem. > Thanks for any idea on what might be the cause or where to start digging. Well, it sounds like the return address is being unwound incorrectly. You may want to take a look at the CFI data by hand, and then compare with dwarf2_frame_prev_register. I can't quite imagine how you'd get the one-instruction-early behavior, though :) -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1114 invoked by alias); 10 Mar 2004 16:59:07 -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 1105 invoked from network); 10 Mar 2004 16:59:06 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 10 Mar 2004 16:59:06 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1B172v-0002B1-QQ; Wed, 10 Mar 2004 11:59:05 -0500 Date: Fri, 19 Mar 2004 00:09:00 -0000 From: Daniel Jacobowitz To: Orjan Friberg Cc: gdb-patches@sources.redhat.com Subject: Re: [CRIS] dwarf2 frame sniffer problem? Message-ID: <20040310165905.GA4291@nevyn.them.org> Mail-Followup-To: Orjan Friberg , gdb-patches@sources.redhat.com References: <404F481E.9060709@axis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <404F481E.9060709@axis.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-03/txt/msg00240.txt.bz2 Message-ID: <20040319000900.hc-qrWBLpiAGy8pv1QlUOshwe0_pmKTy7nLYtgGqaV4@z> On Wed, Mar 10, 2004 at 05:53:50PM +0100, Orjan Friberg wrote: > After getting the CRIS port into shape without the dwarf2 frame sniffer, > I hooked it in and found that basic stuff like next over a function call > no longer works. (More specifically, after stepping into the function, > gdb sets the breakpoint on the jump instruction itself, rather than at > the instruction after.) > > I do get a complaint "During symbol reading, Incomplete CFI data; > unspecified registers at 0x000802f6." already by the time I get to > main(), where 802f6 is the first address in main(), which is where the > subroutine pointer is pushed. Although there is a comment in > dwarf2-frame.c explaining the complaint, I'm not sure how seriously I > should take it. That shouldn't be the problem. > Thanks for any idea on what might be the cause or where to start digging. Well, it sounds like the return address is being unwound incorrectly. You may want to take a look at the CFI data by hand, and then compare with dwarf2_frame_prev_register. I can't quite imagine how you'd get the one-instruction-early behavior, though :) -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer