Blob Blame History Raw
commit b057e43ca01471715901d41448f303080d6a6ba0
Author: Josh Stone <jistone@redhat.com>
Date:   Fri Nov 16 13:48:26 2012 -0800

    stapdyn: Backport fixes for dyninst 8.0
    
    Applying these two changes back to systemtap 2.0:
    
        commit 744aac4dc3e066dcd92f31d7d89a47a7de65def8
        stapdyn: Remove the 8-arg register workaround
    
        commit 7ff8e006809c1544ec61658c21da3795a4212041
        stapdyn: loadLibrary now returns BPatch_object

diff --git a/stapdyn/stapdyn.cxx b/stapdyn/stapdyn.cxx
index 8e84ee9..ca73dde 100644
--- a/stapdyn/stapdyn.cxx
+++ b/stapdyn/stapdyn.cxx
@@ -190,10 +190,6 @@ get_dwarf_registers(BPatch_process *app,
   // O(m*n) loop, but neither array is very large
   for (const char* const* name = names; *name; ++name)
     {
-      // XXX Dyninst is currently limited in how many individual function
-      // arguments it can pass, so we'll have to cut this short...
-      if (registers.size() > 8) break;
-
       size_t i;
       for (i = 0; i < bpregs.size(); ++i)
         if (bpregs[i].name() == *name)
@@ -588,14 +584,13 @@ main(int argc, char * const argv[])
 
   // Load the stap module into the target process.
   g_child_process = app;
-  BPatch_module* stap_mod = app->loadLibrary(module);
-  if (!app)
+  g_stap_dso = app->loadLibrary(module);
+  if (!g_stap_dso)
     {
       staperror() << "Couldn't load " << module
                   << " into the target process" << endl;
       return 1;
     }
-  g_stap_dso = stap_mod->getObject();
 
   // Find and instrument uprobes in the target
   if ((rc = find_uprobes(dlmodule, g_targets)))