Re: [PATCH 2.6.27-rc1] x86: fix readb() et al compile error withgcc-3.2.3

From: Ingo Molnar
Date: Fri Aug 15 2008 - 08:31:36 EST



* Mikael Pettersson <mikpe@xxxxxxxx> wrote:

> Building 2.6.27-rc1 on x86 with gcc-3.2.3 fails with:
>
> In file included from include/asm/dma.h:12,
> from include/linux/bootmem.h:8,
> from init/main.c:26:
> include/asm/io.h: In function `readb':
> include/asm/io.h:32: syntax error before string constant
> include/asm/io.h: In function `readw':
> include/asm/io.h:33: syntax error before string constant
> include/asm/io.h: In function `readl':
> include/asm/io.h:34: syntax error before string constant
> include/asm/io.h: In function `__readb':
> include/asm/io.h:36: syntax error before string constant
> include/asm/io.h: In function `__readw':
> include/asm/io.h:37: syntax error before string constant
> include/asm/io.h: In function `__readl':
> include/asm/io.h:38: syntax error before string constant
> make[1]: *** [init/main.o] Error 1
> make: *** [init] Error 2
>
> Starting with 2.6.27-rc1 readb() et al are generated by a
> build_mmio_read() macro, which generates asm() statements with
> output register constraints like "=" "q", i.e. as two adjacent
> string literals. This doesn't work with the old gcc-3.2.3.
>
> Fixed by moving the "=" part into the callers' reg parameter
> (as suggested by Ingo).
>
> Build and boot-tested with gcc-3.2.3 on 32 and 64-bit x86.
>
> Signed-off-by: Mikael Pettersson <mikpe@xxxxxxxx>

applied to tip/x86/urgent - thanks Mikael.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/