guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A different way to bootstrap and build GCC


From: Stefan
Subject: Re: A different way to bootstrap and build GCC
Date: Sun, 24 Nov 2024 13:02:11 +0100
User-agent: Mozilla Thunderbird

Hi Ekaitz!

Very interesting work. I'll read it with more detail tomorrow but at the moment 
it feels very similar to what we did for RISC-V
Is there any obvious difference in the beginning of the chain that I'm missing?

I use tcc-boot0 only to build the latest TCC with the latest musl, with much 
less handcrafting (using make and normal installation). There are less packages 
involved (no need for muls 1.1.24, patch, gzip, xz, flex, bison).

An important difference from my point of view is that I avoid (package (inherit 
…) …).  I believe that the bootstrap packages need to be the independent base.  
For example in commencement.scm gcc-core-mesboot0 (version 2.95.3) inherits 
from gcc (version 11).  So changes to a newer gcc will change the way how to 
build an older version.  This is fragile.  This tears in stuff, which is 
useless or even problematic for the bootstrap.

Well, finally my actual goal is to build GCC differently: There is no need to 
patch in CROSS_C_INCLUDE_PATH etc.  The include paths to standard header files 
must not be provided through environment variables at all.  This is the cause 
of all the troubles people have with GCC in Guix for both native and cross 
building.  In the end only the one gcc-12-strmov-store-file-names.patch is 
necessary, and this not even for static builds during bootstrapping.  Keeping 
(package (inherit …) …) will tear in all the mistakes, which I try hard to 
avoid.


Bye

Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]