I am trying to build 4.5.1 for arm-elf. Although I succeed for 4.5.1 RC (07-22-2010), the compilation fails for the final release. I have double checked that I am compiling both versions exactly the same way.
1) export PATH=/data/gcc-arm/arm-elf/bin:$PATH 2) (build and install binutils 2.20.1 for arm-elf) 3) symlink mpfr-2.3.2 and gmp-4.3.2 into gcc source 4) uncomment lines in gcc/config/arm/t-arm-elf: MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork MULTILIB_DIRNAMES += normal interwork 5) configure with: ../gcc-4.5.1/configure --target=arm-elf --enable-multilib --enable-languages=c --enable-clocale=gnu --disable-libm --disable-libc --disable-threads --disable-nls --disable-libssp --disable-intl --with-newlib --prefix=/data/gcc-arm/arm-elf --srcdir=/data/gcc-arm/wa/gcc-4.5.1 6) build with: (unset LIBRARY_PATH; unset CFLAGS; make -j 3 && make install) Results: gcc-4.5.1-RC-20100722 succeeds, compiles and works perfectly. gcc-4.5.1 final fails compile with (last lines of build output): gcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -o lto1 \ lto/lto-lang.o lto/lto.o lto/lto-elf.o attribs.o main.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -lcloog -lppl_c -lppl -lgmpxx -L/data/gcc-arm/wa/gcc_obj2/./gmp/.libs -L/data/gcc-arm/wa/gcc_obj2/./mpfr/.libs -lmpc -lmpfr -lgmp -ldl -L../zlib -lz -lelf ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lelf /usr/bin/ld: __gmpfr_cache_const_euler: TLS definition in /usr/lib/libmpfr.so.4 section .tdata mismatches non-TLS definition in /data/gcc-arm/wa/gcc_obj2/./mpfr/.libs/libmpfr.a(const_euler.o) section .data /usr/lib/libmpfr.so.4: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [lto1] Error 1 make[2]: *** Waiting for unfinished jobs.... /usr/bin/ld: __gmpfr_cache_const_euler: TLS definition in /usr/lib/libmpfr.so.4 section .tdata mismatches non-TLS definition in /data/gcc-arm/wa/gcc_obj2/./mpfr/.libs/libmpfr.a(const_euler.o) section .data /usr/lib/libmpfr.so.4: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [cc1-dummy] Error 1 rm gcc.pod make[2]: Leaving directory `/data/gcc-arm/wa/gcc_obj2/gcc' make[1]: *** [all-gcc] Error 2 make[1]: Leaving directory `/data/gcc-arm/wa/gcc_obj2' make: *** [all] Error 2 -- Summary: Building GCC-4.5.1 for arm-elf Product: gcc Version: 4.5.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: e0600347 at student dot tuwien dot ac dot at GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: arm-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45185