Byla zveřejněna verze nástroje GNU Mes 0.27, která zajišťuje proces bootstrapování pro GCC a umožňuje uzavřenou smyčku přebudování ze zdrojových textů. Nástroj řeší problém ověřené počáteční kompilace překladače v distribucích, přerušením řetězce cyklického přebudování (k přebudování překladače jsou potřeba spustitelné soubory již sestaveného překladače, což potenciálně představuje zdroj skrytých zadních vrátek, což neumožňuje zcela zaručit integritu sestavení ze referenčních zdrojových textů).
GNU Mes nabízí samostatný (self-hosting) interpretér pro jazyk Scheme, napsaný v jazyce C, a jednoduchý kompilátor pro jazyk C (MesCC), napsaný v jazyce Scheme. Oba komponenty jsou vzájemně kompilovatelné. Interpretér jazyka Scheme umožňuje kompilaci C-kompilátoru MesCC, který pak umožňuje kompilaci zjednodušené verze kompilátoru TinyCC (tcc), jehož možnosti jsou již dostatečné pro sestavení GCC.
Interpretér jazyka Scheme je velmi kompaktní, obsahuje přibližně 5000 řádků kódu na jednoduchém podmnožinu jazyka C a může být převeden na spustitelný soubor pomocí univerzálního překladače M2-Planet nebo jednoduchého C-kompilátoru, zkompilovaného pomocí samokompilovatelného assembleru hex0, který nevyžaduje externí závislosti. Interpretér navíc obsahuje plnohodnotný sběrač odpadu a poskytuje knihovnu načítatelných modulů. Projekt rovněž rozvíjí knihovnu C Mes, která je dostačující k tomu, aby zkompilovala glibc 2.2.5, binutils 2.20.1 a gcc 2.95.3, které jsou nezbytné pro nasazení distribuce Guix na platformách i686-linux, x86_64-linux, armhf-linux a aarch64-linux, s využitím pouze původních textů (Full Source Bootstrap).
V nové verzi byla obnovena podpora spuštění Mes v prostředí GNU Hurd. Byly přidány nové moduly: rnrs (bitová aritmetika) a srfi (srfi-39). Pro kompatibilitu s Guile se modul srfi načítá automaticky. Byly přidány nové funkce: pair-for-each a with-fluids*. V překladači MesCC byla implementována možnost práce s moduly pro generování parserů a lexikálních analyzátorů NYACC verzí od 0.99.0 do 1.09.4. Byla odstraněna možnost použití zastaralých modulů ve stylu mes pro NYACC a MesCC.
Zdroj: opennet.ru
