From: Roland McGrath Date: Tue, 31 Aug 2010 08:28:03 +0000 (-0700) Subject: debugging hacks, not to be merged X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1a148b60eb17f9f5d8b131dc9953b6665c2e748d;p=thirdparty%2Felfutils.git debugging hacks, not to be merged --- diff --git a/libdw/c++/dwarf_comparator b/libdw/c++/dwarf_comparator index af0964b9c..98afafc4b 100644 --- a/libdw/c++/dwarf_comparator +++ b/libdw/c++/dwarf_comparator @@ -304,6 +304,10 @@ namespace elfutils inline bool operator () (const ait1 &it1, const ait2 &it2) { + if (!_m_cmp.equals ((*it1).second, (*it2).second)) + { + asm("nop"); + } return _m_cmp.equals ((*it1).second, (*it2).second); } }; diff --git a/libdw/c++/dwarf_output b/libdw/c++/dwarf_output index b7bbaadc9..f01b90ce9 100644 --- a/libdw/c++/dwarf_output +++ b/libdw/c++/dwarf_output @@ -151,6 +151,12 @@ namespace elfutils friend class dwarf_output; friend class dwarf_output_collector; + __attribute__((used)) die_info_pair *info () const + { + return reinterpret_cast + (const_cast (this)); + } + public: class attributes_type : public dwarf_data::attributes_type @@ -1632,7 +1638,7 @@ namespace elfutils /* XXX disabled! tentative circularity matches taint this record! must record taint to avoid caching, or punt caching. */ - //_m_pending->_m_matched = doppleganger; + _m_pending->_m_matched = doppleganger; } /* This is called by finalize_children. In case of imported_unit diff --git a/libdw/c++/dwarf_tracker b/libdw/c++/dwarf_tracker index c75ccda24..cb1471185 100644 --- a/libdw/c++/dwarf_tracker +++ b/libdw/c++/dwarf_tracker @@ -706,15 +706,15 @@ namespace elfutils return matched._m_lhs == NULL && matched._m_rhs == NULL; } - inline bool notice_match (reference_match &/*matched*/, - const die1 &, const die2 &/*b*/, bool matches) + inline bool notice_match (reference_match &matched, + const die1 &, const die2 &b, bool matches) { /* XXX not reliable! This match could be predicated on a tentative match of a circular ref inside. We can't cache that! + */ if (matches && matched._m_lhs != NULL) matched._m_lhs->second.insert (b); - */ return matches; }