diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-08-13 22:53:44 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-08-14 09:04:18 -0400 |
commit | 671ceda847955e31bc3ab310eb180fdc687a2ca8 (patch) | |
tree | 9fcfa58a88eef99b3c326da8ed641c9a93ffa610 /tapsets.cxx | |
parent | b9bee53ec058c142ac5ba010224dd75669d61ad5 (diff) | |
download | systemtap-steved-671ceda847955e31bc3ab310eb180fdc687a2ca8.tar.gz systemtap-steved-671ceda847955e31bc3ab310eb180fdc687a2ca8.tar.xz systemtap-steved-671ceda847955e31bc3ab310eb180fdc687a2ca8.zip |
PR10228: use task_finder_vma for -d /user/object files.
* main.cxx (main): For "-d /path" arguments, enable task finder.
* runtime/sym.h (_stp_module): Add *vmcb member.
* task_finder{.cxx,.h} (emit_vma_callback_probe_decl): Zap.
* tapset-itrace.cxx, tapset-utrace.cxx: Use unwindsyms_modules
instead.
* tapsets.cxx (uprobe::emit_module_decls): Ditto.
* translate.cxx (emit_module_init): Emit task finder registrations
for vmcb's associated with _stp_modules.
(dump_unwindsyms): Associate vmcbs with user-space unwindsyms entries.
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 333914d0..a88cda79 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -4423,21 +4423,6 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s) s.op->newline(-1) << "} stap_uprobes [MAXUPROBES];"; s.op->newline() << "DEFINE_MUTEX(stap_uprobes_lock);"; // protects against concurrent registration/unregistration - // Emit vma callbacks. - s.op->newline() << "#ifdef STP_NEED_VMA_TRACKER"; - s.op->newline() << "static struct stap_task_finder_target stap_uprobe_vmcbs[] = {"; - s.op->indent(1); - for (unsigned i = 0; i < probes.size(); i++) - { - uprobe_derived_probe* p = probes[i]; - if (p->pid != 0) - emit_vma_callback_probe_decl (s, "", p->pid); - else - emit_vma_callback_probe_decl (s, p->module, (int64_t)0); - } - s.op->newline(-1) << "};"; - s.op->newline() << "#endif"; - s.op->newline() << "static struct stap_uprobe_spec {"; s.op->newline(1) << "struct stap_task_finder_target finder;"; s.op->newline() << "unsigned long address;"; @@ -4692,15 +4677,6 @@ void uprobe_derived_probe_group::emit_module_init (systemtap_session& s) { if (probes.empty()) return; - s.op->newline() << "#ifdef STP_NEED_VMA_TRACKER"; - s.op->newline() << "_stp_sym_init();"; - s.op->newline() << "/* ---- uprobe vma callbacks ---- */"; - s.op->newline() << "for (i=0; i<ARRAY_SIZE(stap_uprobe_vmcbs); i++) {"; - s.op->indent(1); - s.op->newline() << "struct stap_task_finder_target *r = &stap_uprobe_vmcbs[i];"; - s.op->newline() << "rc = stap_register_task_finder_target(r);"; - s.op->newline(-1) << "}"; - s.op->newline() << "#endif"; s.op->newline() << "/* ---- user probes ---- */"; |