The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

17.12.2018 10:14

Представлен выпуск инструментария 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.

  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск GNU Mes 0.17, инструментария для самодостаточной сборки дистрибутивов
  3. OpenNews: Проект DragonFly BSD представил новую систему сборки пакетов DPorts
  4. OpenNews: Первые выпуски дистрибутива с кроссплатформенной системой сборки Radix.pro
  5. OpenNews: Twitter представил первый значительный выпуск системы сборки Pants
  6. OpenNews: Выпуск системы сборки пакетов Open Build Service 2.8 с поддержкой технологии Snap
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49795-mes
Ключевые слова: mes, bootstrap, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:32, 17/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    С боку темы. Всем кто еще не вкурсе, есть клевый проект https://github.com/crosstool-ng/crosstool-ng/ , который позволит собрать gcc и весь тулчейн нужной версии. Не только для какой-то железки, а и для локального использования, для всяких упражнений.
     
     
  • 2.7, нах (?), 14:12, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    ну типа выглядело клево, пока не прочитал вот это:
    "macOS is no longer supported
    [skip расписывания в собственной беспомощности и отсутствии желания]

    I am hereby declaring macOS unsupported. Any issues reported for macOS build/host triplets will be closed.
    "
    то есть хорошо побеленный гроб превращается в украшение помещения.

    чтоб проблемы ниггеров шерифу даже видны не были.

    знаете что, я пока еще могу тулчейн и вручную собрать для элементарных случаев. А для неэлементарных ты, Алешенька, все равно "any issues will be closed".

     
     
  • 3.10, Гит рулит (?), 14:33, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Мак то для этого всего зачем?
     
  • 3.12, Аноним (12), 17:04, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    это ты где такое прочитал?

    я для макоси собираю на основе вот этого https://github.com/tpoechtrager/osxcross/ под линухом

     
     
  • 4.23, нах (?), 16:52, 21/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > это ты где такое прочитал?

    http://crosstool-ng.github.io/
    прямо посередь страницы
    > я для макоси собираю на основе вот этого https://github.com/tpoechtrager/osxcross/ под
    > линухом

    да я собрать-то и без алешеньки соберу, если оно в принципе собираемо (если нет, то и тулза не поможет) просто смешны заявки на универсальную автоматизацию с таким вот объявлением. Понятно что и любые другие непонравившиеся ему тикеты будут закрыты, чтоб не огорчать взора. А на практике, полагаю, работает на тех полутора платформах, на которых автор сам что-то изредка собирает, и еще на паре по чистой случайности.

     
  • 3.14, Аноним (-), 23:56, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > ну типа выглядело клево, пока не прочитал вот это:
    > "macOS is no longer supported

    Ну вы там хотели шланг и отлизывать эпплу - нафига вам кроссплатформенность какая-то сдалась?

     

  • 1.2, aaaaaaaaaaaaaaaaaaaaaaaaaaaa (?), 10:37, 17/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А самопроверяющийся иструмент для проверки исходников как себя, так и всего дистрибутива от закладок/ошибок и т п где? А то для слабоков, неспособных сразу в двоичке/шеснадцатиричке написать компилятор с помощью таблицы команд инструмент сделали, а для неспособных маломальский объём кода "глазками" проверить - нечего...
     
     
  • 2.5, Аноним84701 (ok), 13:31, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А самопроверяющийся иструмент для проверки исходников как себя, так и всего дистрибутива от закладок/ошибок и т п где?

    Там же, где и самопроверяющийся инструмент для проверки как себя, так и других программ на корректное срабатывание и завершение.

    > А то для слабоков [...] нечего...

    Да ладно -- некоторые и пару предложений глазками проверить не могут.

     
  • 2.11, Гит рулит (?), 14:34, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для этого придумали тесты и хеш суммы. Хотя кого я обманываю.
     
  • 2.15, Аноним (-), 23:58, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > от закладок/ошибок и т п где?

    Ты даже свое сообщение то на ошибки проверить не смог. А туда же, программы в двоичных кодах. Если прогу тумблерами на шину вбивать - там 1 ошибка может оказаться фатальной.

     
     
  • 3.18, aaaaaaaaaaaaaaaaaaaaaaaaaaaa (?), 02:23, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Таки и не пытался, также, как и тратить массу времени на копания в исходниках операционки и прикладного ПО... Да и в пересборе бинарников смысла не вижу никакого - всё равно исходники не проверял :)
    Такие инициативы, как в новости, вводят в заблуждение о "безопастности", опуская уровень технических знаний масс :)
    Про "1 ошибку" - с перфокартами работал, знаю, но фатальность преувеличенна...
     
     
  • 4.21, Gr. N. o (?), 04:58, 20/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > "безопастности"

    facepalm.jpg

     
  • 2.20, Andrey Mitrofanov (?), 14:16, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А самопроверяющийся иструмент для проверки исходников как себя, так и всего дистрибутива
    > от закладок/ошибок и т п где?

    Он занят.  Работает над ответом "42".  Не отвлекайте.

     

  • 1.3, runoverheads (ok), 11:39, 17/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    из новости можно подумать что речь идёт о 2х бинарниках Scheme и MesCC которые надо по кругу пересобирать и которые могут быть с закладками.

    пройдя по ссылкам я прочитал что всё более затейливо.
    есть небольшой бинарный код (также приводят асм код для проверки) текстового редакта и асм компилятор в одном лице - Hex0_monitor. который можно вбить вручную. использовать этот бинарник его как бут сектор, запустить.
    далее им собирается асм компилятор Hex0. который в свою очередь собирает примитивный С компилятор. дальше собираем Scheme. им MesCC. им TinyCC. им gcc 2.95.3. им gcc3. им gcc4.7 на и далее по цепочке до gcc 8 кому нада.

     
     
  • 2.4, anonymous (??), 12:44, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > им MesCC. им TinyCC. им gcc 2.95.3. им gcc3. им gcc4.7 на и далее по цепочке до gcc 8

    А что такой способ долгий? C gcc поновее начать нельзя?

     
     
  • 3.8, Аноним (8), 14:13, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В GCC 4.8 и новее есть код на C++. TinyCC вряд ли в него сможет.
     
     
  • 4.24, anonymous (??), 00:44, 23/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я конечно понимаю для чего эту карусель разводить, но имхо, проще с ГЦЦ начинать сразу, а освободившееся время потратить на ГЦЦ. Оно и вообще полезнее будет.
     
  • 3.9, нах (?), 14:13, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А что такой способ долгий? C gcc поновее начать нельзя?

    немодно. А скоро, полагаю, сломают.

      

     
  • 2.6, Аноним (8), 13:37, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >который можно вбить вручную

    Ностальгия: Радио-86РК, Специалист

     
  • 2.13, Cradle (?), 18:58, 17/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > всё более затейливо

    а прошивку микрокода они почему забыли? Verilog опять же тоже самим собирать нужно, если дальше пойти. Потом нужно и свой фэб построить, а то не известно что китайцы в процессе еще в шаблон дорисуют. Оборудование для фэба тоже нужно свое склепать, китайское уже нельзя..

     
     
  • 3.16, Аноним (-), 00:01, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > а прошивку микрокода они почему забыли?

    Потому что ее может и не быть.

    > Verilog опять же тоже самим собирать нужно, если дальше пойти.

    Следите за новостями...

    > то не известно что китайцы в процессе еще в шаблон дорисуют.

    Они смогут это сделать, не сломав дизайн? :)

    > Оборудование для фэба тоже нужно свое склепать, китайское уже нельзя..

    Так, а руду для дорожек на плате надо самому накопать? А то вдруг китайцы в нее нассут или каким-то гавонм разбавят?!

     
     
  • 4.22, Аноним (22), 05:05, 20/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Так, а руду для дорожек на плате надо самому накопать? А то вдруг китайцы в нее нассут или каким-то гавонм разбавят?!

    Тоньше надо. Сначала следует создать государство в котором можно будет вручную разведать месторождение руды из которой будет в дальнейшем сделан экскаватор для добычи руды для дорожек и будут зачаты правильные китайцы, которые не нассут...

     

  • 1.17, user90 (?), 00:29, 18/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ввыходит, чуваки не то, что решили проблему "курицы и яйца" - они воссоздали эволюцию (кода) в миниатюре ;)
     
  • 1.19, aaaaaaaaaaaaaaaaaaaaaaaaaaaa (?), 02:27, 18/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Почти развитие TinyCC Boot Loader (https://bellard.org/tcc/tccboot.html) :)
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру