This is the mail archive of the
crossgcc@sources.redhat.com
mailing list for the crossgcc project.
See the CrossGCC FAQ for lots
more information.
BE-Toolchain for Intel XScale IXP4xx (ARMv5TE) processor
- From: Michael Bramberger <bramberger at iti dot tugraz dot at>
- To: crossgcc at sources dot redhat dot com
- Date: Sat, 26 Jun 2004 10:05:26 +0200
- Subject: BE-Toolchain for Intel XScale IXP4xx (ARMv5TE) processor
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