summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStan Cox <scox@redhat.com>2009-06-16 12:58:33 -0400
committerStan Cox <scox@redhat.com>2009-06-16 12:59:22 -0400
commitde7c5583f657bb42980f66d3b88572241b676f76 (patch)
treedbdd0e88d73b16ab48dbe727060ea95c149e33a2
parent611ab8263198e3e8c2640cb4a3e1eb65e2037f96 (diff)
downloadsystemtap-steved-de7c5583f657bb42980f66d3b88572241b676f76.tar.gz
systemtap-steved-de7c5583f657bb42980f66d3b88572241b676f76.tar.xz
systemtap-steved-de7c5583f657bb42980f66d3b88572241b676f76.zip
Support -L for kprobe and utrace static user markers.
tapsets.cxx (dwarf_builder::build): Special case listing mode for kprobe and utrace.
-rw-r--r--tapsets.cxx11
-rw-r--r--testsuite/systemtap.base/static_uprobes.exp13
2 files changed, 11 insertions, 13 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 5e9deb9b..843b6017 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -3482,9 +3482,9 @@ dwarf_builder::build(systemtap_session & sess,
do
{
set<string>::iterator pb;
- pb = probes_handled.find(probe_table.mark_name);
+ pb = probes_handled.find(probe_table.probe_name);
if (pb == probes_handled.end())
- probes_handled.insert (probe_table.mark_name);
+ probes_handled.insert (probe_table.probe_name);
else
return;
@@ -3504,6 +3504,13 @@ dwarf_builder::build(systemtap_session & sess,
new_base->body = svv.require (new_base->body);
probe_table.convert_location(new_base, new_location);
derive_probes(sess, new_base, finished_results);
+ if (sess.listing_mode)
+ {
+ finished_results.back()->locations[0]->components[0]->functor = TOK_FUNCTION;
+ finished_results.back()->locations[0]->components[0]->arg = new literal_string (module_name);
+ finished_results.back()->locations[0]->components[1]->functor = TOK_MARK;
+ finished_results.back()->locations[0]->components[1]->arg = new literal_string (probe_table.probe_name.c_str());
+ }
}
while (probe_table.get_next_probe());
return;
diff --git a/testsuite/systemtap.base/static_uprobes.exp b/testsuite/systemtap.base/static_uprobes.exp
index 41dc3ec0..6a597646 100644
--- a/testsuite/systemtap.base/static_uprobes.exp
+++ b/testsuite/systemtap.base/static_uprobes.exp
@@ -165,12 +165,7 @@ wait
if {$ok == 5} {
pass "$test $pbtype_mssg"
} else {
- if { $pbtype_mssg == "uprobe" } {
- fail "$test ($ok) $pbtype_mssg"
- } else {
- # probe fires multiple times
- xfail "$test ($ok) $pbtype_mssg"
- }
+ fail "$test ($ok) $pbtype_mssg"
}
# Test passing various C types to .mark probes
@@ -225,11 +220,7 @@ expect {
if { $ok == 45 } {
pass "$test wildcard $pbtype_mssg"
} else {
- if { $pbtype_mssg == "uprobe" } {
- fail "$test wildcard ($ok) $pbtype_mssg"
- } else {
- xfail "$test wildcard ($ok) $pbtype_mssg"
- }
+ fail "$test wildcard ($ok) $pbtype_mssg"
}
# for {set i 0}