Vydanie GNU Mes 0.23, sady nástrojov pre samostatné budovanie distribúcie

Po roku vývoja bola vydaná súprava nástrojov GNU Mes 0.23, ktorá poskytuje proces bootstrap pre GCC a umožňuje uzavretý cyklus prestavby 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ťazec 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 garantovať integrita zostáv z referenčných zdrojových kódov).

GNU Mes ponúka samohostiaci tlmočník 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ý potom umožňuje zostaviť skrátenú verziu kompilátora TinyCC (tcc), ktorého možnosti sú už dostatočné na zostavenie GCC.

Interpret jazyka Scheme je pomerne kompaktný, zaberá asi 5000 2 riadkov kódu v najjednoduchšej podmnožine jazyka C a možno ho previesť na spustiteľný súbor pomocou univerzálneho prekladača M0-Planet alebo jednoduchého kompilátora C zostaveného pomocou samostatne zostaveného hexXNUMX. assembler, ktorý nevyžaduje externé závislosti. Interpret zároveň obsahuje plnohodnotný garbage collector a poskytuje knižnicu načítateľných modulov.

Nové vydanie obsahuje podporu pre architektúru ARM (armhf-linux a aarch-linux). Pridaná možnosť používať Mes spolu s redukovanou sadou bootstrap súborov z projektu GNU Guix (GNU Guix Reduced Binary Seed). Implementovaná podpora pre budovanie Mes a knižnice Mes C pomocou GCC 10.x. Kompilátor MesCC teraz dodáva svoju vlastnú knižnicu libmescc.a (-lmescc) a pri zostavovaní s GCC je teraz špecifikované "-lgcc". Poskytnutá podpora pre budovanie MesCC s Guile 3.0.x.

Zdroj: opennet.ru

Pridať komentár