This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb can't handle a DIE with both sibling and children
- From: David Carlton <carlton at kealia dot com>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: GDB <gdb at sources dot redhat dot com>
- Date: Thu, 31 Jul 2003 11:19:53 -0700
- Subject: Re: gdb can't handle a DIE with both sibling and children
- References: <20030731181355.GA14242@lucon.org>
On Thu, 31 Jul 2003 11:13:55 -0700, "H. J. Lu" <hjl@lucon.org> 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