]> sourceware.org Git - systemtap.git/commitdiff
Add plt.return probes.
authorStan Cox <scox@redhat.com>
Tue, 29 Jul 2014 01:07:39 +0000 (21:07 -0400)
committerStan Cox <scox@redhat.com>
Tue, 29 Jul 2014 01:07:39 +0000 (21:07 -0400)
* tapsets.cxx (query_one_plt):  iterate_over_modules instead of
  derive_probes to reduce plt.statement visibility.
  (register_plt_variants): Remove plt.statement  Add plt.return
* plt.exp:  Add test for plt.return
* plt.stp:  Likewise
* list.exp (test_plt_list):  Likewise.
* listing_mode.exp: Remove plt.statement tests  Add plt.return tests
* unprivileged_myproc.exp Likewise.
* unprivileged_probes.exp Likewise.

NEWS
man/stapprobes.3stap
tapsets.cxx
testsuite/systemtap.base/list.exp
testsuite/systemtap.base/listing_mode.exp
testsuite/systemtap.base/plt.exp
testsuite/systemtap.base/plt.stp
testsuite/systemtap.unprivileged/unprivileged_myproc.exp
testsuite/systemtap.unprivileged/unprivileged_probes.exp

diff --git a/NEWS b/NEWS
index aeb09a5b514ad18809498d37dff4ce6480693d28..91f36e7ab5e1c1a93d2a4f68b44bcaf57c19bbf1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
 * What's new in version 2.6
 
+- process("PATH").library("PATH").plt("NAME").return probes are now supported.
+
 - SystemTap now supports SDT probes with operands that refer to symbols.
 
 - While in listing mode (-l/-L), probes printed are now more consistent
index c6272c7556eeb0df37bf4dc25964a39d630d29de..7e92cf8d4b862b8d43ffebd276767e9fb7d39386 100644 (file)
@@ -364,7 +364,8 @@ process("PATH").function("foo").callee("bar")
 process("PATH").function("foo").callees(DEPTH)
 process(PID).function("NAME")
 process(PID).function("myfun").label("foo")
-process(PID).plt("NAME)
+process(PID).plt("NAME")
+process(PID).plt("NAME").return
 process(PID).statement("*@FILE.c:123")
 process(PID).statement(ADDRESS).absolute
 .ESAMPLE
@@ -817,6 +818,7 @@ process("PATH").library("PATH").statement("*@FILE.c:123")
 process("PATH").function("*").return
 process("PATH").function("myfun").label("foo")
 process("PATH").function("foo").callee("bar")
+process("PATH").plt("NAME").return
 process(PID).function("NAME")
 process(PID).statement("*@FILE.c:123")
 process(PID).plt("NAME")
@@ -846,7 +848,9 @@ A .plt probe will probe functions in the program linkage table
 corresponding to the rest of the probe point.  .plt can be specified
 as a shorthand for .plt("*").  The symbol name is available as a
 $$name context variable; function arguments are not available, since
-PLTs are processed without debuginfo.
+PLTs are processed without debuginfo.  A .plt.return probe places a
+probe at the moment \fBafter\fR the return from the named 
+function.
 
 .PP
 If the PATH string contains wildcards as in the MPATTERN case, then
index e90c456435d2742560c554f6dc1683aba54c75d2..6604c2790f20b075f694ad8c8bb5d57511acb8c8 100644 (file)
@@ -2578,7 +2578,15 @@ query_one_plt (const char *entry, long addr, dwflpp & dw,
       string e = string(entry);
       plt_expanding_visitor pltv (e);
       pltv.replace (new_base->body);
-      derive_probes(dw.sess, new_base, results);
+
+      literal_map_t params;
+      for (unsigned i = 0; i < derived_loc->components.size(); ++i)
+       {
+          probe_point::component *c = derived_loc->components[i];
+          params[c->functor] = c->arg;
+       }
+      dwarf_query derived_q(new_base, derived_loc, dw, params, results, "", "");
+      dw.iterate_over_modules<base_query>(&query_module, &derived_q);
 }
 
 
@@ -5368,10 +5376,13 @@ dwarf_derived_probe::register_plt_variants(systemtap_session& s,
   root->bind_str(TOK_PLT)
     ->bind_privilege(pr_all)
     ->bind(dw);
-  root->bind(TOK_PLT)->bind_num(TOK_STATEMENT)
+
+  root->bind(TOK_PLT)
+    ->bind(TOK_RETURN)
     ->bind_privilege(pr_all)
     ->bind(dw);
-  root->bind_str(TOK_PLT)->bind_num(TOK_STATEMENT)
+  root->bind_str(TOK_PLT)
+    ->bind(TOK_RETURN)
     ->bind_privilege(pr_all)
     ->bind(dw);
 }
index dc4a7a4965e98ed0a5822590eb32631b3005996c..c55dacc0583ba0b562d323337f8450254d014ad3 100644 (file)
@@ -1,5 +1,5 @@
 # PR14297-related testing
-set stap_path $env(SYSTEMTAP_PATH)/stap
+set stap_path [file normalize $env(SYSTEMTAP_PATH)/stap]
 
 proc test_list { test input output_re } {
     spawn stap -l $input
@@ -37,6 +37,15 @@ test_plt_list plt-glob2 {process("stap").plt("re*")} \
 test_plt_list plt-non-glob {process("stap").plt("read")} \
     "^process\\\(\"$stap_path\"\\\)\\\.plt\\\(\"read\"\\\)\r\n$"
 
+test_plt_list plt-glob-ret {process("stap").plt("re??").return} \
+    "^process\\\(\"$stap_path\"\\\)\\\.plt\\\(\"read\"\\\).return\r\n$"
+
+test_plt_list plt-glob2-ret {process("stap").plt("re*").return} \
+    "^process\\\(\"$stap_path\"\\\)\\\.plt\\\(\"re\[a-zA-Z0-9_\]*\"\\\).return\r\n"
+
+test_plt_list plt-non-glob-ret {process("stap").plt("read").return} \
+    "^process\\\(\"$stap_path\"\\\)\\\.plt\\\(\"read\"\\\).return\r\n$"
+
 test_uprobes_list mark-non-glob {process("stap").mark("pass5__end")} \
     "^process\\\(\"$stap_path\"\\\)\\\.mark\\\(\"pass5__end\"\\\)\r\n$"
 
index 7283170908cd4c86155587629630b20450b9b649..427d1fc97e75d12cf61a051e5024fc6a5b72d45c 100644 (file)
@@ -373,21 +373,21 @@ proc report_untested_probes {} {
          }
 
          process.library(string).plt -
-         process.library(string).plt.statement(number) -
+         process.library(string).plt.return -
          process.library(string).plt(string) -
-         process.library(string).plt(string).statement(number) -
+         process.library(string).plt(string.return) -
          process(string).library(string).plt -
-         process(string).library(string).plt.statement(number) -
+         process(string).library(string).plt.return -
          process(string).library(string).plt(string) -
-         process(string).library(string).plt(string).statement(number) -
+         process(string).library(string).plt(string.return) -
          process.plt -
-         process.plt.statement(number) -
+         process.plt.return -
          process.plt(string) -
-         process.plt(string).statement(number) -
+         process.plt(string).return -
          process(string).plt -
-         process(string).plt.statement(number) -
+         process(string).plt.return -
          process(string).plt(string) -
-         process(string).plt(string).statement(number)
+         process(string).plt(string).return
          {
             if {![plt_probes_p]} {
                setup_kfail PLT *-*-*
@@ -869,10 +869,10 @@ if {$exepath != ""} {
       stap_list_cmd_lib "process.library(\"sopath\").plt" \
          "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.plt\\\(\"\[^\"\]+\"\\\)" {-1}
 
-      testing_probe {process.library(string).plt.statement(number)}
+      testing_probe {process.library(string).plt.return}
 
-      stap_list_cmd_lib "process.library(\"sopath\").plt.statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd_lib "process.library(\"sopath\").plt.return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.plt\\\(\"\[^\"\]+\"\\\).return" {-1}
 
       testing_probe {process.library(string).plt(string)}
 
@@ -885,16 +885,16 @@ if {$exepath != ""} {
       stap_list_cmd_lib "process.library(\"sopath\").plt(\"\\\[lp\\\]*\")" \
          "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.plt\\\(\"(libbar|printf)\"\\\)" {-1}
 
-      testing_probe {process.library(string).plt(string).statement(number)}
+      testing_probe {process.library(string).plt(string).return}
 
-      stap_list_cmd_lib "process.library(\"sopath\").plt(\"libbar\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd_lib "process.library(\"sopath\").plt(\"libbar\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.plt\\\(\"libbar\"\\\).return"
 
-      stap_list_cmd_lib "process.library(\"sopath\").plt(\"libba?\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd_lib "process.library(\"sopath\").plt(\"libba?\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.plt\\\(\"libbar\"\\\).return"
 
-      stap_list_cmd_lib "process.library(\"sopath\").plt(\"\\\[lp\\\]*\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd_lib "process.library(\"sopath\").plt(\"\\\[lp\\\]*\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.library\\\(\"$sofullpath\"\\\)\\\.plt\\\(\"(libbar|printf)\"\\\).return" {-1}
    }
 
    testing_probe {process.library(string).provider(string).mark(string)}
@@ -951,10 +951,11 @@ if {$exepath != ""} {
       stap_list_cmd "process.plt" \
          "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"\[^\"\]+\"\\\)" {-1}
 
-      testing_probe {process.plt.statement(number)}
 
-      stap_list_cmd "process.plt.statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      testing_probe {process.plt.return}
+
+      stap_list_cmd "process.plt.return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"\[^\"\]+\"\\\).return" {-1}
 
       testing_probe {process.plt(string)}
 
@@ -964,19 +965,16 @@ if {$exepath != ""} {
       stap_list_cmd "process.plt(\"libfo?\")" \
          "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"libfoo\"\\\)"
 
-      stap_list_cmd "process.plt(\"\\\[lp\\\]*\")" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"(libfoo|printf)\"\\\)" {-1}
-
-      testing_probe {process.plt(string).statement(number)}
+      testing_probe {process.plt(string).return}
 
-      stap_list_cmd "process.plt(\"libfoo\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd "process.plt(\"libfoo\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"libfoo\"\\\).return"
 
-      stap_list_cmd "process.plt(\"libfo?\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd "process.plt(\"libfo?\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"libfoo\"\\\).return"
 
-      stap_list_cmd "process.plt(\"\\\[lp\\\]*\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list_cmd "process.plt(\"\\\[lp\\\]*\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"(libfoo|printf)\"\\\).return" {-1}
    }
 
    testing_probe {process.provider(string).mark(string)}
@@ -1145,10 +1143,10 @@ if {$exepath != ""} {
       stap_list "process($valid_pid).plt" \
          "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"\[^\"\]+\"\\\)" {-1}
 
-      testing_probe {process(number).plt.statement(number)}
+      testing_probe {process(number).plt.return}
 
-      stap_list "process($valid_pid).plt.statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list "process($valid_pid).plt.return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"\[^\"\]+\"\\\).return" {-1}
 
       testing_probe {process(number).plt(string)}
 
@@ -1161,16 +1159,16 @@ if {$exepath != ""} {
       stap_list "process($valid_pid).plt(\"\\\[lp\\\]*\")" \
          "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"(libfoo|printf)\"\\\)" {-1}
 
-      testing_probe {process(number).plt(string).statement(number)}
+      testing_probe {process(number).plt(string).return}
 
-      stap_list "process($valid_pid).plt(\"libfoo\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list "process($valid_pid).plt(\"libfoo\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"libfoo\"\\\).return"
 
-      stap_list "process($valid_pid).plt(\"libfo?\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list "process($valid_pid).plt(\"libfo?\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"libfoo\"\\\).return"
 
-      stap_list "process($valid_pid).plt(\"\\\[lp\\\]*\").statement(0x123)" \
-         "re:process\\\(\"$exefullpath\"\\\)\\\.statement\\\(0x\[a-f0-9\]+\\\)"
+      stap_list "process($valid_pid).plt(\"\\\[lp\\\]*\").return" \
+         "re:process\\\(\"$exefullpath\"\\\)\\\.plt\\\(\"(libfoo|printf)\"\\\).return" {-1}
    }
 
    testing_probe {process(number).provider(string).mark(string)}
@@ -1266,17 +1264,13 @@ stap_list "process($valid_pid).thread.end"
    #process(string).library(string).function(string).return
    #process(string).library(string).mark(string)
    #process(string).library(string).plt
-   #process(string).library(string).plt.statement(number)
    #process(string).library(string).plt(string)
-   #process(string).library(string).plt(string).statement(number)
    #process(string).library(string).provider(string).mark(string)
    #process(string).library(string).statement(number)
    #process(string).library(string).statement(string)
    #process(string).mark(string)
    #process(string).plt
-   #process(string).plt.statement(number)
    #process(string).plt(string)
-   #process(string).plt(string).statement(number)
    #process(string).provider(string).mark(string)
    #process(string).statement(number)
    #process(string).statement(string)
index 76740aa049721d55fbcc2fab60fe020bbb105d2f..f55be3e508697e08b4e237ab09cd3a538f47ffaa 100644 (file)
@@ -78,12 +78,12 @@ if { [error_handler [expr {$res == ""}] "target_compile plt.x" ""] } { return }
 # test process.plt
 
 set pp {process("./plt.x").plt, process("./libplt1.so").plt, process("./libplt2.so").plt}
-stap_run3 "plt" "$script" "$pp" -c "$exepath >/dev/null"
+stap_run3 "plt" "$script" "$pp" "noreturn" -c "$exepath >/dev/null"
 
 # test process.library.plt
 
 set pp {process("./plt.x").plt, process("./plt.x").library("libplt*").plt}
-stap_run3 "plt library" "$script" "$pp" -c "$exepath >/dev/null"
+stap_run3 "plt library" "$script" "$pp" "noreturn" -c "$exepath >/dev/null"
 
 # test process.library.plt prelinked
 
@@ -95,19 +95,66 @@ if {[prelink_p]} {
     } else {
         pass "plt prelink libplt1.so"
         set pp {process("./plt.x").plt, process("./plt.x").library("libplt*").plt}
-        stap_run3 "plt prelinked library" "$script" "$pp" -c "$exepath >/dev/null"
+        stap_run3 "plt prelinked library" "$script" "$pp" "noreturn" -c "$exepath >/dev/null"
     }
 } else {
     untested "plt prelink libplt1.so"
     untested "plt prelinked library"
 }
 
+# test .plt.return: .plt/.plt.return should cancel out
+set ::result_string \
+{__cxa_finalize 0
+__libc_start_main 0
+__xpg_basename 0
+asctime 0
+asprintf 0
+basename2 0
+bsearch 0
+critters 0
+datetime 0
+find_critter 0
+fprintf 0
+fputs 0
+free 0
+localtime 0
+malloc 0
+memcpy 0
+open 0
+open2 0
+open3 0
+print_critter 0
+printf 0
+qsort 0
+register_printf_function 0
+savestring 0
+stpcpy 0
+strcmp 0
+strftime 0
+strlen 0
+time 0
+widgets 0
+xmalloc 0
+zenme 0}
+
+# test process.plt.return
+
+set pp {process("./plt.x").plt, process("./libplt1.so").plt, process("./libplt2.so").plt}
+stap_run3 "plt.return" "$script" "$pp" "return" -c "$exepath >/dev/null"
+
+# test process.library.plt.return
+
+set pp {process("./plt.x").plt, process("./plt.x").library("libplt*").plt}
+stap_run3 "plt.return library" "$script" "$pp" "return" -c "$exepath >/dev/null"
+
+
+
 # test process.plt("glob")
 
 set ok 0
 set ::result_string {strcmp 51}
 set pp {process("./libplt2.so").plt("strcmp")}
-stap_run3 "plt glob" "$script" "$pp" -c "$exepath >/dev/null"
+stap_run3 "plt glob" "$script" "$pp" "noreturn" -c "$exepath >/dev/null"
 
 
 cleanup_handler $verbose
index 286c4e90fca2a83979b6d646b019f5aca9b35d11..a612177ef28db9b545d4d5cbbb21e5e52f7f1c80 100644 (file)
@@ -1,7 +1,16 @@
 global calls
+
 probe $1 {
   calls[$$name] += 1
 }
+
+%( @2 == "return" %?
+probe $1.return {
+  calls[$$name] -= 1
+}
+%)
+
+
 probe end {
   foreach (x+ in calls)
     printf ("%s %d\n", x, calls[x])
index e04a5836dcfc6966e7a277b0381b68c1854b0177..e9b8f19f2f6dfbebceaa58ac96b7bd0dcce6273d 100644 (file)
@@ -24,9 +24,9 @@ set myproc_probe_types [list \
   "process.function(string).callees" \
   "process.function(string).callees(number)" \
   "process.plt" \
-  "process.plt.statement(number)" \
+  "process.plt.return" \
   "process.plt(string)" \
-  "process.plt(string).statement(number)" \
+  "process.plt(string).return" \
   "process.library(string).function(number)" \
   "process.library(string).function(number).call" \
   "process.library(string).function(number).inline" \
@@ -42,9 +42,9 @@ set myproc_probe_types [list \
   "process.library(string).function(string).callees" \
   "process.library(string).function(string).callees(number)" \
   "process.library(string).plt" \
-  "process.library(string).plt.statement(number)" \
+  "process.library(string).plt.return" \
   "process.library(string).plt(string)" \
-  "process.library(string).plt(string).statement(number)" \
+  "process.library(string).plt(string).return" \
   "process.library(string).mark(string)" \
   "process.library(string).provider(string).mark(string)" \
   "process.library(string).statement(number)" \
@@ -82,9 +82,9 @@ set myproc_probe_types [list \
   "process(number).function(string).return" \
   "process(number).mark(string)" \
   "process(number).plt" \
-  "process(number).plt.statement(number)" \
+  "process(number).plt.return" \
   "process(number).plt(string)" \
-  "process(number).plt(string).statement(number)" \
+  "process(number).plt(string).return" \
   "process(number).provider(string).mark(string)" \
   "process(number).statement(number)" \
   "process(number).statement(string)" \
@@ -124,17 +124,17 @@ set myproc_probe_types [list \
   "process(string).library(string).statement(number)" \
   "process(string).library(string).statement(string)" \
   "process(string).library(string).plt" \
-  "process(string).library(string).plt.statement(number)" \
+  "process(string).library(string).plt.return" \
   "process(string).library(string).plt(string)" \
-  "process(string).library(string).plt(string).statement(number)" \
+  "process(string).library(string).plt(string).return" \
   "process(string).mark(string)" \
   "process(string).provider(string).mark(string)" \
   "process(string).statement(number)" \
   "process(string).statement(string)" \
   "process(string).plt" \
-  "process(string).plt.statement(number)" \
+  "process(string).plt.return" \
   "process(string).plt(string)" \
-  "process(string).plt(string).statement(number)" \
+  "process(string).plt(string).return" \
   "process(string).syscall" \
   "process(string).syscall.return" \
   "process(string).thread.begin" \
@@ -215,13 +215,6 @@ proc add_args { probe_type pid } {
     # Replace "library(string).statement(string)" with "library(string).statement("libloopfunc@libloop.c:*")"
     regsub -all "library\\(string\\).statement\\(string\\)" $probe "library(string).statement(\"libloopfunc@libloop.c:*\")" probe
 
-    # Replace "library(string).plt.statement(number)" with
-    # "library(string).plt.statement($addr_of_libloopfunc)"
-    regsub -all "library\\(string\\).plt.statement\\(number\\)" $probe "library(string).plt.statement($addr_of_libloopfunc)" probe
-    # Replace "library(string).plt(string).statement(number)" with
-    # "library(string).plt(string).statement($addr_of_libloopfunc)"
-    regsub -all "library\\(string\\).plt\\(string\\).statement\\(number\\)" $probe "library(string).plt(string).statement($addr_of_libloopfunc)" probe
-
     # Replace "statement(number)" with "statement($addr_of_bar)"
     regsub -all "statement\\(number\\)" $probe "statement($addr_of_bar)" probe
     # Replace "statement(string)" with "statement("bar@loop.c:*")"
index a2feacdd6d1ed6a0e8e79ee7b4ef4e3e4b7552a6..c4231646490155def916089a9da30619c2cf6d5f 100644 (file)
@@ -36,9 +36,9 @@ set unrestricted_probe_types [list \
   "process.function(string).callees" \
   "process.function(string).callees(number)" \
   "process.plt" \
-  "process.plt.statement(number)" \
+  "process.plt.return" \
   "process.plt(string)" \
-  "process.plt(string).statement(number)" \
+  "process.plt(string).return" \
   "process.library(string).function(number)" \
   "process.library(string).function(number).call" \
   "process.library(string).function(number).inline" \
@@ -54,9 +54,9 @@ set unrestricted_probe_types [list \
   "process.library(string).function(string).callees" \
   "process.library(string).function(string).callees(number)" \
   "process.library(string).plt" \
-  "process.library(string).plt.statement(number)" \
+  "process.library(string).plt.return" \
   "process.library(string).plt(string)" \
-  "process.library(string).plt(string).statement(number)" \
+  "process.library(string).plt(string).return" \
   "process.library(string).mark(string)" \
   "process.library(string).provider(string).mark(string)" \
   "process.library(string).statement(number)" \
@@ -92,9 +92,9 @@ set unrestricted_probe_types [list \
   "process(number).function(string).return" \
   "process(number).mark(string)" \
   "process(number).plt" \
-  "process(number).plt.statement(number)" \
+  "process(number).plt.return" \
   "process(number).plt(string)" \
-  "process(number).plt(string).statement(number)" \
+  "process(number).plt(string).return" \
   "process(number).provider(string).mark(string)" \
   "process(number).statement(number)" \
   "process(number).statement(string)" \
@@ -133,17 +133,17 @@ set unrestricted_probe_types [list \
   "process(string).library(string).statement(number)" \
   "process(string).library(string).statement(string)" \
   "process(string).library(string).plt" \
-  "process(string).library(string).plt.statement(number)" \
+  "process(string).library(string).plt.return" \
   "process(string).library(string).plt(string)" \
-  "process(string).library(string).plt(string).statement(number)" \
+  "process(string).library(string).plt(string).return" \
   "process(string).mark(string)" \
   "process(string).provider(string).mark(string)" \
   "process(string).statement(number)" \
   "process(string).statement(string)" \
   "process(string).plt" \
-  "process(string).plt.statement(number)" \
+  "process(string).plt.return" \
   "process(string).plt(string)" \
-  "process(string).plt(string).statement(number)" \
+  "process(string).plt(string).return" \
   "process(string).syscall" \
   "process(string).syscall.return" \
   "process(string).thread.begin" \
This page took 0.158301 seconds and 5 git commands to generate.