summaryrefslogtreecommitdiffstats
path: root/runtime/stack-x86_64.c
diff options
context:
space:
mode:
authorTim Moore <timoore@redhat.com>2009-02-02 15:58:53 +0100
committerTim Moore <timoore@redhat.com>2009-02-11 18:20:20 +0100
commitbbc46bf643491173b9086907cf0820b3fd2c1fe3 (patch)
tree9b74716911ed9deb015b1f12c4e2f31ed90a8339 /runtime/stack-x86_64.c
parent89dd03e34c2f890e9fbb065c74a60036aa480827 (diff)
downloadsystemtap-steved-bbc46bf643491173b9086907cf0820b3fd2c1fe3.tar.gz
systemtap-steved-bbc46bf643491173b9086907cf0820b3fd2c1fe3.tar.xz
systemtap-steved-bbc46bf643491173b9086907cf0820b3fd2c1fe3.zip
Use kernel stack backtrace support when available
Define new functions that use the kernel support to do a backtrace of other tasks than current.
Diffstat (limited to 'runtime/stack-x86_64.c')
-rw-r--r--runtime/stack-x86_64.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/stack-x86_64.c b/runtime/stack-x86_64.c
index d3ec91cf..060f370d 100644
--- a/runtime/stack-x86_64.c
+++ b/runtime/stack-x86_64.c
@@ -9,6 +9,8 @@
*/
/* DWARF unwinder failed. Just dump intereting addresses on kernel stack. */
+
+#ifndef CONFIG_STACKTRACE
static void _stp_stack_print_fallback(unsigned long stack, int verbose, int levels)
{
unsigned long addr;
@@ -22,6 +24,8 @@ static void _stp_stack_print_fallback(unsigned long stack, int verbose, int leve
stack++;
}
}
+#endif
+
static void __stp_stack_print(struct pt_regs *regs, int verbose, int levels)
{
@@ -48,3 +52,5 @@ static void __stp_stack_print(struct pt_regs *regs, int verbose, int levels)
_stp_stack_print_fallback(REG_SP(regs), verbose, levels);
#endif
}
+
+