diff options
author | Jan Blunck <jblunck@suse.de> | 2007-11-14 20:00:42 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-14 21:45:44 -0500 |
commit | 77f2878b4f78c0b29c4a2580665a446c77901152 (patch) | |
tree | 2a2d4171c9cce7c6b7f0bed410175c571157fda7 /include/asm-x86 | |
parent | 35d5d08a085c56f153458c3f5d8ce24123617faf (diff) |
oprofile: fix oops on x86 32-bit
x86 32-bit isn't saving the stack pointer to pt_regs->esp when an
interrupt occurs.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Tested-by: Robert Fitzsimons <robfitz@273k.net>
Cc: Andi Kleen <ak@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Philippe Elie <phil.el@wanadoo.fr>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-x86')
-rw-r--r-- | include/asm-x86/ptrace.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-x86/ptrace.h b/include/asm-x86/ptrace.h index 213c97300cb3..51ddb2590870 100644 --- a/include/asm-x86/ptrace.h +++ b/include/asm-x86/ptrace.h | |||
@@ -60,7 +60,7 @@ static inline int v8086_mode(struct pt_regs *regs) | |||
60 | 60 | ||
61 | #define instruction_pointer(regs) ((regs)->eip) | 61 | #define instruction_pointer(regs) ((regs)->eip) |
62 | #define frame_pointer(regs) ((regs)->ebp) | 62 | #define frame_pointer(regs) ((regs)->ebp) |
63 | #define stack_pointer(regs) ((regs)->esp) | 63 | #define stack_pointer(regs) ((unsigned long)(regs)) |
64 | #define regs_return_value(regs) ((regs)->eax) | 64 | #define regs_return_value(regs) ((regs)->eax) |
65 | 65 | ||
66 | extern unsigned long profile_pc(struct pt_regs *regs); | 66 | extern unsigned long profile_pc(struct pt_regs *regs); |