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 <[email protected]>
Tested-by: Robert Fitzsimons <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Philippe Elie <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Jan Blunck 2007-11-14 17:00:42 -08:00 • committed by Linus Torvalds
commit 77f2878b4f

View file

@ -60,7 +60,7 @@ static inline int v8086_mode(struct pt_regs *regs)
#define instruction_pointer(regs) ((regs)->eip)
#define frame_pointer(regs) ((regs)->ebp)
#define stack_pointer(regs) ((regs)->esp)
#define stack_pointer(regs) ((unsigned long)(regs))
#define regs_return_value(regs) ((regs)->eax)
extern unsigned long profile_pc(struct pt_regs *regs);