http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45906

--- Comment #11 from Samson Luk <samsonluk at gmail dot com> 2010-10-07 
01:47:23 UTC ---
(In reply to comment #8)

> In order to do a Canadian cross build - one where build != host (such as 
> your build with build = i686-pc-linux-gnu, host = arm-none-linux-gnueabi, 
> target = arm-none-linux-gnueabi) - you must first have built exactly the 
> same version of the compiler as a normal cross to the same target (build = 
> host - that is, in your case, build = host = i686-pc-linux-gnu, target = 
> arm-none-linux-gnueabi).

Understood, it mean I have to build the Cross Compiler which can be run in the
build machine, and this normal cross have to be the same version as the
Canadian cross!!!

> Once you have a build-x-target compiler with exactly the same version as 
> the Canadian cross you are trying to build, you can then build that 
> Canadian cross.  


> You also need a build-x-host compiler, which need not be 

Now I have to use Ubuntu gcc 4.4.3 to compile gcc 4.5.1 using: 
 build=i686-pc-linux-gnu 
  host=i686-pc-linux-gnu 
target=arm-none-linux-gnueabi

and I use the output normal cross which is in version 4.5.1 to:
 build=i686-pc-linux-gnu 
  host=arm-none-linux-gnueabi
target=arm-none-linux-gnueabi

and the output Canadian cross become 4.5.1. Finally I can copy this Canadian
cross together with the normal cross's target libraries to the arm machine.

Many thanks for the clear and detailed explanation! Do you know anywhere I can
find FAQ or documents for the mentioned procedures? I have google for half a
day and I found I lot on how to build a Cross Toolchain and no mention of how
to build a Canadian Cross compiler, especially for my case when the Canadian
Cross is one major version up.

Reply via email to