aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/oprofile
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-11 22:43:20 +0100
committerPaul Mundt <lethal@linux-sh.org>2009-08-13 19:52:53 +0900
commit0eff9f66de79a0707a9c3a2f8528ccfd62100f0b (patch)
tree72c2cdbda141faec9950438b7e7cd02ddcd59705 /arch/sh/oprofile
parentsh: Allow multiple stack unwinders to be setup (diff)
downloadlinux-dev-0eff9f66de79a0707a9c3a2f8528ccfd62100f0b.tar.xz
linux-dev-0eff9f66de79a0707a9c3a2f8528ccfd62100f0b.zip
sh: Use the new stack unwinder API
Instead of implementing our own stack unwinder via dump_trace() we should use the new stack unwinder API because it is more modular. This change allows us to decouple the interface for generating stacktraces from the implementation of a stack unwinder. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/oprofile')
-rw-r--r--arch/sh/oprofile/backtrace.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/oprofile/backtrace.c b/arch/sh/oprofile/backtrace.c
index 62e4e4d0273e..37cd75d7930e 100644
--- a/arch/sh/oprofile/backtrace.c
+++ b/arch/sh/oprofile/backtrace.c
@@ -17,6 +17,7 @@
#include <linux/sched.h>
#include <linux/kallsyms.h>
#include <linux/mm.h>
+#include <asm/unwinder.h>
#include <asm/ptrace.h>
#include <asm/uaccess.h>
#include <asm/sections.h>
@@ -120,8 +121,8 @@ void sh_backtrace(struct pt_regs * const regs, unsigned int depth)
stackaddr = (unsigned long *)regs->regs[15];
if (!user_mode(regs)) {
if (depth)
- dump_trace(NULL, regs, stackaddr,
- &backtrace_ops, &depth);
+ unwind_stack(NULL, regs, stackaddr,
+ &backtrace_ops, &depth);
return;
}