aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/oprofile/backtrace.c
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-11 17:43:20 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-08-13 06:52:53 -0400
commit0eff9f66de79a0707a9c3a2f8528ccfd62100f0b (patch)
tree72c2cdbda141faec9950438b7e7cd02ddcd59705 /arch/sh/oprofile/backtrace.c
parentbf61ad1f870be88676a07bfef69acd59ce10172e (diff)
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/backtrace.c')
-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 @@
17#include <linux/sched.h> 17#include <linux/sched.h>
18#include <linux/kallsyms.h> 18#include <linux/kallsyms.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <asm/unwinder.h>
20#include <asm/ptrace.h> 21#include <asm/ptrace.h>
21#include <asm/uaccess.h> 22#include <asm/uaccess.h>
22#include <asm/sections.h> 23#include <asm/sections.h>
@@ -120,8 +121,8 @@ void sh_backtrace(struct pt_regs * const regs, unsigned int depth)
120 stackaddr = (unsigned long *)regs->regs[15]; 121 stackaddr = (unsigned long *)regs->regs[15];
121 if (!user_mode(regs)) { 122 if (!user_mode(regs)) {
122 if (depth) 123 if (depth)
123 dump_trace(NULL, regs, stackaddr, 124 unwind_stack(NULL, regs, stackaddr,
124 &backtrace_ops, &depth); 125 &backtrace_ops, &depth);
125 return; 126 return;
126 } 127 }
127 128