* Christoph Hellwig <hch@xxxxxx> wrote: > Doing the indirection through macros for the regs accessors just > makes them harder to read, so implement the helpers directly. > > Note that only the helpers actually used are implemented now. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > arch/x86/include/asm/ptrace.h | 29 ++++++++++++++++++++++++----- > 1 file changed, 24 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h > index 8a7fc0cca2d1..9b81ef539eb3 100644 > --- a/arch/x86/include/asm/ptrace.h > +++ b/arch/x86/include/asm/ptrace.h > @@ -98,7 +98,6 @@ struct cpuinfo_x86; > struct task_struct; > > extern unsigned long profile_pc(struct pt_regs *regs); > -#define profile_pc profile_pc > > extern unsigned long > convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs); > @@ -175,11 +174,31 @@ static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) > } > #endif > > -#define GET_IP(regs) ((regs)->ip) > -#define GET_FP(regs) ((regs)->bp) > -#define GET_USP(regs) ((regs)->sp) > +static inline unsigned long instruction_pointer(struct pt_regs *regs) > +{ > + return regs->ip; > +} > +static inline void instruction_pointer_set(struct pt_regs *regs, Nit: missing newline between inline functions. > + unsigned long val) > +{ > + regs->ip = val; > +} > + > +static inline unsigned long frame_pointer(struct pt_regs *regs) > +{ > + return regs->bp; > +} > > -#include <asm-generic/ptrace.h> > +static inline unsigned long user_stack_pointer(struct pt_regs *regs) > +{ > + return regs->sp; > +} > + > +static inline void user_stack_pointer_set(struct pt_regs *regs, > + unsigned long val) > +{ > + regs->sp = val; > +} Other than that: Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Thanks, Ingo