From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8918 invoked by alias); 27 Nov 2010 18:35:47 -0000 Received: (qmail 8810 invoked by uid 22791); 27 Nov 2010 18:35:46 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 27 Nov 2010 18:35:42 +0000 Received: (qmail 8107 invoked from network); 27 Nov 2010 18:35:40 -0000 Received: from unknown (HELO caradoc.them.org) (dan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 27 Nov 2010 18:35:40 -0000 Date: Sat, 27 Nov 2010 18:35:00 -0000 From: Daniel Jacobowitz To: Joel Brobecker Cc: gdb-patches@sourceware.org Subject: Re: [RFA] unexpected multiple location for breakpoint Message-ID: <20101127183532.GA10136@caradoc.them.org> Mail-Followup-To: Joel Brobecker , gdb-patches@sourceware.org References: <1290474625-1582-1-git-send-email-brobecker@adacore.com> <20101126172942.GK2634@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20101126172942.GK2634@adacore.com> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-11/txt/msg00471.txt.bz2 On Fri, Nov 26, 2010 at 09:29:42AM -0800, Joel Brobecker wrote: > However, I wonder if that makes any difference at all in our case: > If we have a "contained-in" relationship between two entries, then > the first of the two entries necessarily has a lower PC than the > second one. I don't think that's right. This is a lexical relationship; it doesn't imply any relationship at the PC level. But I'm not sure it's what you meant, either, since this: > The one scenario that Doug and I identified which my patch probably > does not handle well is the following case: > > > block1: > block2: > .line N > end block2 > .line N > end block1 illustrates a counter-example. I'm a bit confused, though; what sort of example produces this structure? Are single-line blocks involved (e.g. "if (a) { x; }" all on one line)? I would prefer GDB not make any decisions based on "lowest address"; between inlining, basic block reordering, et cetera, it doesn't mean much. -- Daniel Jacobowitz CodeSourcery