cross compiler [on cygwin, targeting arm-linux]
Dave Korn
dave.korn@artimi.com
Thu Oct 27 16:02:00 GMT 2005
Paul McDonald wrote:
> I've followed the steps given by Compulab (see below) and when I run the
> make dep command I get the following error message. I'm using kernel
> 2.4.26 and the cross-2.95.3 toolchain.
I would recommend using the more recent compiler and kernel myself, in
general. 2.95 is actually a version from the last century^H^H^H^H^H^H^H
millennium, and any bugs it may have aren't getting fixed. I also needed the
2.6.x kernel myself for things like hotplug/firmware support. However, the
principles should be the same in any case.
> 1. Choose a location for the chain. Compulab default is /usr/local/arm.
> If other location is selected, makefiles have to be modified.
> 2. Copy cross-2.95.3.tar.gz to the desired folder if compiling 2.4.xx or
> cross-3.3.2.tar.gz if compiling 2.6.xx.
> 3. Change to that folder and untar the toolchain using "tar -xvzf "
> command.
[ ... snip ... ]
> When I get to step 10 this is what happens:
>
> $ make dep
>
> rm -f include/asm
>
> (cd include ; ln -sf asm-arm asm)
>
> make [1]: Entering directory '/usr/src/arm/linux-2.4.26/arch/arm/tools'
>
> /usr/src/arm/linux-2.4.26/scripts/mkdep -D_KERNEL_
> -I/usr/src/arm/linux-2.4.26/include -Wall -Wstrict-prototypes
> -Wno-trigraphs -O2 -fno=strict-aliasing -fno-common -Uarm -fno-common
> -pipe -fno-omit-frame-pointer -mpacs -mno-sched-prolog -mpacs-32
> -D_LINUX_ARM_ARCH_=5 -march4 -Wa, -mxscale -mtune=strongarm
> -mshort-load-bytes -msoft-float -Uarm -S -o constants.h.tmp.1
> getconstants.c
>
> /usr/local/arm/2.95.3/bin/arm-linux-gcc:
> /usr/local/arm/2.95.3/bin/rm-linux-gcc: cannot execute binary file
[ Hmm. I take it you accidentally deleted an 'a' when you were cutting and
pasting the error into this mail? ]
Anyway, I think I can explain this to you. That's an x86-linux ELF binary
you're trying to run there, not a 'doze PE executable.
The Compulab cross-chain is a (set of) linux executable(s), and the
instructions you are following are "How to install the linux cross-compiler on
your x86 linux box and then cross compile an arm-linux kernel", whereas what
you _want_ to be doing is "building a cygwin to arm-linux cross compiler on
your x86 windows box and only *then* cross compiling an arm-linux kernel".
This, you may remember, is where we came in!
cheers,
DaveK
--
Can't think of a witty .sigline today....
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list