Commit db7eba292e913390fa881272bfbc3da0a5380513

Authored by Paul Mundt
1 parent 3f9b8520b0

sh: Fix up asm-generic/ptrace.h fallout.

There was an ordering issue with regards to instruction_pointer() being
used in profile_pc() prior to the asm-generic/ptrace.h include, which
subsequently provided the instruction_pointer() definition. In the
interest of simplicity we simply open-code the regs->pc deref for the
profile_pc() definition instead.

The FP functions were also broken due to a lack of a common regs->fp,
so provide a common GET_FP() that is safe for both architectures in order
to fix up the frame pointer helpers too.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

Showing 1 changed file with 4 additions and 2 deletions Side-by-side Diff

arch/sh/include/asm/ptrace.h
... ... @@ -41,8 +41,10 @@
41 41  
42 42 #define user_mode(regs) (((regs)->sr & 0x40000000)==0)
43 43 #define kernel_stack_pointer(_regs) ((unsigned long)(_regs)->regs[15])
44   -#define GET_USP(regs) ((regs)->regs[15])
45 44  
  45 +#define GET_FP(regs) ((regs)->regs[14])
  46 +#define GET_USP(regs) ((regs)->regs[15])
  47 +
46 48 extern void show_regs(struct pt_regs *);
47 49  
48 50 #define arch_has_single_step() (1)
... ... @@ -131,7 +133,7 @@
131 133  
132 134 static inline unsigned long profile_pc(struct pt_regs *regs)
133 135 {
134   - unsigned long pc = instruction_pointer(regs);
  136 + unsigned long pc = regs->pc;
135 137  
136 138 if (virt_addr_uncached(pc))
137 139 return CAC_ADDR(pc);