Re: 2.6.21-mm1 -- x86 verify_cpu.S compile failure

Andi Kleen
2007-05-08T15:33:05Z

On Tue, May 08, 2007 at 10:46:20AM +0100, Andy Whitcroft wrote:
> We are seeing the following compile error on older x86 installs:
>
> arch/i386/kernel/verify_cpu.S: Assembler messages:
> arch/i386/kernel/verify_cpu.S:13: Error: `(%esp)' is
> not a valid 16 bit base/index expression
>
> Seems to come from:
>
> x86_64-mm-i386-verify-cpu
>
> Compiler:
>
> gcc version 3.3.4 (Debian 1:3.3.4-3)

Your compiler must be a brother in spirit of Andrew's vaio.

Does this patch help?

-Andi

Index: linux/arch/i386/kernel/verify_cpu.S
===================================================================
--- linux.orig/arch/i386/kernel/verify_cpu.S
+++ linux/arch/i386/kernel/verify_cpu.S
@@ -10,7 +10,9 @@ verify_cpu:

#if CONFIG_X86_MINIMUM_CPU_MODEL >= 4
pushfl
- orl $(1<<18),(%esp) # try setting AC
+ pop %eax
+ orl $(1<<18),%eax # try setting AC
+ push %eax
popfl
pushfl
popl %eax