This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: ecos 2.0 - big endian target build problem
- From: John Dallaway <jld at ecoscentric dot com>
- To: "sachin k" <mesachink at rediffmail dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Thu, 17 Jul 2003 09:06:16 +0100
- Subject: [ECOS] Re: ecos 2.0 - big endian target build problem
- Organization: eCosCentric Limited
- References: <20030717074056.24964.qmail@webmail9.rediffmail.com>
[ 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