On Mon, 2011-02-21 at 15:23 +0100, Mark Wielaard wrote:
Not yet sure how to handle this case. The original algorithm depended
on
the reference chain not being cyclic on its own (when ignoring
children). Obviously that isn't true in at least this case.
Code, plus cycle detection is on mjw/dwarf_output branch.
I added a special case/workaround for self-referential
DW_AT_containing_type attributes (commit 0a1e1b on mjw/dwarf_output
branch). And that seems to "solve" the issue. At least there are no
other reference chain cycles in the make check self tests. So for now I
hope to just continue with the current algorithm setup and regard this
one as just a weird case that shouldn't happen.
I do see dwarfcmp-test failures and crashes though. These might indicate
that dwarf_output is creating bogus trees (or at least ones that
dwarfcmp cannot proof equal to the original). Looking into that.
Cheers,
Mark