configuration with ../configure --prefix=/usr --sysconfdir=/etc --enable-shared --disable-static --disable-profile --disable-debug --enable-threads --with-tls --enable-add-ons=nptl --enable-kernel=2.6.10 --with-headers=/usr/src/linux/include and subsequent compilation on a Pentium-III system running Linux 2.6.10 kernel, gcc 3.4.3, binutils 2.15 and make 3.79.1 (which configure considers being "ok") yields a compile error in setjmp.s: /usr/bin/gcc ../sysdeps/i386/elf/setjmp.S -c -I../include -I. -I/home/thomas/gnu/glibc-2.3.4/p3-nptl/setjmp -I.. -I../libio -I../nptl -I/home/thomas/gnu/glibc-2.3.4/p3-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../nptl/sysdeps/unix -I../nptl/sysdeps/i386/i686 -I../nptl/sysdeps/i386 -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/inet -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/i686 -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../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.3/include -isystem /usr/src/linux/include -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -DGAS_SYNTAX -Wa,--noexecstack -o /home/thomas/gnu/glibc-2.3.4/p3-nptl/setjmp/setjmp.o -MD -MP -MF /home/thomas/gnu/glibc-2.3.4/p3-nptl/setjmp/setjmp.o.dt -MT /home/thomas/gnu/glibc-2.3.4/p3-nptl/setjmp/setjmp.o ../sysdeps/i386/elf/setjmp.S: Assembler messages: ../sysdeps/i386/elf/setjmp.S:63: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/elf/setjmp.S:64: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/elf/setjmp.S:65: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/elf/setjmp.S:66: Error: unrecognized symbol type "" ../sysdeps/i386/elf/setjmp.S:66: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/elf/setjmp.S:67: Error: junk at end of line, first unrecognized character is `1' ../sysdeps/i386/elf/setjmp.S:70: Error: expected comma after name `' in .size directive The reason is cpp replacing __i686 with 1.
I have no problem to compile your configure option. In addition, it's compilation failure report, so I mark it as duplicate. *** This bug has been marked as a duplicate of 333 ***
FWIW, I am guessing that you have compiled your GCC with something like "--with-arch=pentium3" or that you are using the "-march=pentium3" GCC option. This causes "__i686" and "__i686__" to become built-in defines and results in the problem you see. One workaround is to use an explicit "-march=i386 -mtune=pentium3" with GCC while compiling glibc. For example: CC='gcc -march=i386 -mtune=pentium3' /path/to/glibc/configure --prefix=/usr... I hope this helps.