This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
gdb can't handle a DIE with both sibling and children
- From: "H. J. Lu" <hjl at lucon dot org>
- To: GDB <gdb at sources dot redhat dot com>
- Date: Thu, 31 Jul 2003 11:13:55 -0700
- Subject: gdb can't handle a DIE with both sibling and children
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++;
}
That is we can't handle a DIE with both sibling and children. How
should we fix that?
H.J.