[PATCH] Fix unified tree breakage

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Wed Oct 5 15:23:00 GMT 2005


>>2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
>>
>>	* Makefile.tpl (all) [gcc-no-bootstrap]: Make prebootstrap packages
>>	before other host packages.
>>    
>>
>That appears to work, thanks.  However, why do you assume this would
>only be needed when not doing a bootstrap?  OK, it's not common to want
>to use a unified tree for that, but there's no reason why it shouldn't
>work.
>  
>
I'm sorry if this is confusing.  It will go away as soon as GCC 4.1 
branches.

In 4.2, we'll have *toplevel* bootstrap enabled by default.  This is 
what you saw indicated as "@if gcc-bootstrap", and it means that the 
toplevel orchestrates a 3-stage build of libiberty, binutils, and 
everything else up to gcc.  In this case it will just work because 
stage1 will use the system assembler/linker, and stage2/3 will use the 
previous stage of the in-tree assembler/linker: there is no need to do 
"all-prebootstrap", because the packages in "all-prebootstrap" are all 
bootstrapped (together with GCC).

BTW, with toplevel bootstrap, it could make much more sense to use a 
unified tree in a native configuration.

For 4.1, you need --enable-bootstrap to enable toplevel bootstrap.  But 
the default is still non-toplevel bootstrap, and in that case making 
"all-prebootstrap" is still handled with dependencies:

    $(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
             @r=`pwd`; export r; \
             etc.

Paolo



More information about the Gcc-patches mailing list