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-06-23 17:41:39 -0400
commit694ffc0b1c2371eb3a3ebb9313fd8c8d29ef66df (patch)
treed5a8d1a63973020c770385e8f9aa5f665ba857bc
parent1a0dbc5a7ff6ec220b9b4b150ce5cfb6c035d1f5 (diff)
downloadsystemtap-steved-694ffc0b1c2371eb3a3ebb9313fd8c8d29ef66df.tar.gz
systemtap-steved-694ffc0b1c2371eb3a3ebb9313fd8c8d29ef66df.tar.xz
systemtap-steved-694ffc0b1c2371eb3a3ebb9313fd8c8d29ef66df.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 7dd7cf27..a45233fc 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -5387,6 +5387,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 '/'",
@@ -5413,6 +5416,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,