This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
infinite loop processing siblings - dwarf2reader - dwarf 3 debug
- From: Jason Richards <jsn dot richards at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Sat, 24 Oct 2009 21:24:26 -0700
- Subject: infinite loop processing siblings - dwarf2reader - dwarf 3 debug
I encountered a problem where GDB gets stuck in an infinite loop processing
dwarf 3 debug information. Turns out the producer has placed a
sibling attribute
in a die in a comp unit which references a previous die in the comp unit.
"locate_pdi_sibling" first checks for the presence of this sibling and
returns it
instead of scanning forward past the children (there are children
present in this die).
It seams to me the appropriate fix for this problem is to change
"locate_pdi_sibling"
to first return the location past the children, before returning
sibling information, which
fixes this particular problem.
Is there something I am not thinking about?
Regards-
Jason Richards