The latest linux26-headers-2.6.8.1-r1 breaks glibc on x86, please see below. the problem is from the new linux26-headers-2.6.8.1-appCompat.patch, reverting to the pre 01-04-2005 version of the aforementioned patch solved the problem. hth The error log: i686-pc-linux-gnu-gcc elf-init.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-proto types -Wwrite-strings -freorder-blocks -march=pentium4 -mtune=pentium4 -pipe -mp referred-stack-boundary=4 -fPIC -I../include -I. -I/mnt/sda4/tmp/portage/gli bc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu -I.. -I../libio -I../npt l -I/mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sys deps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pt hread -I../sysdeps/pthread -I../nptl/sysdeps/unix/sysv -I../nptl/sysdeps/unix -I ../nptl/sysdeps/i386/i686 -I../nptl/sysdeps/i386 -I../libidn/sysdeps/unix -I../s ysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../s ysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/un ix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I. ./sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i 386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I. ./sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 - I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sy sdeps/generic -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -i system //usr/include -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include ../include/lib c-symbols.h -DPIC -DLIBC_NONSHARED=1 -DHAVE_INITFINI -o /mnt/sda4/tmp/port age/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/elf-init.oS -MD - MP -MF /mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-n ptl/csu/elf-init.oS.dt -MT /mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build -i686-pc-linux-gnu-nptl/csu/elf-init.oS In file included from //usr/include/linux/bitops.h:4, from //usr/include/asm/cpufeature.h:10, from //usr/include/asm/system.h:7, from //usr/include/linux/compiler.h:62, from //usr/include/asm/sigcontext.h:4, from ../sysdeps/unix/sysv/linux/bits/sigcontext.h:28, from ../signal/signal.h:328, from ../include/signal.h:5, from ../sysdeps/unix/sysv/linux/ssp.c:27: //usr/include/asm/bitops.h:362: error: conflicting types for '__ffs' ../include/string.h:43: error: previous declaration of '__ffs' was here //usr/include/asm/bitops.h:362: error: conflicting types for '__ffs' ../include/string.h:43: error: previous declaration of '__ffs' was here i686-pc-linux-gnu-gcc ../sysdeps/i386/elf/start.S -c -I../include -I. -I/mnt/sd a4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu -I.. - I../libio -I../nptl -I/mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686 -pc-linux-gnu-nptl -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/ i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I ../nptl/sysdeps/pthread -I../sysdeps/pthread -I../nptl/sysdeps/unix/sysv -I../np tl/sysdeps/unix -I../nptl/sysdeps/i386/i686 -I../nptl/sysdeps/i386 -I../libidn/s ysdeps/unix -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../ sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/in et -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I. ./sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i 686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I. ./sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdep s/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/g eneric/elf -I../sysdeps/generic -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -isystem //usr/include -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DHAVE_INITFINI -DASSEMBLER -I/mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/. -DGAS_SYNTAX -Wa,--noexecstack -o /mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/start.o -MD -MP -MF /mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/start.o.dt -MT /mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/start.o make[2]: *** [/mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/ssp.os] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [/mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/build-i686-pc-linux-gnu-nptl/csu/ssp.o] Error 1 make[1]: *** [csu/subdir_lib] Error 2 make[1]: Leaving directory `/mnt/sda4/tmp/portage/glibc-2.3.4.20041102/work/glibc-2.3.3' make: *** [all] Error 2 !!! ERROR: sys-libs/glibc-2.3.4.20041102 failed. !!! Function src_compile, Line 698, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message.
Fixed now in CVS, should reach rsync servers shortly. Please sync, remerge headers and confirm that this is fixed :-]
sync'ed, (confirm the new patch was there) reemerged sys-kernel/linux26-headers-2.6.8.1-r1, sys-apps/sysvinit, sys-apps/baselayout, and sys-libs/glibc. same problems as before, so I guess this problem is not yet resolved. to expedite matters could you post any patches here, so that i need not re-sync, as i'm on dial-up right now. will report the results of course. TIA hth
Fixed in CVS; reopen if this is still broken. Patch: diff -u -r1.12 linux26-headers-2.6.8.1-appCompat.patch --- files/linux26-headers-2.6.8.1-appCompat.patch 4 Jan 2005 17:55:09 -0000 1.12 +++ files/linux26-headers-2.6.8.1-appCompat.patch 4 Jan 2005 19:56:49 -0000 @@ -972,12 +972,14 @@ /* Intel compiler defines __GNUC__. So we will overwrite implementations * coming from above header files here -@@ -47,7 +59,12 @@ +@@ -47,7 +59,14 @@ /* Optimization barrier */ #ifndef barrier -# define barrier() __memory_barrier() ++# define __ffs /* Prevent ffs(...) getting declared when we don't need it */ +# include <asm/system.h> ++# undef __ffs +# ifdef mb +# define barrier() mb() +# else
@Tim, Confirm, with the #4 patch applied to linux26-headers-2.6.8.1-appCompat.patch, the problem has been resolved. Many thanks. hth
This is also effecting the tarball: stage1-x86-selinux-pie-ssp-20041123.tar.bz2 (on Pentium II) without the patch in comment 4 the bootstrap.sh runs until it tries to compile ../sysdeps/unix/sysv/linux/ssp.c, then I get the same error.... applying the patch creates a syntax error on line 361 of bitops.h... HOSTCC scripts/basic/docproc In file included from /var/tmp/portage/linux26-headers-2.6.8.1-r1/work/linux-2.6.8.1/include/linux/bitops.h:4, from /var/tmp/portage/linux26-headers-2.6.8.1-r1/work/linux-2.6.8.1/include/asm/cpufeature.h:10, from /var/tmp/portage/linux26-headers-2.6.8.1-r1/work/linux-2.6.8.1/include/asm/system.h:7, from /var/tmp/portage/linux26-headers-2.6.8.1-r1/work/linux-2.6.8.1/include/linux/compiler.h:10, from /var/tmp/portage/linux26-headers-2.6.8.1-r1/work/linux-2.6.8.1/include/asm/sigcontext.h:10, from /usr/include/bits/sigcontext.h:28, from /usr/include/signal.h:329, from /usr/include/sys/wait.h:30, from scripts/basic/docproc.c:41: /var/tmp/portage/linux26-headers-2.6.8.1-r1/work/linux-2.6.8.1/include/asm/bitops.h:361: error: syntax error before "unsigned" I don't do much C, but this is apparently because bitops.c:361 is: static inline unsigned long __ffs(unsinged long word) which probably has the __ffs replaced with nothing (per the #define added in the patch) and becomes: static inline unsigned long (unsinged long word) I'm guessing that this patch works for recompiling glibc only but is not suitable as a general solution that can be employed in broader contexts such as bootstrapping. Your bugzilla apparently doesn't like new users, so I can't reopen the issue. bleh.
Gus: Sync and remerge your headers; it seems like you're applying the patch without its requisite (the comment #4 patch is in the latest headers anyway too); as the latest headers do this: { bitops.h } #ifndef __fls < Prototype __fls > #endif ... so the prototype which gets expanded to "static inline unsigned long (unsinged long word)" never gets reached as __fls *is* defined (even though it's NULL) and hence you should get no problem.