aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/unwind.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/unwind.c')
-rw-r--r--arch/arm/kernel/unwind.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/kernel/unwind.c b/arch/arm/kernel/unwind.c
index cbb85c5fabf9..0bee233fef9a 100644
--- a/arch/arm/kernel/unwind.c
+++ b/arch/arm/kernel/unwind.c
@@ -471,7 +471,6 @@ int unwind_frame(struct stackframe *frame)
471void unwind_backtrace(struct pt_regs *regs, struct task_struct *tsk) 471void unwind_backtrace(struct pt_regs *regs, struct task_struct *tsk)
472{ 472{
473 struct stackframe frame; 473 struct stackframe frame;
474 register unsigned long current_sp asm ("sp");
475 474
476 pr_debug("%s(regs = %p tsk = %p)\n", __func__, regs, tsk); 475 pr_debug("%s(regs = %p tsk = %p)\n", __func__, regs, tsk);
477 476
@@ -485,7 +484,7 @@ void unwind_backtrace(struct pt_regs *regs, struct task_struct *tsk)
485 frame.pc = regs->ARM_lr; 484 frame.pc = regs->ARM_lr;
486 } else if (tsk == current) { 485 } else if (tsk == current) {
487 frame.fp = (unsigned long)__builtin_frame_address(0); 486 frame.fp = (unsigned long)__builtin_frame_address(0);
488 frame.sp = current_sp; 487 frame.sp = current_stack_pointer;
489 frame.lr = (unsigned long)__builtin_return_address(0); 488 frame.lr = (unsigned long)__builtin_return_address(0);
490 frame.pc = (unsigned long)unwind_backtrace; 489 frame.pc = (unsigned long)unwind_backtrace;
491 } else { 490 } else {