]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
debugging hacks, not to be merged roland/dwarf-hacking
authorRoland McGrath <roland@redhat.com>
Tue, 31 Aug 2010 08:28:03 +0000 (01:28 -0700)
committerRoland McGrath <roland@redhat.com>
Tue, 12 Oct 2010 17:48:05 +0000 (10:48 -0700)
libdw/c++/dwarf_comparator
libdw/c++/dwarf_output
libdw/c++/dwarf_tracker

index fa167e5201b262cb143f2761a64b17bb777c3dc0..d46338e6a7eec98642629af2a85eb3944ce37b8f 100644 (file)
@@ -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);
       }
     };
index 3110ea308901081e8c1ead50e04c4d4b9507d19f..3a2bbabd0f5e8380b83ecd232da3dfe98b73e1ef 100644 (file)
@@ -1,5 +1,5 @@
 /* elfutils::dwarf_output -- DWARF file generation in -*- C++ -*-
-   Copyright (C) 2009 Red Hat, Inc.
+   Copyright (C) 2009, 2010 Red Hat, Inc.
    This file is part of Red Hat elfutils.
 
    Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -153,6 +153,12 @@ namespace elfutils
       friend class dwarf_output;
       friend class dwarf_output_collector;
 
+      __attribute__((used)) die_info_pair *info () const
+      {
+       return reinterpret_cast<die_info_pair *>
+         (const_cast<debug_info_entry *> (this));
+      }
+
     public:
       class attributes_type
        : public dwarf_data::attributes_type<dwarf_output, value>
@@ -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
index cbd253e86fc96ccd9d629f910d70995f18669c79..5baa6b149a49177bcc5962fcf3440ff20d2b7300 100644 (file)
@@ -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;
     }