[okl4-developer] big endian toolchain for gumstix

Geoffrey Lee glee at ok-labs.com
Thu Aug 21 12:49:12 EST 2008


On Wed, Aug 20, 2008 at 10:04:53PM -0400, Ashish Bijlani wrote:
> Hello,
> 
> I'm trying to simulate gumstix platform on skyeye. I'm using prebuilt
> gcc-3.4.4-glibc-2.3.5 from nicta website. however, it seems the
> toolchain has been compiled for little endian systems and produces a
> little endian okl4 bootable images under "build/images". the
> image.boot file is little endian and doesn't boot on skyeye. i observe
> the same problem as described at
> http://lists.okl4.org/pipermail/developer/2008-June/001280.html.

Hi Ashish

Our gumstixes are all little endian, have you modified your
gumstix somehow to be big endian?  While there is not enough
information as to why it would not boot on skyeye, we 
regularly simulate the gumstix platform on skyeye for
testing purposes so it should work.

> 
> With the prebuilt arm-linux toolchain from nicta, if I pass the flags
> below to Xscale in "arch/arm/tools/machines.py", it fails linking
> kernel
> 
>     c_flags = arm.c_flags + ["-mbig-endian"]
>     as_flags = ["-mbig-endian"]
>     link_flags = ["-EB"]
> 
> [LIB ] build/pistachio/lib/libplatform.a
> [LINK] build/pistachio/bin/kernel
> /opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/arm-linux-ld:
> /opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/../lib/gcc/arm-linux/3.4.4/libgcc.a(_udivsi3.oS):
> compiled for a little endian system and target is big endian
> /opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/arm-linux-ld:
> failed to merge target specific data of file
> /opt/nicta/tools/gcc-3.4.4-glibc-2.3.5/arm-linux/bin/../lib/gcc/arm-linux/3.4.4/libgcc.a(_udivsi3.oS)
> 


The toolchain provided libgcc is little endian by default, hence
you won't be able to link with big endian code.  If you do not
wish to compile a new toolchain you can use the OKL provided
libgcc by doing in tools/toolchains.py:

gnu_arm_toolchain = generic_gcc_3_4_libgcc("arm-linux-")

to 

gnu_arm_toolchain = generic_gcc_3_4("arm-linux-")

	-gl


> Am I missing something? Am I not suppose to pass the big endian flags
> to xscale? Is the prebuilt toolchain indeed for little endians only?
> where can i download toolchain for big endian system from? Please
> help.
> 
> _______________________________________________
> Developer mailing list
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer
> 

-- 




More information about the Developer mailing list