diff options
author | Matt Fleming <matt@console-pimps.org> | 2009-08-11 17:43:20 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-13 06:52:53 -0400 |
commit | 0eff9f66de79a0707a9c3a2f8528ccfd62100f0b (patch) | |
tree | 72c2cdbda141faec9950438b7e7cd02ddcd59705 /arch/sh/oprofile | |
parent | bf61ad1f870be88676a07bfef69acd59ce10172e (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')
-rw-r--r-- | arch/sh/oprofile/backtrace.c | 5 |
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 | ||