[ECOS] 2.0b1/eCosCentric ARM tools little-endian only?
Gary D. Thomas
gary.thomas@mind.be
Thu May 1 21:34:00 GMT 2003
On Thu, 2003-05-01 at 15:22, Grant Edwards wrote:
> > However, when I try to build tests the link fails because the
> > toolchain from eCosCentric only supports little-endian
> > (AFAICT).
>
> Rats. I just build gcc from sources use the instructions on the
> ecos web site, and it only build little-endian support libs also.
>
> I swear that "make" used to build both...
>
> How do I get big-endian support libs built?
I did it using the attached patch which I adapted from the version
used by eCosCentric.
Note: this builds a gazillion libraries (I don't understand fully
how to prune it back), but it does work properly for big endian
targets (like the iXP425 I'm working with).
--
Gary D. Thomas <gary.thomas@mind.be>
-------------- next part --------------
--- src.orig/gcc-3.2.2/gcc/config/arm/t-arm-elf Fri Sep 14 04:19:30 2001
+++ src/gcc-3.2.2/gcc/config/arm/t-arm-elf Wed Apr 2 21:49:50 2003
@@ -21,14 +21,44 @@
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-MULTILIB_OPTIONS = marm/mthumb
-MULTILIB_DIRNAMES = arm thumb
-MULTILIB_EXCEPTIONS =
+# Note - the selection of multilibs here has
+# been tailored to the requirements of eCos.
+
+MULTILIB_OPTIONS = mthumb
+MULTILIB_DIRNAMES = thumb
+
+MULTILIB_OPTIONS += mthumb-interwork
+MULTILIB_DIRNAMES += interwork
+
+MULTILIB_OPTIONS += mcpu=xscale mcpu=strongarm1110 mcpu=arm9tdmi
+MULTILIB_DIRNAMES += xscale strongarm armv4t
+
+# Note: the multilib_exceptions matches both -mthumb and
+# -mthumb-interwork
+MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=strongarm*
+MULTILIB_EXCEPTIONS += *mcpu=xscale*/*mcpu=strongarm*
+MULTILIB_EXCEPTIONS += *mcpu=xscale*/*mcpu=arm9*
+MULTILIB_EXCEPTIONS += *mcpu=strongarm*/*mcpu=arm9*
+
+# We have to match all the arm cpu variants which are similar to the
+# StrongARM 1110 or the ARM 9TDMI.
+# Note that in the following the ? is interpreted as an = for the
+# purposes of matching command line options.
+MULTILIB_MATCHES += mcpu?strongarm1110=mcpu?strongarm
+MULTILIB_MATCHES += mcpu?strongarm1110=mcpu?strongarm110
+MULTILIB_MATCHES += mcpu?strongarm1110=mcpu?strongarm1100
+MULTILIB_MATCHES += mcpu?arm9tdmi=mcpu?arm9
+MULTILIB_MATCHES += mcpu?arm9tdmi=mcpu?arm920t
+MULTILIB_MATCHES += mcpu?arm9tdmi=mcpu?arm940t
+
+#MULTILIB_OPTIONS = marm/mthumb
+#MULTILIB_DIRNAMES = arm thumb
+#MULTILIB_EXCEPTIONS =
-# MULTILIB_OPTIONS = mlittle-endian/mbig-endian
-# MULTILIB_DIRNAMES = le be
-# MULTILIB_EXCEPTIONS =
-# MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle
+MULTILIB_OPTIONS += mlittle-endian/mbig-endian
+MULTILIB_DIRNAMES += le be
+MULTILIB_EXCEPTIONS +=
+MULTILIB_MATCHES += mbig-endian=mbe mlittle-endian=mle
#
# MULTILIB_OPTIONS += mhard-float/msoft-float
# MULTILIB_DIRNAMES += fpu soft
-------------- next part --------------
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list