Vydání GNU Mes 0.23, sady nástrojů pro samostatnou distribuci

Po roce vývoje byla vydána sada nástrojů GNU Mes 0.23, která poskytuje proces bootstrap pro GCC a umožňuje uzavřený cyklus přestavby ze zdrojového kódu. Sada nástrojů řeší problém ověřeného počátečního sestavení kompilátoru v distribucích, přeruší řetězec cyklického přestavování (sestavení kompilátoru vyžaduje spustitelné soubory již postaveného kompilátoru a binární kompilační sestavení jsou potenciálním zdrojem skrytých záložek, což neumožňuje plně zaručit integrita sestav z referenčních zdrojových kódů).

GNU Mes nabízí samohostitelský interpret pro jazyk Scheme napsaný v jazyce C a jednoduchý kompilátor pro jazyk C (MesCC) napsaný v jazyce Scheme. Oba komponenty jsou vzájemně smontovatelné. Interpret schématu umožňuje sestavit kompilátor MesCC C, který pak umožňuje sestavit ořezanou verzi kompilátoru TinyCC (tcc), jehož schopnosti jsou již dostatečné pro sestavení GCC.

Interpret jazyka Scheme je poměrně kompaktní, zabere asi 5000 řádků kódu v nejjednodušší podmnožině jazyka C a lze jej převést do spustitelného souboru pomocí univerzálního překladače M2-Planet nebo pomocí jednoduchého kompilátoru C sestaveného pomocí samostatně sestaveného hex0. assembler, který nevyžaduje externí závislosti. Interpret zároveň obsahuje plnohodnotný garbage collector a poskytuje knihovnu načítatelných modulů.

Nová verze obsahuje podporu pro architekturu ARM (armhf-linux a aarch-linux). Přidána možnost používat Mes spolu s redukovanou sadou bootstrap souborů z projektu GNU Guix (GNU Guix Reduced Binary Seed). Implementována podpora pro budování Mes a knihovny Mes C pomocí GCC 10.x. Kompilátor MesCC nyní dodává svou vlastní knihovnu libmescc.a (-lmescc) a při sestavování pomocí GCC je nyní specifikováno "-lgcc". Poskytovaná podpora pro budování MesCC s Guile 3.0.x.

Zdroj: opennet.ru

Přidat komentář