summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.exelib/libmarkunamestack.stp
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-09-14 17:47:26 -0400
committerDave Brolley <brolley@redhat.com>2009-09-14 17:47:26 -0400
commit9df741675d7e36008869dfff46ccc602875dc091 (patch)
tree1deafeacb302f9154586708ada7a240470aa6b4a /testsuite/systemtap.exelib/libmarkunamestack.stp
parentb232fab3a271c4c787462295d7ffbeca750c1092 (diff)
parent775c3771bb4a5f663a763d7c65b1571e24e4b212 (diff)
downloadsystemtap-steved-9df741675d7e36008869dfff46ccc602875dc091.tar.gz
systemtap-steved-9df741675d7e36008869dfff46ccc602875dc091.tar.xz
systemtap-steved-9df741675d7e36008869dfff46ccc602875dc091.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Conflicts: aclocal.m4 configure doc/SystemTap_Tapset_Reference/Makefile.in testsuite/aclocal.m4 testsuite/configure
Diffstat (limited to 'testsuite/systemtap.exelib/libmarkunamestack.stp')
-rw-r--r--testsuite/systemtap.exelib/libmarkunamestack.stp72
1 files changed, 72 insertions, 0 deletions
diff --git a/testsuite/systemtap.exelib/libmarkunamestack.stp b/testsuite/systemtap.exelib/libmarkunamestack.stp
new file mode 100644
index 00000000..0efbae0e
--- /dev/null
+++ b/testsuite/systemtap.exelib/libmarkunamestack.stp
@@ -0,0 +1,72 @@
+// Jumbo stp script
+// Arguments: @1 uprobes_exe, @2 libuprobes_lib.so
+
+# lib
+probe process(@1).function("main") {
+ printf("main\n");
+}
+
+probe process(@1).function("main_func") {
+ printf("main_func\n");
+}
+
+probe process(@2).function("lib_main") {
+ printf("lib_main\n");
+}
+
+probe process(@2).function("lib_func") {
+ printf("lib_func\n");
+}
+
+#mark
+probe process(@1).mark("main_count") {
+ printf("main_count: %d\n", $arg1);
+}
+
+probe process(@2).mark("func_count") {
+ printf("func_count: %d\n", $arg1);
+}
+
+#uname
+probe process(@1).function("*") {
+ printf("exe: %s=%s\n",probefunc(), usymname(uaddr()));
+}
+
+probe process(@2).function("*") {
+ printf("lib: %s=%s\n",probefunc(), usymname(uaddr()));
+}
+
+# ustack
+global hits = 0;
+
+probe process(@1).function("main_func")
+{
+ if (hits == 0)
+ {
+ log("print_ubacktrace exe 0");
+ print_ubacktrace();
+ hits++;
+ }
+ else if (hits == 1)
+ {
+ log("print_ustack exe 1");
+ print_ustack(ubacktrace());
+ hits++;
+ }
+}
+
+probe process(@2).function("lib_func")
+{
+ if (hits == 2)
+ {
+ log("print_ubacktrace lib 2");
+ print_ubacktrace();
+ hits++;
+ }
+ else if (hits == 3)
+ {
+ log("print_ustack lib 3");
+ print_ustack(ubacktrace());
+ hits++;
+ }
+}