]> sourceware.org Git - systemtap.git/commitdiff
Support -L for kprobe and utrace static user markers.
authorStan Cox <scox@redhat.com>
Tue, 16 Jun 2009 16:58:33 +0000 (12:58 -0400)
committerStan Cox <scox@redhat.com>
Tue, 16 Jun 2009 16:59:22 +0000 (12:59 -0400)
tapsets.cxx (dwarf_builder::build): Special case listing mode for kprobe and utrace.

tapsets.cxx
testsuite/systemtap.base/static_uprobes.exp

index 5e9deb9b2c99ead5c3c9206818668ff57762b20b..843b6017222c66aef23b1135cfed7ae108c88791 100644 (file)
@@ -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;
index 41dc3ec0fa280a75684332b6f24dc69c777bb07d..6a597646da3d220a2ed7f2fe78f18ef1a297fe9c 100644 (file)
@@ -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}
This page took 0.039711 seconds and 5 git commands to generate.