Package: gcc-4.7 Version: 4.7.1-1 Severity: normal (See http://sourceware.org/bugzilla/show_bug.cgi?id=14281 for past history on my investigations on this issue.) When I try to build glibc, the git master branch, on Debian sid amd64, I get this error: make subdir=math -C math ..=../ subdir_lib make[2]: Entering directory `/home/lfs/sources/glibc-2.16/math' gcc ../sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -fPIC -Wno-uninitialized -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -I../include -I/home/lfs/sources/libc-build/math -I/home/lfs/sources/libc-build -I../sysdeps/unix/sysv/linux/x86_64/64/nptl -I../sysdeps/unix/sysv/linux/x86_64/64 -I../nptl/sysdeps/unix/sysv/linux/x86_64 -I../nptl/sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/x86_64/64 -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch -I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 -I../sysdeps/x86 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o /home/lfs/sources/libc-build/math/s_isnan.os -MD -MP -MF /home/lfs/sources/libc-build/math/s_isnan.os.dt -MT /home/lfs/sources/libc-build/math/s_isnan.os ../sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c:30:1: error: '__EI___isnan' aliased to external symbol '__GI___isnan' make[2]: *** [/home/lfs/sources/libc-build/math/s_isnan.os] Error 1 make[2]: Leaving directory `/home/lfs/sources/glibc-2.16/math' make[1]: *** [math/subdir_lib] Error 2 make[1]: Leaving directory `/home/lfs/sources/glibc-2.16' make: *** [all] Error 2 I tried building upstream GCC 4.7.1 with a configuration as close as possible to Debian's: ../gcc-4.7.1/configure -v --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu (This was after doing "(cd /usr/lib; ln -sv x86_64-linux-gnu/*.o .)" to work around upstream GCC not supporting multiarch.) Once that was done building, `pwd`/gcc/xgcc -B`pwd`/gcc -c /tmp/s_isnan.i -o /tmp/s_isnan.o worked fine from the build directory, whereas gcc -c /tmp/s_isnan.i -o /tmp/s_isnan.o reproduced the error. So it looks like this is most likely an issue introduced by one of the Debian-specific patches. (Also, it's a regression from Debian gcc-4.6, which can compile the same preprocessed source without error. I've also verified gcc-4.6 can build all of glibc git master without error.) Attaching the preprocessed s_isnan.i file. -- Daniel Schepler
Attachment:
s_isnan.i
Description: Binary data