diff options
author | hunt <hunt> | 2005-09-06 17:40:12 +0000 |
---|---|---|
committer | hunt <hunt> | 2005-09-06 17:40:12 +0000 |
commit | 4c5ff1bb5bb35cb35e30c45e385043c5f8383cd0 (patch) | |
tree | a6696d16ece8e98844a6bac3ac550f0bd99f77c9 /buildrun.cxx | |
parent | c0b3ea3235ced04f5f372c98c5ea321e2da22c59 (diff) | |
download | systemtap-steved-4c5ff1bb5bb35cb35e30c45e385043c5f8383cd0.tar.gz systemtap-steved-4c5ff1bb5bb35cb35e30c45e385043c5f8383cd0.tar.xz systemtap-steved-4c5ff1bb5bb35cb35e30c45e385043c5f8383cd0.zip |
2005-09-06 Martin Hunt <hunt@redhat.com>
* tapset/context.stp: Add function target().
* stapfuncs.5.in (target): Document it.
* elaborate.h (struct systemtap_session): Add cmd and target_pid to
the struct.
* main.cxx (usage): Add secriptions of "-c" and "-x" options.
(main): Set s.cmd and s.target_pid.
* buildrun.cxx (stringify): Copy this utility func here too.
(run_pass): Add new options to set cmd and pid to the stpd
command line.
Diffstat (limited to 'buildrun.cxx')
-rw-r--r-- | buildrun.cxx | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/buildrun.cxx b/buildrun.cxx index 867d0d0e..130f4a1b 100644 --- a/buildrun.cxx +++ b/buildrun.cxx @@ -92,6 +92,15 @@ compile_pass (systemtap_session& s) } +template <typename T> +static string +stringify(T t) +{ + ostringstream s; + s << t; + return s.str (); +} + int run_pass (systemtap_session& s) @@ -114,8 +123,15 @@ run_pass (systemtap_session& s) string stpd_cmd = string("/usr/bin/sudo ") + string(PKGLIBDIR) + "/stpd " + "-r " // disable relayfs - + (s.verbose ? "" : "-q ") - + s.tmpdir + "/" + s.module_name + ".ko"; + + (s.verbose ? "" : "-q "); + + if (s.cmd != "") + stpd_cmd += "-c \"" + s.cmd + "\" "; + + if (s.target_pid) + stpd_cmd += "-t " + stringify(s.target_pid) + " "; + + stpd_cmd += s.tmpdir + "/" + s.module_name + ".ko"; if (s.verbose) clog << "Running " << stpd_cmd << endl; rc = system (stpd_cmd.c_str ()); |