diff options
| author | Petr Machata <[email protected]> | 2011-03-17 17:20:22 +0100 |
|---|---|---|
| committer | Petr Machata <[email protected]> | 2011-03-17 17:20:22 +0100 |
| commit | 46bed7782877d07b10801dc4a02ee325f3ccb8ac (patch) | |
| tree | 3e6b894371549858a0842b565eb55e66d68bdf48 | |
| parent | 1922758be240bdedec894e99c421e09e83301784 (diff) | |
| parent | f793650c0cd602569ce59e16cc3d747c262993b2 (diff) | |
Merge branch 'dwarf' of ssh://git.fedorahosted.org/git/elfutils into dwarf
| -rw-r--r-- | libdw/c++/dwarf_output | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libdw/c++/dwarf_output b/libdw/c++/dwarf_output index aeb192c4..aab1598b 100644 --- a/libdw/c++/dwarf_output +++ b/libdw/c++/dwarf_output @@ -1402,10 +1402,11 @@ namespace elfutils = dynamic_cast<const entry *> (it->second._m_value); if (ref != NULL) { - // Workaround weird case (bug?) - // https://fedorahosted.org/pipermail/elfutils-devel/2011-February/001792.html - if (it->first == DW_AT_containing_type - && ref->_m_pending == this) + // Workaround weird cases of self-referential DIE. + // This really is a bug in the producer and dwarflint + // should warn about it. But it is easy to work around + // so just do it for now, by ignoring such values. + if (ref->_m_pending == this) continue; else attr_rhashes ^= ref->get_reference_hash (stack); |
