From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12204 invoked by alias); 31 Jul 2003 20:13:43 -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 12185 invoked from network); 31 Jul 2003 20:13:42 -0000 Received: from unknown (HELO hawaii.kealia.com) (209.3.10.89) by sources.redhat.com with SMTP; 31 Jul 2003 20:13:42 -0000 Received: by hawaii.kealia.com (Postfix, from userid 2049) id 627F2BFE0; Thu, 31 Jul 2003 13:13:42 -0700 (PDT) To: "H. J. Lu" Cc: GDB Subject: Re: gdb can't handle a DIE with both sibling and children References: <20030731181355.GA14242@lucon.org> <20030731182049.GA20335@nevyn.them.org> <20030731195640.GA16048@lucon.org> From: David Carlton Date: Thu, 31 Jul 2003 20:13:00 -0000 In-Reply-To: <20030731195640.GA16048@lucon.org> (H. J. Lu's message of "Thu, 31 Jul 2003 12:56:40 -0700") Message-ID: User-Agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.4 (Rational FORTRAN, linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-07/txt/msg00381.txt.bz2 On Thu, 31 Jul 2003 12:56:40 -0700, "H. J. Lu" said: > 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. I'm a little confused both from reading the DWARF 3 standard and from reading your code below; the standard doesn't really talk about why a DW_TAG_entry_point would or wouldn't be contained in a DW_TAG_subroutine, and I don't know any Fortran to help me figure this out. So: what does it mean for a subroutine to have another entry point? I see that that entry point has a name; is that name visible to other compilation units, or only to the compilation unit in question? If it's only visible to the compilation unit in question, then the partial symtab probably doesn't have to know about it at all. If it's visible outside the compilation unit (and if the compiler really is correct in putting DW_TAG_entry_points as children of DW_TAG_subroutines), then the partial symtab probably does have to know about it. In that case, you might want to look at what does to scan_partial_symbols; you could add an add_partial_subroutine function to it that looks for entry point tags within subroutines. David Carlton carlton@kealia.com