From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26491 invoked by alias); 31 Jul 2003 18:19:54 -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 26480 invoked from network); 31 Jul 2003 18:19:54 -0000 Received: from unknown (HELO hawaii.kealia.com) (209.3.10.89) by sources.redhat.com with SMTP; 31 Jul 2003 18:19:54 -0000 Received: by hawaii.kealia.com (Postfix, from userid 2049) id A6E2DB940; Thu, 31 Jul 2003 11:19:53 -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> From: David Carlton Date: Thu, 31 Jul 2003 18:19:00 -0000 In-Reply-To: <20030731181355.GA14242@lucon.org> (H. J. Lu's message of "Thu, 31 Jul 2003 11:13:55 -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/msg00372.txt.bz2 On Thu, 31 Jul 2003 11:13:55 -0700, "H. J. Lu" said: > It is entirely possible for a DIE with both sibling and children. But > scan_partial_symbols () has > /* If the die has a sibling, skip to the sibling. Do not skip > enumeration types, we want to record their enumerators. Do > not skip namespaces, we want to record symbols inside > them. */ > if (pdi.sibling > && pdi.tag != DW_TAG_enumeration_type > && pdi.tag != DW_TAG_namespace) > { > info_ptr = pdi.sibling; > } > else if (pdi.has_children) > { > /* Die has children, but either the optional DW_AT_sibling > attribute is missing or we want to look at them. */ > nesting_level++; > } The partial symbol table normally only contains info about top-level symbols; so scan_partial_symbols rarely wants to look at children at all. The full symbol table contains info about everything, though. Is this causing you a problem in some specific situation? David Carlton carlton@kealia.com