summaryrefslogtreecommitdiffstats
path: root/runtime/autoconf-save-stack-trace.c
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-03-16 12:15:24 -0400
committerDave Brolley <brolley@redhat.com>2009-03-16 12:15:24 -0400
commit24068a1f2e17857f4ce096a17244d09575a199c1 (patch)
treeb00dd1b858b19cc21a440d734e44ebe14d080d5a /runtime/autoconf-save-stack-trace.c
parent5bc7237f1c7bdb0eb850752c9611f94d009feff0 (diff)
parent2497c78e8aa704366683dad56fc8d749a5e92f52 (diff)
downloadsystemtap-steved-24068a1f2e17857f4ce096a17244d09575a199c1.tar.gz
systemtap-steved-24068a1f2e17857f4ce096a17244d09575a199c1.tar.xz
systemtap-steved-24068a1f2e17857f4ce096a17244d09575a199c1.zip
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Conflicts: Makefile.in main.cxx stap-find-servers stap-start-server
Diffstat (limited to 'runtime/autoconf-save-stack-trace.c')
-rw-r--r--runtime/autoconf-save-stack-trace.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/runtime/autoconf-save-stack-trace.c b/runtime/autoconf-save-stack-trace.c
new file mode 100644
index 00000000..39ded684
--- /dev/null
+++ b/runtime/autoconf-save-stack-trace.c
@@ -0,0 +1,22 @@
+#include <linux/string.h>
+#include <linux/sched.h>
+#include <linux/stacktrace.h>
+#include <asm/stacktrace.h>
+
+void foo(struct task_struct *foo)
+{
+ struct stack_trace trace;
+ unsigned long backtrace[20];
+ memset(&trace, 0, sizeof(trace));
+ trace.entries = &backtrace[0];
+ trace.max_entries = 20;
+ trace.skip = 0;
+ save_stack_trace_tsk(tsk, &trace);
+}
+
+static const struct stacktrace_ops print_stack_ops;
+
+void dumper(struct task_struct *foo)
+{
+ dump_trace(foo, 0, 0, 0, &print_stack_ops, 0);
+}