This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: can't build x86-32 libc on x86-64 with mainline binutils


Nick Clifton wrote:

Anyhow, here's the testcase:

.tfloat 0.3465735902799726547086160

Ah ha - difficult to reproduce but yes I now get:


  foo.s: Assembler messages:
  foo.s:1: Fatal error: failed sanity check

Note - this bug does not seem to have stopped me from building gcc with the mainline sources, but then I am not configuring with glibc in the same way as you and there are probably some other differences in our build environments as well.

I assume however that this must be a gcc bug - ie it has miscompiled gas. Have you investigated further yet ?


We've hit this as well on x86 and x86_64, but in a different spot.

x86_64-pc-linux-gnu-gcc ../sysdeps/x86_64/fpu/s_expm1l.S -c -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -I../include -I/var/tmp/portage/glibc-2.4-r2/work/build-amd64-x86_64-pc-linux-gnu-nptl/math -I/var/tmp/portage/glibc-2.4-r2/work/build-amd64-x86_64-pc-linux-gnu-nptl -I../sysdeps/x86_64/elf -I../nptl/sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/fpu -I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 -I../sysdeps/wordsize-64 -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 -I../ports -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0-pre20060421/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DNOT_IN_libc=1 -DIS_IN_libm=1 -DASSEMBLER -Wa,--noexecstack -Wa,--noexecstack -o /var/tmp/portage/glibc-2.4-r2/work/build-amd64-x86_64-pc-linux-gnu-nptl/math/s_expm1l.o -MD -MP -MF /var/tmp/portage/glibc-2.4-r2/work/build-amd64-x86_64-pc-linux-gnu-nptl/math/s_expm1l.o.dt -MT /var/tmp/portage/glibc-2.4-r2/work/build-amd64-x86_64-pc-linux-gnu-nptl/math/s_expm1l.o
../sysdeps/x86_64/fpu/s_expm1l.S: Assembler messages:
../sysdeps/x86_64/fpu/s_expm1l.S:40: Fatal error: failed sanity check



Testcase is:


.tfloat 1.442695040888963407359924681002


Glibc is 2.4, configured with:


configure --disable-nls
    --disable-stackguard-randomization
    --enable-old-ssp-compat
    --enable-omitfp
    --with-tls
    --with-__thread
    --enable-add-ons=ports,nptl,c_stubs,libidn
    --enable-kernel=2.6.11
    --without-selinux
    --without-cvs
    --enable-bind-now
    --build=x86_64-pc-linux-gnu
    --host=x86_64-pc-linux-gnu
    --disable-profile
    --without-gd
    --with-headers=/usr/include
    --prefix=/usr
    --libdir=/usr/lib64
    --mandir=/usr/share/man
    --infodir=/usr/share/info
    --libexecdir=/usr/lib64/misc/glibc


Binutils is 2.16.92, configured with:


configure --prefix=/usr
    --host=x86_64-pc-linux-gnu
    --target=x86_64-pc-linux-gnu
    --datadir=/usr/share/binutils-data/x86_64-pc-linux-gnu/2.16.92
    --infodir=/usr/share/binutils-data/x86_64-pc-linux-gnu/2.16.92/info
    --mandir=/usr/share/binutils-data/x86_64-pc-linux-gnu/2.16.92/man
    --bindir=/usr/x86_64-pc-linux-gnu/binutils-bin/2.16.92
    --libdir=/usr/lib64/binutils/x86_64-pc-linux-gnu/2.16.92
    --libexecdir=/usr/lib64/binutils/x86_64-pc-linux-gnu/2.16.92
    --includedir=/usr/lib64/binutils/x86_64-pc-linux-gnu/2.16.92/include
    --enable-64-bit-bfd
    --enable-shared
    --disable-werror
    --disable-nls
    --build=x86_64-pc-linux-gnu


and GCC is 20060428 svn:


Using built-in specs.
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/gcc-4.2.0_pre20060428/work/gcc-4.2.0-20060428/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.2.0-pre20060428 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0-pre20060428/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.0-pre20060428 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.0-pre20060428/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.2.0-pre20060428/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0-pre20060428/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-nls --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-bootstrap --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.2.0-pre20060428 (experimental)



Has there been any progress on this or has there been a PR opened against GCC?



--de.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]