summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-04-24 13:08:02 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-06-23 17:37:17 -0400
commita8368458b976929634935d66202d27927e3c2ed9 (patch)
treeeb25397b6a29de2cdd55239deedb5b884fe21f9b
parent6b4b4f4a9e8d56db4050cf66572604708f483115 (diff)
downloadsystemtap-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.cxx14
-rw-r--r--session.h3
2 files changed, 16 insertions, 1 deletions
diff --git a/main.cxx b/main.cxx
index 58d7fa9f..45b154ac 100644
--- a/main.cxx
+++ b/main.cxx
@@ -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)
{
diff --git a/session.h b/session.h
index 58bc7ac5..2b61a85f 100644
--- a/session.h
+++ b/session.h
@@ -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(); }