bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/10259] ld generates bad long branch stubs


From: dave at hiauly1 dot hia dot nrc dot ca
Subject: [Bug ld/10259] ld generates bad long branch stubs
Date: 17 Jun 2009 15:31:24 -0000

------- 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]