From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6541 invoked by alias); 2 Jan 2003 20:34:35 -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 6534 invoked from network); 2 Jan 2003 20:34:34 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by 209.249.29.67 with SMTP; 2 Jan 2003 20:34:34 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h02K76B29565 for ; Thu, 2 Jan 2003 15:07:06 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [172.16.52.156]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h02KYMa13171; Thu, 2 Jan 2003 15:34:22 -0500 Received: from localhost.redhat.com (romulus-int.sfbay.redhat.com [172.16.27.46]) by pobox.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h02KYKL15804; Thu, 2 Jan 2003 15:34:20 -0500 Received: by localhost.redhat.com (Postfix, from userid 469) id 21C34FF78; Thu, 2 Jan 2003 15:38:41 -0500 (EST) From: Elena Zannoni MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15892.41806.882466.952438@localhost.redhat.com> Date: Thu, 02 Jan 2003 20:34:00 -0000 To: Michael Snyder Cc: Daniel Jacobowitz , Elena Zannoni , gdb-patches@sources.redhat.com Subject: Re: [RFA/PATCH] breakpoint.c: fix until command In-Reply-To: <3E14A019.4A600913@redhat.com> References: <15875.24035.153991.390184@localhost.redhat.com> <3E07A1F2.E7B77C89@redhat.com> <20021224000211.GA8155@nevyn.them.org> <3E07B0DC.CC733B10@redhat.com> <20021224010306.GA10409@nevyn.them.org> <3E14A019.4A600913@redhat.com> X-SW-Source: 2003-01/txt/msg00026.txt.bz2 Michael Snyder writes: > Daniel Jacobowitz wrote: > > > > On Mon, Dec 23, 2002 at 04:57:00PM -0800, Michael Snyder wrote: > > > Daniel Jacobowitz wrote: > > > > > > > > On Mon, Dec 23, 2002 at 03:53:22PM -0800, Michael Snyder wrote: > > > > > Elena Zannoni wrote: > > > > > > > > > > > > This fixes the problem reported in: > > > > > > http://sources.redhat.com/ml/gdb/2002-11/msg00144.html > > > > > > > > > > > > testsuite patch coming > > > > > > > > > > Elena, can you sum up in a sentence or two, what this change > > > > > is intended to do? > > > > > > > > [Since I happen to be reading email right now, I'll do a sketchy > > > > imitation.] > > > > > > > > The problem is that we were marking the breakpoint on the > > > > user-specified line with the current frame. But when we hit that > > > > breakpoint, if it's in a different function, it will have a different > > > > frame. Right now we see that the frames don't match and resume > > > > executing. > > > > > > > > Oops. > > > > > > OK, thanks. But we _need_ to mark the breakpoint with the current > > > frame, because if the breakpoint is in the current frame, we don't > > > want to stop in an inner recursive call, ie. not until the current > > > frame hits the breakpoint. > > > > > > So this needs further consideration, and I don't think it can > > > be approved as is. > > > > OK. Is that really what you expect "until" to do, though? I'd be > > pretty surprised if an inner function call executed that line without > > stopping. > > Nevertheless, that is and has always been the intent. > If you're in factorial(5), and you say "until 100", > you don't stop until line 100 is hit by factorial(5). I am tracking down this to something that changed between (ahem...) 4.18 and 5.0. The code in breakpoint.c didn't change. Right now, stepping the two gdb's side to side, I can see a difference in get_prev_frame, because of a different value returned by FRAME_CHAIN_VALID. :-( (i have not still stepped past that to see how that could influence the until foo behavior, maybe it doesn't). The behavior you specify above is in 5.0 and not in 4.18, while the 'until foo' works in 4.18 and is broken in 5.0. More digging. Elena