uvoľnenie nástrojov , ktorý poskytuje proces bootstrap pre GCC a umožňuje prebudovanie v uzavretej slučke zo zdrojového kódu.
Sada nástrojov rieši problém overeného počiatočného zostavenia kompilátora v distribúciách, preruší reťaz cyklického prestavovania (zostavenie kompilátora vyžaduje spustiteľné súbory už zostaveného kompilátora a zostavy binárneho kompilátora sú potenciálnym zdrojom skrytých záložiek, čo neumožňuje plne zaručiť integrita zostáv z referenčných zdrojových kódov).
V GNU Mess samohostiaci interpret pre jazyk Scheme, napísaný v jazyku C, a jednoduchý kompilátor pre jazyk C (MesCC), napísaný v jazyku Scheme. Oba komponenty sú vzájomne zložiteľné. Interpret schémy umožňuje zostaviť kompilátor MesCC C, ktorý vám potom umožní zostaviť skrátenú verziu kompilátora (tcc), ktorý už má dostatok možností na vybudovanie GCC.
Interpret jazyka Scheme je pomerne kompaktný, zaberá asi 5000 riadkov kódu v najjednoduchšej podmnožine jazyka C a dá sa previesť na spustiteľný súbor pomocou univerzálneho prekladača. alebo jednoduchý C kompilátor zostavený pomocou samozostaveného assembleru , ktorý nevyžaduje externé závislosti. Interpret zároveň obsahuje plnohodnotný garbage collector a poskytuje knižnicu načítateľných modulov.
Nová verzia poskytuje podporu pre opakovateľné zostavenia pomocou balíkov mes+mescc alebo guile+mescc v distribúciách GNU Guix. Debian GNU/Linux a NixOS. Pridaná podpora pre spúšťanie interpreta Mes Scheme v GNU Hurd, ale kompilátor mescc v jazyku C zatiaľ nefunguje kvôli chýbajúcej podpore pre potrebné systémové volania (napr. fork/exec). Bola pridaná počiatočná podpora pre vytváranie spustiteľných súborov FreeBSD. Vylepšená podpora pre bootovanie distribúcie Guix iba pomocou komponentov jazyka Scheme (príkazový shell Gash (Guile ako Shell) namiesto bash a Gash Core Utils namiesto coreutils, grep, sed, gzip, make, awk a tar).
Budúce vydania zahŕňajú podporu bootstrappingu pre NixOS, umožňujúcu bootstrapping iba s použitím komponentov Scheme vo vetve wip-bootstrap, podporu pre architektúru ARM, možnosť kompilovať Mes.c pomocou M2-Planet, plnú podporu pre moduly Guile, vďaka čomu bude mescc pracovať s jadro Hurd.
Zdroj: opennet.ru
