випуск інструментарію , що забезпечує процес бутстрепінгу (bootstrap) для GCC і дозволяє домогтися замкнутого циклу перескладання з вихідних текстів.
Інструментарій вирішує завдання верифікованого початкового складання компілятора в дистрибутивах, розриваючи ланцюжок циклічного перескладання (для складання компілятора потрібні виконувані файли вже зібраного компілятора, а бінарні складання компілятора є потенційним джерелом прихованих закладок, що не дозволяє повністю гарантувати цілісність).
У GNU Mes самодостатній (self-hosting) інтерпретатор для мови Scheme, написаний мовою Сі, та найпростіший компілятор для мови Сі (MesCC), написаний мовою Scheme. Обидва компоненти взаємозбірні. Scheme-інтерпретатор дає можливість зібрати Сі-компілятор MesCC, який потім дозволяє зібрати урізану версію компілятора (tcc), можливостей якого вже достатньо для збирання GCC.
Інтерпретатор мови Scheme досить компактний, займає близько 5000 рядків коду на найпростішому підмножині мови Сі і може бути перетворений на файл, що виконується з використанням універсального транслятора або найпростішого Сі-компілятора, зібраного з використанням ассамблера, що самозбирається. не вимагає зовнішніх залежностей. При цьому інтерпретатор включає повноцінний збирач сміття і надає бібліотеку модулів, що завантажуються.
У новому випуску забезпечено підтримку повторюваних збірок з використанням зв'язок mes+mescc або guile+mescc у дистрибутивах GNU Guix, Debian GNU/Linux та NixOS. Додано можливість запуску Scheme-інтерпретатора Mes у GNU Hurd, але Сі-компілятор mescc ще не працює через відсутність підтримки необхідних системних викликів (наприклад, fork/exec). Додана початкова підтримка створення файлів FreeBSD, що виконуються. Покращена підтримка бутстропінгу дистрибутива Guix з використанням тільки компонентів мовою Scheme (командна оболонка Gash (Guile as Shell) замість bash та Gash Core Utils замість coreutils, grep, sed, gzip, make, awk та tar).
У наступних випусках очікується поява підтримки бутстропінгу для NixOS, включення бутстропінгу тільки з використанням компонентів мовою Scheme у гілці wip-bootstrap, підтримка архітектури ARM, можливість компіляції Mes.c з використанням M2-Planet, повна підтримка модулів Guird, забезпечення роботи
Джерело: opennet.ru
