BE-Toolchain for Intel XScale IXP4xx (ARMv5TE) processor

Michael Bramberger bramberger@iti.tugraz.at
Sat Jun 26 08:05:00 GMT 2004


Hi all,

it's a quite old (and often spoken) topic, but some people (me) still 
don't really know how to build BE toolchains...

I'm currently using crosstool-0.28-rc25 to build a BE XScale toolchain 
with gcc-3.4.0, glib-2.3.2, and binutils 2.15. So far so good...

I tried two approaches "normal (just BE)" and multilib, but none of them 
really worked... Sometimes it builds the toolchain successfully (typ. 
when building a multilib-toolchain), but the result is only a LE 
toolchain, sometimes the build stops on an error when building glibc due 
to an endianess-mismatch:

[...]
/opt/crosstool/xscale/arm-linux/gcc-3.4.0-glibc-2.3.2/lib/gcc/arm-linux/3.4.0/../../../../arm-linux/bin/ld: 
/opt/crosstool/xscale/arm-linux/gcc-3.4.0-glibc-2.3.2/lib/gcc/arm-linux/3.4.0/libgcc.a(_ashldi3.o): 
compiled for a little endian system and target is big endian
/opt/crosstool/xscale/arm-linux/gcc-3.4.0-glibc-2.3.2/lib/gcc/arm-linux/3.4.0/../../../../arm-linux/bin/ld: 
failed to merge target specific data of file 
/opt/crosstool/xscale/arm-linux/gcc-3.4.0-glibc-2.3.2/lib/gcc/arm-linux/3.4.0/libgcc.a(_ashldi3.o)
[...]

My config is like the following:

arm-softfloat.dat
-----------------
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O -mbig-endian"
BINUTILS_EXTRA_CONFIG="--with-cpu=xscaleb"
GCC_EXTRA_CONFIG="--with-float=soft --with-cpu=xscale --enable-multilib"
GLIBC_EXTRA_CONFIG="--without-fp --with-cpu=xscale"
GLIBC_EXTRA_CC_ARGS="-mbig-endian"

I adapted the t-linux, linux-elf, and t-arm-elf files in 
<<gcc-3.4.0/gcc/config/arm/>> to enable multilibs...

I also tried to adapt the crosstool.sh script and added some big-endian 
stuff to the configure command of the glibc (C_FLAGS, AS_FLAGS, and 
LD_FLAGS), but I still get no BE toolchain...

...so my question is, does somebody *exactly* know how to build such a 
toolchain, if yes please tell me, IÄm currently running out of ideas 
(and time...).

If I get a running (functional) toolchain, I will try to put an HOWTO 
and a compiled version online, that successors will have it easier...

..and yes, i already checked Dave Hylands site at 
http://www.davehylands.com/linux/ARM-bigendian/, but it din't work for 
me (I don't really know why...)

Thanks in advance,
Mike


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list