Re: 2.6.9 BK build broken

From: Jeff Garzik
Date: Mon Oct 18 2004 - 21:35:01 EST


Matthias Andree wrote:
BitKeeper fails to build (error message with GCC 3.4, ICE with GCC 3.3):

Parent repository is bk://linux.bkbits.net/linux-2.5
MD5KEY: 417454bfpfdm0m7rr7xnJadPA4ioZA

KEY of latest changeset:
torvalds@xxxxxxxxxxxxxxx|ChangeSet|20041018234151|19286

$ LANG=C make CC=/opt/gcc-3.4/bin/gcc
...
LDS arch/i386/kernel/vsyscall.lds
AS arch/i386/kernel/vsyscall-int80.o
SYSCALL arch/i386/kernel/vsyscall-int80.so
AS arch/i386/kernel/vsyscall-sysenter.o
SYSCALL arch/i386/kernel/vsyscall-sysenter.so
AS arch/i386/kernel/vsyscall.o
In file included from include/linux/init.h:5,
from arch/i386/kernel/vsyscall.S:1:
include/linux/compiler.h:20: syntax error in macro parameter list
make[1]: *** [arch/i386/kernel/vsyscall.o] Error 1
make: *** [arch/i386/kernel] Error 2


I get an ICE here in -BK-latest, which the attached patch fixes (backs out Linus's change).

I _also_ get a similar failure, in the exact same place, in 2.6.9 [release version] which does _not_ have Linus's change in it. See http://lkml.org/lkml/2004/10/18/230 for the report.

Maybe the moral of the story is that
linux/init.h + linux/compiler.h + asm == boom ?

Jeff


===== include/linux/compiler.h 1.31 vs edited =====
--- 1.31/include/linux/compiler.h 2004-10-18 18:50:37 -04:00
+++ edited/include/linux/compiler.h 2004-10-18 22:26:18 -04:00
@@ -17,7 +17,6 @@
# define __iomem
# define __chk_user_ptr(x) (void)0
# define __chk_io_ptr(x) (void)0
-#define __builtin_warning(x, ...) (1)
#endif

#ifdef __KERNEL__