From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23960 invoked by alias); 31 Jul 2003 20:29:51 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 23951 invoked from network); 31 Jul 2003 20:29:48 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 31 Jul 2003 20:29:48 -0000 Received: from drow by nevyn.them.org with local (Exim 4.20 #1 (Debian)) id 19iK3L-0004om-MG; Thu, 31 Jul 2003 16:29:35 -0400 Date: Thu, 31 Jul 2003 20:29:00 -0000 From: Daniel Jacobowitz To: "H. J. Lu" Cc: David Carlton , GDB Subject: Re: gdb can't handle a DIE with both sibling and children Message-ID: <20030731202935.GA18405@nevyn.them.org> Mail-Followup-To: "H. J. Lu" , David Carlton , GDB References: <20030731181355.GA14242@lucon.org> <20030731182049.GA20335@nevyn.them.org> <20030731195640.GA16048@lucon.org> <20030731200215.GA17805@nevyn.them.org> <20030731202229.GA16545@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030731202229.GA16545@lucon.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-07/txt/msg00384.txt.bz2 On Thu, Jul 31, 2003 at 01:22:29PM -0700, H. J. Lu wrote: > On Thu, Jul 31, 2003 at 04:02:15PM -0400, Daniel Jacobowitz wrote: > > > > > > I don't know for sure how DW_TAG_entry_point works. It seems to me > > > that DW_TAG_entry_point should inherit DW_AT_accessibility and > > > DW_AT_high_pc from its parent. > > > > Certainly not high_pc. Its _bounds_ are the bounds of its parent; the > > entry point is only specific PC that gets jumped to. > > The entry point is DW_AT_low_pc. From what I can see, its DW_AT_high_pc > should be the same as its parent. See > > http://www-sld.slac.stanford.edu/HELP/FORTRAN/STATEMENTS/ENTRY Think about this for a moment. DW_AT_low_pc represents a PC - an entry point. DW_AT_low_pc + DW_AT_high_pc represents a range - a whole subroutine. The bounds of the entry point are the bounds of the entire function, or none at all. Inheriting DW_AT_high_pc makes no sense. In Fortran, they represent a low_pc->high_pc range, but there are a number of other useful meanings for it. Besides, what would you do if a function had DW_AT_ranges? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer