ARM: 8074/1: traps: Make use of the frame_pointer macro
authorNikolay Borisov <Nikolay.Borisov@arm.com>
Tue, 3 Jun 2014 18:50:09 +0000 (19:50 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 18 Jul 2014 11:29:18 +0000 (12:29 +0100)
Use the newly-introduced frame_pointer macro to extract
the correct FP based on whether we are in THUMB2 mode or not.

Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/traps.c

index abd2fc0677364a529d4c12479890f6b97770b41a..c8e4bb7149444ce9c2670c92345ea67ccb94eed8 100644 (file)
 #include <asm/exception.h>
 #include <asm/unistd.h>
 #include <asm/traps.h>
+#include <asm/ptrace.h>
 #include <asm/unwind.h>
 #include <asm/tls.h>
 #include <asm/system_misc.h>
 #include <asm/opcodes.h>
 
+
 static const char *handler[]= {
        "prefetch abort",
        "data abort",
@@ -184,7 +186,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
                tsk = current;
 
        if (regs) {
-               fp = regs->ARM_fp;
+               fp = frame_pointer(regs);
                mode = processor_mode(regs);
        } else if (tsk != current) {
                fp = thread_saved_fp(tsk);
@@ -719,7 +721,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
                dump_instr("", regs);
                if (user_mode(regs)) {
                        __show_regs(regs);
-                       c_backtrace(regs->ARM_fp, processor_mode(regs));
+                       c_backtrace(frame_pointer(regs), processor_mode(regs));
                }
        }
 #endif