------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2009-06-17 15:31 ------- Subject: Re: ld generates bad long branch stubs
Hi Julian, > I have tried to reproduce this, but not managed so far. I attempted to build > current binutils head with current GCC head under an ARM full-system (Debian) > qemu instance, using: > > binutils-build$ configure --prefix=/path/to/prefix > binutils-build$ make; make install > > gcc-build$ configure --prefix=/path/to/prefix --enable-languages=c,c++ > gcc-build$ make bootstrap > > where: > > $ uname -a > Linux armel 2.6.24-1-versatile #1 Sat Feb 23 08:09:20 UTC 2008 armv5tejl > GNU/Linux > $ cat /etc/debian_version > lenny/sid > > Which gcc, binutils versions and/or configure options did you use? In > particular, were you building for ARM mode or Thumb mode? The system that I am using was built up from a Marvell BSP. It's running on a RD-6281-A. -bash-3.2$ uname -a Linux feroceon 2.6.22.18 #1 Tue Dec 23 17:32:37 EST 2008 armv5tejl GNU/Linux The binutils version that I am currently using is: -bash-3.2$ as --version GNU assembler (GNU Binutils) 2.19.51.20090522 I use the following to build binutils: #! /bin/sh export CC=gcc export CXX=g++ unset CFLAGS unset CXXFLAGS unset LDFLAGS unset FFLAGS export CPPFLAGS="-I/home/dave/opt/gnu/include -D_LARGEFILE64_SOURCE" export PATH=/home/dave/opt/gnu/gcc/gcc-4.3.3/bin:/home/dave/opt/gnu/bin:/home/dave/opt/perl/bin:/bin:/usr/bin date ../src/configure --prefix=/home/dave/opt/gnu --disable-nls && make && make -k check date My bootstrap compiler is: -bash-3.2$ gcc -v Using built-in specs. Target: arm-none-linux-gnueabi Configured with: ../gcc/configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=arm-none-linux-gnueabi --enable-languages=c,c++,fortran --enable-shared --enable-threads --disable-multilib --disable-libmudflap --disable-libssp --enable-symvers=gnu --enable-__cxa_atexit --disable-libstdcxx-pch --enable-checking=release --prefix=/home/dave/opt/gnu/gcc/gcc-4.3.3 --with-gmp=/home/dave/opt/gnu Thread model: posix gcc version 4.3.3 (GCC) -bash-3.2$ which gcc My GCC build options are: #! /bin/sh unset AS unset AR unset CC unset CXX unset LD unset NM unset CFLAGS unset CXXFLAGS unset LDFLAGS unset CPPFLAGS export AS=as export AR=ar export CC=gcc export CXX=g++ export LD=ld export NM=nm export CPPFLAGS=-I/home/dave/opt/gnu/include export PATH=/home/dave/opt/gnu/gcc/gcc-4.3.3/bin:/home/dave/opt/gnu/bin:/home/dave/opt/perl/bin:/bin:/usr/bin date ../gcc/configure --host=armv5tejl-unknown-linux-gnueabi --target=armv5tejl-unknown-linux-gnueabi --build=armv5tejl-unknown-linux-gnueabi --enable-languages="c,c++,fortran" --enable-shared --enable-threads --disable-multilib --disable-libmudflap --disable-libssp --enable-symvers=gnu --enable-__cxa_atexit --disable-libstdcxx-pch --prefix=/home/dave/opt/gnu/gcc/gcc-4.5.0 --with-gmp=/home/dave/opt/gnu && make bootstrap && make -k check date > > (My build broke with a pile of errors like the following: > > libbackend.a(insn-automata.o): In function `VEC_rtx_base_quick_insert': > /home/jules/mainline/gcc-build/gcc/../../gcc-trunk/gcc/rtl.h:199: relocation > truncated to fit: R_ARM_CALL against symbol `memmove@@GLIBC_2.4' defined in > .plt > section in /usr/lib/gcc/arm-linux-gnueabi/4.3.3/../../../crti.o > > so I guess I did something wrong somewhere.) I believe this is the long branch stub problem. You may be able to work around it by adding --disable-stage1-checking to your GCC configure options. Another work around is to use binutils with the tag D2009.05.22.11.00.00 UTC. This is just before the change that breaks binutils for me. I'm building for arm. Dave -- http://sourceware.org/bugzilla/show_bug.cgi?id=10259 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils