summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-04-28 14:07:08 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-04-28 14:07:08 -0400
commit342aedf25840cd4303aa63f69aeaa78263ce9d74 (patch)
treeede236e131b4511dca366d47412a75c0888a0d62
parentbe1b875ec567a8947da5893c09ad71478a4b50a9 (diff)
downloadsystemtap-steved-342aedf25840cd4303aa63f69aeaa78263ce9d74.tar.gz
systemtap-steved-342aedf25840cd4303aa63f69aeaa78263ce9d74.tar.xz
systemtap-steved-342aedf25840cd4303aa63f69aeaa78263ce9d74.zip
utrace process("PATH") also populate session unwindsym_modules
-rw-r--r--tapsets.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 522c1f94..d98595d5 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -4557,6 +4557,9 @@ struct utrace_builder: public derived_probe_builder
string::size_type start_pos, end_pos;
string component;
+ // XXX: these checks should be done in terms of filesystem
+ // operations.
+
// Make sure it starts with '/'.
if (path[0] != '/')
throw semantic_error ("process path must start with a '/'",
@@ -4583,6 +4586,8 @@ struct utrace_builder: public derived_probe_builder
// Make sure it isn't relative.
else if (component == "." || component == "..")
throw semantic_error ("process path cannot be relative (and contain '.' or '..')", location->tok);
+
+ sess.unwindsym_modules.insert (path);
}
finished_results.push_back(new utrace_derived_probe(sess, base, location,