From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4745 invoked by alias); 31 Jul 2003 19:36:16 -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 4737 invoked from network); 31 Jul 2003 19:36:16 -0000 Received: from unknown (HELO hawaii.kealia.com) (209.3.10.89) by sources.redhat.com with SMTP; 31 Jul 2003 19:36:16 -0000 Received: by hawaii.kealia.com (Postfix, from userid 2049) id CE3CFBFDF; Thu, 31 Jul 2003 12:36:15 -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> From: David Carlton Date: Thu, 31 Jul 2003 19:36:00 -0000 In-Reply-To: <20030731182049.GA20335@nevyn.them.org> (Daniel Jacobowitz's message of "Thu, 31 Jul 2003 14:20:49 -0400") 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/msg00378.txt.bz2 On Thu, 31 Jul 2003 14:20:49 -0400, Daniel Jacobowitz said: > It seems quite clear that the code above is deliberately only > visiting children of DW_TAG_enumeration_type and DW_TAG_namespace, > since those are the only things whose children it needs to visit. I > don't know why it was written that way, which does seem strange; I > imagine it does a lot of useless recursing. It's not written in the clearest fashion. I have this cleaned up on my branch to some extent, in a matter which, I hope, makes it clearer that, normally, we always want to skip children (whether or not the DIE happens to have a DW_AT_sibling attached to it): after all, most of the information contained in children is information that we don't need until a full symtab has been loaded. My rewrite then forks off the special cases for which we actually do want to look at children into their own special functions; maybe H.J. could add one for subprograms that looks for entry point tags. (Assuming, of course, that it really is important for the partial symbol table to know about entry point tags, not just the full symbol table.) I think, actually, that some or all of that cleanup is in my current patch waiting for approval. I really should get back to merging my branch in; I've been too busy with other work to be really active in that effort. David Carlton carlton@kealia.com