diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-14 01:50:19 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-19 18:07:39 -0500 |
commit | 5208ba24e7826519d310474dedaed2f84b0ab6a0 (patch) | |
tree | 096a174031c17e47128918da5d8b609c886ca5e0 | |
parent | ae903caae267154de7cf8576b130ff474630596b (diff) |
missing user_stack_pointer() instances
for the architectures that have usp in pt_regs and do not have
user_stack_pointer() already defined.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | arch/avr32/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/m32r/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/microblaze/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/mips/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/score/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/tile/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/unicore32/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/x86/um/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/xtensa/include/asm/ptrace.h | 2 |
9 files changed, 10 insertions, 0 deletions
diff --git a/arch/avr32/include/asm/ptrace.h b/arch/avr32/include/asm/ptrace.h index 8d3c412fc65f..630e4f9bf5f0 100644 --- a/arch/avr32/include/asm/ptrace.h +++ b/arch/avr32/include/asm/ptrace.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #define user_mode(regs) (((regs)->sr & MODE_MASK) == MODE_USER) | 21 | #define user_mode(regs) (((regs)->sr & MODE_MASK) == MODE_USER) |
22 | #define instruction_pointer(regs) ((regs)->pc) | 22 | #define instruction_pointer(regs) ((regs)->pc) |
23 | #define profile_pc(regs) instruction_pointer(regs) | 23 | #define profile_pc(regs) instruction_pointer(regs) |
24 | #define user_stack_pointer(regs) ((regs)->sp) | ||
24 | 25 | ||
25 | static __inline__ int valid_user_regs(struct pt_regs *regs) | 26 | static __inline__ int valid_user_regs(struct pt_regs *regs) |
26 | { | 27 | { |
diff --git a/arch/m32r/include/asm/ptrace.h b/arch/m32r/include/asm/ptrace.h index c4432f1fb2cf..56795d6cab4c 100644 --- a/arch/m32r/include/asm/ptrace.h +++ b/arch/m32r/include/asm/ptrace.h | |||
@@ -134,6 +134,7 @@ extern void init_debug_traps(struct task_struct *); | |||
134 | 134 | ||
135 | #define instruction_pointer(regs) ((regs)->bpc) | 135 | #define instruction_pointer(regs) ((regs)->bpc) |
136 | #define profile_pc(regs) instruction_pointer(regs) | 136 | #define profile_pc(regs) instruction_pointer(regs) |
137 | #define user_stack_pointer(regs) ((regs)->spu) | ||
137 | 138 | ||
138 | extern void withdraw_debug_trap(struct pt_regs *regs); | 139 | extern void withdraw_debug_trap(struct pt_regs *regs); |
139 | 140 | ||
diff --git a/arch/microblaze/include/asm/ptrace.h b/arch/microblaze/include/asm/ptrace.h index 94e92c805859..fa791e218140 100644 --- a/arch/microblaze/include/asm/ptrace.h +++ b/arch/microblaze/include/asm/ptrace.h | |||
@@ -60,6 +60,7 @@ struct pt_regs { | |||
60 | 60 | ||
61 | #define instruction_pointer(regs) ((regs)->pc) | 61 | #define instruction_pointer(regs) ((regs)->pc) |
62 | #define profile_pc(regs) instruction_pointer(regs) | 62 | #define profile_pc(regs) instruction_pointer(regs) |
63 | #define user_stack_pointer(regs) ((regs)->r1) | ||
63 | 64 | ||
64 | static inline long regs_return_value(struct pt_regs *regs) | 65 | static inline long regs_return_value(struct pt_regs *regs) |
65 | { | 66 | { |
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h index cec5e125f7e4..a3186f2bb8a0 100644 --- a/arch/mips/include/asm/ptrace.h +++ b/arch/mips/include/asm/ptrace.h | |||
@@ -49,6 +49,7 @@ static inline long regs_return_value(struct pt_regs *regs) | |||
49 | 49 | ||
50 | #define instruction_pointer(regs) ((regs)->cp0_epc) | 50 | #define instruction_pointer(regs) ((regs)->cp0_epc) |
51 | #define profile_pc(regs) instruction_pointer(regs) | 51 | #define profile_pc(regs) instruction_pointer(regs) |
52 | #define user_stack_pointer(r) ((r)->regs[29]) | ||
52 | 53 | ||
53 | extern asmlinkage void syscall_trace_enter(struct pt_regs *regs); | 54 | extern asmlinkage void syscall_trace_enter(struct pt_regs *regs); |
54 | extern asmlinkage void syscall_trace_leave(struct pt_regs *regs); | 55 | extern asmlinkage void syscall_trace_leave(struct pt_regs *regs); |
diff --git a/arch/score/include/asm/ptrace.h b/arch/score/include/asm/ptrace.h index e89dc9b1ef49..99cd4efa918e 100644 --- a/arch/score/include/asm/ptrace.h +++ b/arch/score/include/asm/ptrace.h | |||
@@ -83,6 +83,7 @@ struct task_struct; | |||
83 | 83 | ||
84 | #define instruction_pointer(regs) ((unsigned long)(regs)->cp0_epc) | 84 | #define instruction_pointer(regs) ((unsigned long)(regs)->cp0_epc) |
85 | #define profile_pc(regs) instruction_pointer(regs) | 85 | #define profile_pc(regs) instruction_pointer(regs) |
86 | #define user_stack_pointer(r) ((unsigned long)(r)->regs[0]) | ||
86 | 87 | ||
87 | extern void do_syscall_trace(struct pt_regs *regs, int entryexit); | 88 | extern void do_syscall_trace(struct pt_regs *regs, int entryexit); |
88 | extern int read_tsk_long(struct task_struct *, unsigned long, unsigned long *); | 89 | extern int read_tsk_long(struct task_struct *, unsigned long, unsigned long *); |
diff --git a/arch/tile/include/asm/ptrace.h b/arch/tile/include/asm/ptrace.h index 1a4fd9ab0ee1..3f792b6d60d5 100644 --- a/arch/tile/include/asm/ptrace.h +++ b/arch/tile/include/asm/ptrace.h | |||
@@ -36,6 +36,7 @@ typedef unsigned long pt_reg_t; | |||
36 | 36 | ||
37 | #define instruction_pointer(regs) ((regs)->pc) | 37 | #define instruction_pointer(regs) ((regs)->pc) |
38 | #define profile_pc(regs) instruction_pointer(regs) | 38 | #define profile_pc(regs) instruction_pointer(regs) |
39 | #define user_stack_pointer(regs) ((regs)->sp) | ||
39 | 40 | ||
40 | /* Does the process account for user or for system time? */ | 41 | /* Does the process account for user or for system time? */ |
41 | #define user_mode(regs) (EX1_PL((regs)->ex1) == USER_PL) | 42 | #define user_mode(regs) (EX1_PL((regs)->ex1) == USER_PL) |
diff --git a/arch/unicore32/include/asm/ptrace.h b/arch/unicore32/include/asm/ptrace.h index 726749dab52f..9df53d991c78 100644 --- a/arch/unicore32/include/asm/ptrace.h +++ b/arch/unicore32/include/asm/ptrace.h | |||
@@ -54,6 +54,7 @@ static inline int valid_user_regs(struct pt_regs *regs) | |||
54 | } | 54 | } |
55 | 55 | ||
56 | #define instruction_pointer(regs) ((regs)->UCreg_pc) | 56 | #define instruction_pointer(regs) ((regs)->UCreg_pc) |
57 | #define user_stack_pointer(regs) ((regs)->UCreg_sp) | ||
57 | 58 | ||
58 | #endif /* __ASSEMBLY__ */ | 59 | #endif /* __ASSEMBLY__ */ |
59 | #endif | 60 | #endif |
diff --git a/arch/x86/um/asm/ptrace.h b/arch/x86/um/asm/ptrace.h index 755133258c45..54f8102ccde5 100644 --- a/arch/x86/um/asm/ptrace.h +++ b/arch/x86/um/asm/ptrace.h | |||
@@ -86,4 +86,5 @@ extern long arch_prctl(struct task_struct *task, int code, | |||
86 | unsigned long __user *addr); | 86 | unsigned long __user *addr); |
87 | 87 | ||
88 | #endif | 88 | #endif |
89 | #define user_stack_pointer(regs) PT_REGS_SP(regs) | ||
89 | #endif /* __UM_X86_PTRACE_H */ | 90 | #endif /* __UM_X86_PTRACE_H */ |
diff --git a/arch/xtensa/include/asm/ptrace.h b/arch/xtensa/include/asm/ptrace.h index da21c17f23aa..43d0d5d7c8a0 100644 --- a/arch/xtensa/include/asm/ptrace.h +++ b/arch/xtensa/include/asm/ptrace.h | |||
@@ -63,6 +63,8 @@ struct pt_regs { | |||
63 | # define profile_pc(regs) instruction_pointer(regs) | 63 | # define profile_pc(regs) instruction_pointer(regs) |
64 | # endif | 64 | # endif |
65 | 65 | ||
66 | #define user_stack_pointer(regs) ((regs)->areg[1]) | ||
67 | |||
66 | #else /* __ASSEMBLY__ */ | 68 | #else /* __ASSEMBLY__ */ |
67 | 69 | ||
68 | # include <asm/asm-offsets.h> | 70 | # include <asm/asm-offsets.h> |