Bug 701 - glibc does not compile with gcc-3.4.3 and binutils 2.15
Summary: glibc does not compile with gcc-3.4.3 and binutils 2.15
Status: RESOLVED DUPLICATE of bug 333
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: 2.3.4
: P2 critical
Target Milestone: ---
Assignee: GOTO Masanori
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-01 00:52 UTC by Thomas Greve
Modified: 2019-04-10 08:48 UTC (History)
2 users (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Greve 2005-02-01 00:52:45 UTC
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.
Comment 1 GOTO Masanori 2005-02-14 12:11:11 UTC
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 ***
Comment 2 Ranjit Mathew 2005-07-21 18:22:05 UTC
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.