diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-04-24 13:08:02 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-06-23 17:37:17 -0400 |
commit | a8368458b976929634935d66202d27927e3c2ed9 (patch) | |
tree | eb25397b6a29de2cdd55239deedb5b884fe21f9b | |
parent | 6b4b4f4a9e8d56db4050cf66572604708f483115 (diff) | |
download | systemtap-steved-a8368458b976929634935d66202d27927e3c2ed9.tar.gz systemtap-steved-a8368458b976929634935d66202d27927e3c2ed9.tar.xz systemtap-steved-a8368458b976929634935d66202d27927e3c2ed9.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
@@ -106,6 +106,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" << endl @@ -393,7 +401,7 @@ main (int argc, char * const argv []) { "ignore-dwarf", 0, &long_opt, LONG_OPT_IGNORE_DWARF }, { NULL, 0, NULL, 0 } }; - int grc = getopt_long (argc, argv, "hVMvtp:I:e:o:R:r:m:kgPc:x:D:bs:uqwl:", + int grc = getopt_long (argc, argv, "hVMvtp:I:e:o:R:r:m:kgPc:x:D:bs:uqwl:d:", long_options, NULL); if (grc < 0) break; @@ -437,6 +445,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) { @@ -164,7 +164,10 @@ 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; struct module_cache* module_cache; + std::set<std::string> seen_errors; std::set<std::string> seen_warnings; unsigned num_errors () { return seen_errors.size(); } |