This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Making the transport layer more robust


On Tue, 2011-07-19 at 10:58 +0200, Mark Wielaard wrote:
> I am still investigating the test results on
> rhel5, they don't look that good (in particular exelib.exp fails a lot
> of tests because it is unable to find process.mark probe points)

Finally tracked this down to an old binutils bug... sigh. When I finally
knew what it was, the fix was was easy. With this all the 188 exelib.exp
tests PASS also on rhel5 based systems.

Cheers,

Mark

commit 1189063f8adaa13e2da16b51ab665663497ac102
Author: Mark Wielaard <mjw@redhat.com>
Date:   Wed Jul 20 16:05:31 2011 +0200

    Always look for .note.stapsdt sections in the main elf file.
    
    In dwflpp::iterate_over_notes we really want the actual elf file,
    not the dwarf .debug file.  Older binutils had a bug where they
    mangled the SHT_NOTE type during --keep-debug.

diff --git a/dwflpp.cxx b/dwflpp.cxx
index fcc142b..2ab8772 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -1007,8 +1007,10 @@ int
 dwflpp::iterate_over_notes (void *object, void (*callback)(void *object, int type, const char *data, size_t len))
 {
   Dwarf_Addr bias;
-  Elf* elf = (dwarf_getelf (dwfl_module_getdwarf (module, &bias))
-              ?: dwfl_module_getelf (module, &bias));
+  // Note we really want the actual elf file, not the dwarf .debug file.
+  // Older binutils had a bug where they mangled the SHT_NOTE type during
+  // --keep-debug.
+  Elf* elf = dwfl_module_getelf (module, &bias);
   size_t shstrndx;
   if (elf_getshdrstrndx (elf, &shstrndx))
     return elf_errno();


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]