From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6106 invoked by alias); 10 Mar 2004 03:23:53 -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 6097 invoked from network); 10 Mar 2004 03:23:53 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 10 Mar 2004 03:23:53 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1B0uJz-0004Pm-Gc; Tue, 09 Mar 2004 22:23:51 -0500 Date: Fri, 19 Mar 2004 00:09:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com Cc: Andrew Cagney , Michael Elizabeth Chastain , vinschen@redhat.com Subject: Re: [RFC/RFA] gdb.cp/classes.exp: Don't try to print local variable out of scope Message-ID: <20040310032351.GA16933@nevyn.them.org> Mail-Followup-To: gdb-patches@sources.redhat.com, Andrew Cagney , Michael Elizabeth Chastain , vinschen@redhat.com References: <20040309161507.9FBF54B104@berman.michael-chastain.com> <404E2B2C.8030201@gnu.org> <20040309212736.GA8404@nevyn.them.org> <404E45EC.4030205@gnu.org> <20040310005631.GA13440@nevyn.them.org> <404E7489.4010209@gnu.org> <20040310030528.GB16230@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040310030528.GB16230@nevyn.them.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-03/txt/msg00224.txt.bz2 On Tue, Mar 09, 2004 at 10:05:29PM -0500, Daniel Jacobowitz wrote: > Think about this for a moment. I'm going to give addresses so that I > can be more precise. > > 0x10 : ret stuff(int) { } > 0x20
: push main() { > 0x21 : push { > 0x22 : move arg1, i stuff(i) > 0x23 : call stuff " > 0x24 : pop } > 0x25 : pop } > 0x26 : ret " > > The inner scope is probably to inclusive. > > Suppose PC == 0x10. We backtrace. Look at main; saved PC is 0x24. We > want an address in the block. We subtract 1. OK, saved addr-in-block > is 0x23. 'i' is in scope. > > Suppose PC == 0x24. Shouldn't this be the same? For the purposes of > looking at local variables, aren't we still in the the block? > > Suppose PC was 0x24 and we got a signal. Ditto. > > Suppose PC == 0x20 and we get a signal. Obviously we don't want to > change the behavior of this. BTW, my proposed replacement is woefully inaccurate, which I should have realized before posting. I do not have a good solution to this problem without actually turning back time :) -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6106 invoked by alias); 10 Mar 2004 03:23:53 -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 6097 invoked from network); 10 Mar 2004 03:23:53 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 10 Mar 2004 03:23:53 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1B0uJz-0004Pm-Gc; Tue, 09 Mar 2004 22:23:51 -0500 Date: Wed, 10 Mar 2004 03:23:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com Cc: Andrew Cagney , Michael Elizabeth Chastain , vinschen@redhat.com Subject: Re: [RFC/RFA] gdb.cp/classes.exp: Don't try to print local variable out of scope Message-ID: <20040310032351.GA16933@nevyn.them.org> Mail-Followup-To: gdb-patches@sources.redhat.com, Andrew Cagney , Michael Elizabeth Chastain , vinschen@redhat.com References: <20040309161507.9FBF54B104@berman.michael-chastain.com> <404E2B2C.8030201@gnu.org> <20040309212736.GA8404@nevyn.them.org> <404E45EC.4030205@gnu.org> <20040310005631.GA13440@nevyn.them.org> <404E7489.4010209@gnu.org> <20040310030528.GB16230@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040310030528.GB16230@nevyn.them.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-03.o/txt/msg00224.txt Message-ID: <20040310032300.7P8MpuxyVT6MnPFyjKPTddpnhe0ZwLCIVgXP-zWlMO0@z> On Tue, Mar 09, 2004 at 10:05:29PM -0500, Daniel Jacobowitz wrote: > Think about this for a moment. I'm going to give addresses so that I > can be more precise. > > 0x10 : ret stuff(int) { } > 0x20
: push main() { > 0x21 : push { > 0x22 : move arg1, i stuff(i) > 0x23 : call stuff " > 0x24 : pop } > 0x25 : pop } > 0x26 : ret " > > The inner scope is probably to inclusive. > > Suppose PC == 0x10. We backtrace. Look at main; saved PC is 0x24. We > want an address in the block. We subtract 1. OK, saved addr-in-block > is 0x23. 'i' is in scope. > > Suppose PC == 0x24. Shouldn't this be the same? For the purposes of > looking at local variables, aren't we still in the the block? > > Suppose PC was 0x24 and we got a signal. Ditto. > > Suppose PC == 0x20 and we get a signal. Obviously we don't want to > change the behavior of this. BTW, my proposed replacement is woefully inaccurate, which I should have realized before posting. I do not have a good solution to this problem without actually turning back time :) -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer