This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ecos 2.0 - big endian target build problem


[ moving this thread to ecos-discuss ]

Hi Sachin

In order to contain the overall size of the arm-elf toolchain, the pre-built 
arm-elf compiler does not include the multi-lib options required for 
big-endian work. A patch which allows the compiler to be re-built with 
big-endian support was posted to the ecos-discuss list some time ago:

  http://sources.redhat.com/ml/ecos-discuss/2003-05/msg00035.html

John Dallaway
eCosCentric Limited

-----Original Message-----
From: sachin k
Date: Thursday 17 Jul 2003 08:40
Subject: ecos 2.0 - big endian target build problem

> Hi,
>     I have installed the latest ecos v2.0. But when I try to build
> it for my big endian board it gives me a list of errors when I try
> to build a redboot image.
>
>
> arm-elf-gcc -c  -I/home/ecos/kernels/s3c44/install/include
> -I/home/ecos/ecos-2.0/packages/redboot/v2_0
> -I/home/ecos/ecos-2.0/packages/redboot/v2_0/src
> -I/home/ecos/ecos-2.0/packages/redboot/v2_0/tests -I.
> -mcpu=arm7tdmi -mbig-endian -Wall -Wpointer-arith
> -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2
> -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions
> -fvtable-gc -finit-priority -o
> /home/ecos/kernels/s3c44/install/lib/version.o
> /home/ecos/ecos-2.0/packages/redboot/v2_0/src/version.c
> arm-elf-gcc -mcpu=arm7tdmi -mbig-endian -g -nostdlib
> -Wl,--gc-sections -Wl,-static
> -L/home/ecos/kernels/s3c44/install/lib -Ttarget.ld -o
> /home/ecos/kernels/s3c44/install/bin/redboot.elf
> /home/ecos/kernels/s3c44/install/lib/version.o
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_ashrdi3.o): compiled
> for a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_ashrdi3.o)
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_udivdi3.o): compiled
> for a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_udivdi3.o)
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_umoddi3.o): compiled
> for a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_umoddi3.o)
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_udivsi3.o): compiled
> for a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_udivsi3.o)
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_umodsi3.o): compiled
> for a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_umodsi3.o)
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_dvmd_tls.o):
> compiled for a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_dvmd_tls.o)
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/../../../../arm-elf/bin/ld:
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_clz.o): compiled for
> a little endian system and target is big endian
> File in wrong format: failed to merge target specific data of file
> /gnutools/lib/gcc-lib/arm-elf/3.2.1/libgcc.a(_clz.o)
> collect2: ld returned 1 exit status
> make[1]: *** [/home/ecos/kernels/s3c44/install/bin/redboot.elf]
> Error 1
> make[1]: Leaving directory
> `/home/ecos/kernels/s3c44/redboot/v2_0'
> make: *** [build] Error 2
>
>
> But if I try to build the same source for a little endian target
> it builds successfully. I have installed the latest tools
> specified in the http://sources.redhat.com/ecos website.
>
> Any solutions for this problem....
>
> thanking you in advance
>
> Sachin


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]