diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-04-24 13:08:02 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-04-24 13:08:02 -0400 |
commit | c47ccf304e6560cb50c86c2a5213c8de56678449 (patch) | |
tree | 3898fdc916b19f35111f63d6302f90b53770ac67 | |
parent | f0e6dc6304d8fea1e5fac151581f5deba0b07833 (diff) | |
download | systemtap-steved-c47ccf304e6560cb50c86c2a5213c8de56678449.tar.gz systemtap-steved-c47ccf304e6560cb50c86c2a5213c8de56678449.tar.xz systemtap-steved-c47ccf304e6560cb50c86c2a5213c8de56678449.zip |
add module-name vector to session object, command line arguments
-rw-r--r-- | main.cxx | 14 | ||||
-rw-r--r-- | session.h | 3 |
2 files changed, 16 insertions, 1 deletions
@@ -104,6 +104,14 @@ usage (systemtap_session& s, int exitcode) << " -c CMD start the probes, run CMD, and exit when it finishes" << endl << " -x PID sets target() to PID" << endl + << " -d OBJECT add unwind/symbol data for OBJECT file"; + if (s.unwindsym_modules.size() == 0) + clog << endl; + else + clog << ", in addition to" << endl; + for (unsigned i=0; i<s.unwindsym_modules.size(); i++) + clog << " " << s.unwindsym_modules[i] << endl; + clog << " -t collect probe timing information" << endl #ifdef HAVE_LIBSQLITE3 << " -q generate information on tapset coverage" @@ -342,7 +350,7 @@ main (int argc, char * const argv []) while (true) { // NB: also see find_hash(), usage(), switch stmt below, stap.1 man page - int grc = getopt (argc, argv, "hVMvtp:I:e:o:R:r:m:kgPc:x:D:bs:uqwl:"); + int grc = getopt (argc, argv, "hVMvtp:I:e:o:R:r:m:kgPc:x:D:bs:uqwl:d:"); if (grc < 0) break; switch (grc) @@ -385,6 +393,10 @@ main (int argc, char * const argv []) s.include_path.push_back (string (optarg)); break; + case 'd': + s.unwindsym_modules.push_back (string (optarg)); + break; + case 'e': if (have_script) { @@ -156,6 +156,9 @@ struct systemtap_session Dwarf_Addr sym_kprobes_text_end; Dwarf_Addr sym_stext; + // List of libdwfl module names to extract symbol/unwind data for. + std::vector<std::string> unwindsym_modules; + std::set<std::string> seen_errors; unsigned num_errors () { return seen_errors.size(); } // void print_error (const parse_error& e); |