[U-Boot-Users] ARM Tool chain Recommendation

Curt Brune curt at cucy.com
Mon Jun 7 20:00:37 CEST 2004


> > Related question -- For u-boot does it matter whether to use arm-linux
> > or arm-elf tool chain?
> 
> Explain the differerence?

Well I have one tool chain call "arm-linux-" and one called "arm-elf-"
that I installed.  I don't remember where I got the arm-linux tools
from, but the arm-elf tools came from
http://www.uclinux.org/pub/uClinux/m68k-elf-tools/


localhost$ arm-linux-gcc -v
Reading specs from /usr/lib/gcc-lib/arm-linux/2.95.4/specs
gcc version 2.95.4 20010319 (prerelease/franzo/20011204)

localhost$ arm-elf-gcc -v
Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs
gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from
http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from
http://www.snapgear.com/)

The strange thing is these compiler define slightly different macros
by default.  For instance running "gcc -E -dM tmp.c" on an empty tmp.c
files gives the following in the two cases:

arm-linux-gcc -E -dM tmp.c

#define __linux__ 1 
#define __ARM_ARCH_3__ 1 
#define __arm__ 1 
#define linux 1 
#define __GNUC_MINOR__ 95 
#define __CHAR_UNSIGNED__ 1 
#define __unix 1 
#define __unix__ 1 
#define __APCS_32__ 1 
#define __GNUC__ 2 
#define __linux 1 
#define __ELF__ 1 
#define unix 1 

arm-elf-gcc -E -dM tmp.c

#define __arm_elf 1 
#define arm_elf 1 
#define __arm__ 1 
#define __arm 1 
#define __arm_elf__ 1 
#define __ARM_ARCH_4T__ 1 
#define __GNUC_MINOR__ 95 
#define arm 1 
#define __CHAR_UNSIGNED__ 1 
#define __APCS_32__ 1 
#define __GNUC__ 2 
#define __ELF__ 1 

Now the problem I run into with u-boot is that the arm-elf-gcc
compiler defines the symbol "arm", which the arm-linux-gcc does not.
This causes a problem when compiling
u-boot/include/asm-arm/processor.h, which has a structure member named
"arm".

I can #undef arm and things work OK.  Or I can use arm-linux-gcc.
For my uclinux work, however, I need to use arm-elf-gcc.

I was just wondering what tool to use for u-boot. I figured the answer
was "ELDK, or course".

-- 

========================================================================
 Curt Brune           | Phone   1.650.380.2528 |     Managing Principal
 curt at cucy.com        | WWW       www.cucy.com |           Cucy Systems
========================================================================
             Cucy Systems -- Software. Integration. Training.
========================================================================





More information about the U-Boot mailing list