Выпуск GNU Mes 0.19, инструментария для самодостаточной сборки дистрибутивов

17 декабря 2018 года

Представлен выпуск инструментария GNU Mes 0.19, обеспечивающего процесс бутстрэппинга (bootstrap) для GCC. Инструментарий решает задачу верифицированной начальной сборки компилятора в дистрибутивах, разрывая цепочку цикличной пересборки (для сборки компилятора требуются исполняемые файлы уже собранного компилятора).

В GNU Mes предлагается самодостаточный (self-hosting) интерпретатор для языка Scheme, написанный на языке Си, и простейший компилятор для языка Си (MesCC), написанный на языке Scheme. Оба компонента взаимособираемы. Scheme-интерпретатор даёт возможность собрать Си-компилятор MesCC, который затем позволяет собрать урезанную версию компилятора TinyCC (tcc), возможностей которого уже достаточно для сборки GCC.

В новом выпуске интерпретатора языка Scheme добавлена возможность работы со строками как с байтовыми массивами, появилась поддержка хэш-таблиц (тип hash_table) и структур (тип struct). Добавлена поддержка модулей, при помощи которых оформлен компонент boot-module. Производительность увеличена в 2-8 раз (Mes теперь в 2-10 раз медленнее Guile), например, сборка tinycc теперь занимает 8 минут вместо полутора часов. Упрощена система сборки. Добавлены реализации 44 новых функций. В Си-компитялтор MesCC включено 6 новых функций и 22 макроса, позволивших обеспечить сборку GNU Bash и GNU Tar.

В следующих выпусках ожидается появление возможности использования dietlibc и uClibc для бутстрэппинга GNU (bash, binutils, gcc, tar) и использования Gash вместо bash, coreutils, grep, sed и tar. В планах также заменена bootstrap-компонентов для NixOS, возможность прямой сборки gcc-3.x или 4.x без промежуточной сборки gcc 2.95.3, поддержка архитектуры ARM, дистрибутива Debian и ядра GNU Hurd.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск GNU Mes 0.19, инструментария для самодостаточной сборки дистрибутивов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.