summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
authorkenistoj <kenistoj>2007-10-08 21:52:12 +0000
committerkenistoj <kenistoj>2007-10-08 21:52:12 +0000
commit6274464ec4e095cd42238d0b4b5dc1d45bf100da (patch)
treee640a94f014c692f57e95ce087e87e1b2b301779 /tapsets.cxx
parenta9e8f7e0533811be2cd7c9a88d9058da8caa1d11 (diff)
downloadsystemtap-steved-6274464ec4e095cd42238d0b4b5dc1d45bf100da.tar.gz
systemtap-steved-6274464ec4e095cd42238d0b4b5dc1d45bf100da.tar.xz
systemtap-steved-6274464ec4e095cd42238d0b4b5dc1d45bf100da.zip
PR 5709
* main.cxx: Add pass 4.5: make uprobes.ko in runtime/uprobes * buildrun.cxx: Add uprobes_enabled() and make_uprobes(). Factor run_make_cmd() out of compile_pass(). * buildrun.h: Add uprobes_enabled and make_uprobes decls. * tapsets.cxx: Do correct #include for modprobed uprobes.ko; set need_uprobes in pass 2. * session.h: Add need_uprobes * runtime/staprun/common.c: Add -u option -> need_uprobes * runtime/staprun/staprun_funcs.c: Generalize insert_module() to support inserting uprobes.ko. * runtime/staprun/staprun.c: Add enable_uprobes(). insert_module call becomes insert_stap_module(). * runtime/staprun/staprun.h: Reflect insert_module() and need_uprobes changes * runtime/uprobes/*.[c,h]: uprobes is built as a module, rather than included into the source of the stap-generated module. * runtime/uprobes/Makefile: Added
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index c4d6962e..2af94890 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -4027,11 +4027,12 @@ public:
};
-uprobe_derived_probe::uprobe_derived_probe (systemtap_session &,
+uprobe_derived_probe::uprobe_derived_probe (systemtap_session &s,
probe* p, probe_point* l,
uint64_t pp, uint64_t aa, bool rr):
derived_probe(p, l), process(pp), address(aa), return_p (rr)
{
+ s.need_uprobes = true;
}
@@ -4073,11 +4074,10 @@ uprobe_derived_probe_group::emit_module_decls (systemtap_session& s)
s.op->newline() << "/* ---- user probes ---- */";
// If uprobes isn't in the kernel, pull it in from the runtime.
- // TODO: Consider detecting uprobes installed as a module.
- s.op->newline() << "#ifdef CONFIG_UPROBES";
+ s.op->newline() << "#if defined(CONFIG_UPROBES) || defined(CONFIG_UPROBES_MODULE)";
s.op->newline() << "#include <linux/uprobes.h>";
s.op->newline() << "#else";
- s.op->newline() << "#include \"uprobes/uprobes.c\"";
+ s.op->newline() << "#include \"uprobes/uprobes.h\"";
s.op->newline() << "#endif";
s.op->newline() << "struct stap_uprobe {";