From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19840 invoked by alias); 31 Jul 2003 21:01:46 -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 19833 invoked from network); 31 Jul 2003 21:01:45 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 31 Jul 2003 21:01:45 -0000 Received: from drow by nevyn.them.org with local (Exim 4.20 #1 (Debian)) id 19iKYQ-00054j-0d for ; Thu, 31 Jul 2003 17:01:42 -0400 Date: Thu, 31 Jul 2003 21:01:00 -0000 From: Daniel Jacobowitz To: GDB Subject: Re: gdb can't handle a DIE with both sibling and children Message-ID: <20030731210142.GA19399@nevyn.them.org> Mail-Followup-To: GDB References: <20030731181355.GA14242@lucon.org> <20030731182049.GA20335@nevyn.them.org> <20030731195640.GA16048@lucon.org> <20030731200215.GA17805@nevyn.them.org> <20030731202229.GA16545@lucon.org> <20030731202935.GA18405@nevyn.them.org> <20030731205836.GA17185@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030731205836.GA17185@lucon.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-07/txt/msg00387.txt.bz2 On Thu, Jul 31, 2003 at 01:58:36PM -0700, H. J. Lu wrote: > On Thu, Jul 31, 2003 at 04:29:35PM -0400, Daniel Jacobowitz wrote: > > 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. > > > > What should high_pc of an entry point be if it is not specified? The bounds of the entry point are the bounds of the containing function. The entry point of the entry point is its DW_AT_low_pc. They're not related... -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer