From mboxrd@z Thu Jan 1 00:00:00 1970 From: Curt Brune Date: Mon, 7 Jun 2004 11:00:37 -0700 Subject: [U-Boot-Users] ARM Tool chain Recommendation In-Reply-To: <20040607170057.AB314C109F@atlas.denx.de> Message-ID: <20040607110037.C4471@cucy.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > > 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. ========================================================================