az eszközkészlet kiadása , amely biztosítja a GCC bootstrapping folyamatát, és lehetővé teszi a zárt ciklusú újrakeverést a forráskódokból.
Az eszközkészlet célja a hitelesített alapáramkör összeállítása a fordítókban, megszakítva a ciklikus újrakeverés láncolatát (a fordító összeállításához már létrehozott fordítók futtatható fájljai szükségesek, és a fordítók bináris összeállításai potenciális rejtett hátsó ajtókat tartalmazhatnak, ami nem garantálja teljes mértékben a forráshibátlan összeállításokat).
A GNU Mes-ben önálló (self-hosting) Scheme értelmező, a C nyelvben íródott, és egy egyszerű C fordító (MesCC), amelyet Scheme nyelven írtak. Mindkét komponens kölcsönösen összeállítható. A Scheme értelmező lehetővé teszi a MesCC C fordító összeállítását, amely ezután lehetővé teszi az összeállított fordító lerövidített verzióját, (tcc), amelynek már elegendő funkcionalitása van a GCC összeállításához.
A Scheme nyelv értelmezője meglehetősen tömör, körülbelül 5000 kódsort foglal el a C nyelv legegyszerűbb altípusában, és univerzális fordító segítségével futtatható fájlokká alakítható vagy egy egyszerű C fordító, amelyet önálló assemblerrel állítanak össze , ami nem igényel külső függőségeket. Az értelmező teljes értékű szemétgyűjtőt is tartalmaz, és moduláris könyvtárat biztosít.
Az új kiadás biztosítja az ismételhető összeállítások támogatását a mes+mescc vagy guile+mescc kötegekkel a GNU Guix, Debian GNU/Linux és NixOS disztribúciókban. Lehetővé vált a Mes Scheme értelmező futtatása a GNU Hurd rendszerben, de a mescc C fordító még nem működik a szükséges rendszerhívások (például fork/exec) támogatása nélkül. Kezdeti támogatást kaptak a FreeBSD futtatható fájlok létrehozásához. Javult a Guix disztribúció bootstrapping támogatása, kizárólag Scheme nyelvű komponensek felhasználásával (a Gash parancsértelmező (Guile as Shell) a bash helyett és a Gash Core Utils a coreutils, grep, sed, gzip, make, awk és tar helyett).
A következő kiadásokban várható a NixOS bootstrapping támogatásának megjelenése, a bootstrapping lehetősége csak a Scheme nyelvű alkatrészek felhasználásával a wip-bootstrap ágon, ARM architektúra támogatása, a Mes.c M2-Planet használatával való lefordításának lehetősége, a Guile modulok teljes támogatása, és a mescc működésének biztosítása a Hurd kernel mellett.
Forrás: opennet.ru
