From mint-bounce@lists.fishpool.fi Sat Feb 21 13:49:55 2009 Date: Sat, 21 Feb 2009 18:43:16 +0000 (GMT) From: David Brownlee To: =?ISO-8859-15?Q?Vincent_Rivi=E8re?= cc: mint Subject: Re: [MiNT] Gcc 3.3.6 v 4.0.1 In-Reply-To: <49A03FFA.1000808@freesbee.fr> Message-ID: References: <49A02A71.8080906@atari-source.org> <49A03FFA.1000808@freesbee.fr> User-Agent: Alpine 2.00 (NEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1110054925-1235241803=:1074" X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-to: mint-bounce@lists.fishpool.fi X-original-sender: abs@absd.org Precedence: bulk List-help: List-unsubscribe: List-Id: X-List-ID: List-subscribe: List-owner: List-post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1110054925-1235241803=:1074 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Sat, 21 Feb 2009, Vincent Rivi=E8re wrote: > We are currently in an infernal spiral: with our current native gcc, we c= an't=20 > compile a better gcc, so we're stuck :-( > An external compiler is necessary to unlock the situation. =09It might be useful to look at how NetBSD handled this - =09since the source tree has to be able to build for about 60 =09different machine types across a dozen or so architectures, =09and they've had to migrate from gcc 2.95 to 3.x and onto =094.x, in each case with potential transition issues. =09The solution was for crossbuilding to be the default. =09Assuming you are starting with a C compiler and basic posix =09tools it first builds a cross compiling version of just =09gcc and the tools needed to build the tree (binutils, make, =09sed, tsort, etc), then uses them to build a target version =09of the entire tree. =09So the procedure to build a NetBSD/atari distribution is =09the same whether you are on NetBSD/atari, i386, linux or =09cygwin. =09(If you're on an m68k platform already then you can shortcut =09the cross compiler building stage, but that is not the =09default) =09The idea is providing you have a compiler good enough to =09build gcc and a few tools, you can build the latest version =09- any more complicated code in the kernel is only built by =09the cross compiler, which is always the 'right' version. =09Anyway, not suggesting that this is the 'right' way of =09doing it, just that some of the ideas may be worth =09transferring. --0-1110054925-1235241803=:1074--