commit b057e43ca01471715901d41448f303080d6a6ba0 Author: Josh Stone 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)))