This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: cross compiler [on cygwin, targeting arm-linux]


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


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