[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