URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 116099
[ Назад ]

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

Отправлено opennews , 17-Дек-18 10:32 
Представлен (https://www.mail-archive.com/info-gnu@gnu.org/msg02531....) выпуск инструментария GNU Mes 0.19 (https://www.gnu.org/software/mes), обеспечивающего процесс бутстрэппинга (bootstrap) для GCC. Инструментарий решает задачу верифицированной начальной сборки компилятора в дистрибутивах, разрывая цепочку цикличной пересборки (для сборки компилятора требуются исполняемые файлы уже собранного компилятора).

В GNU Mes предлагается (https://www.opennet.ru/opennews/art.shtml?num=49188) самодостаточный (self-hosting) интерпретатор для языка Scheme, написанный на языке Си, и простейший компилятор для языка Си (MesCC), написанный на языке Scheme. Оба компонента взаимособираемы. Scheme-интерпретатор даёт возможность собрать Си-компилятор MesCC, который затем позволяет собрать  урезанную версию компилятора TinyCC (https://gitlab.com/janneke/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.


URL: https://www.mail-archive.com/info-gnu@gnu.org/msg02531....
Новость: https://www.opennet.ru/opennews/art.shtml?num=49795


Содержание

Сообщения в этом обсуждении
"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 17-Дек-18 10:32 
С боку темы. Всем кто еще не вкурсе, есть клевый проект https://github.com/crosstool-ng/crosstool-ng/ , который позволит собрать gcc и весь тулчейн нужной версии. Не только для какой-то железки, а и для локального использования, для всяких упражнений.

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено нах , 17-Дек-18 14:12 
ну типа выглядело клево, пока не прочитал вот это:
"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".


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Гит рулит , 17-Дек-18 14:33 
Мак то для этого всего зачем?

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 17-Дек-18 17:04 
это ты где такое прочитал?

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено нах , 21-Дек-18 16:52 
> это ты где такое прочитал?

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

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 17-Дек-18 23:56 
> ну типа выглядело клево, пока не прочитал вот это:
> "macOS is no longer supported

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено aaaaaaaaaaaaaaaaaaaaaaaaaaaa , 17-Дек-18 10:37 
А самопроверяющийся иструмент для проверки исходников как себя, так и всего дистрибутива от закладок/ошибок и т п где? А то для слабоков, неспособных сразу в двоичке/шеснадцатиричке написать компилятор с помощью таблицы команд инструмент сделали, а для неспособных маломальский объём кода "глазками" проверить - нечего...

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним84701 , 17-Дек-18 13:31 
> А самопроверяющийся иструмент для проверки исходников как себя, так и всего дистрибутива от закладок/ошибок и т п где?

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

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

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Гит рулит , 17-Дек-18 14:34 
Для этого придумали тесты и хеш суммы. Хотя кого я обманываю.

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 17-Дек-18 23:58 
> от закладок/ошибок и т п где?

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено aaaaaaaaaaaaaaaaaaaaaaaaaaaa , 18-Дек-18 02:23 
Таки и не пытался, также, как и тратить массу времени на копания в исходниках операционки и прикладного ПО... Да и в пересборе бинарников смысла не вижу никакого - всё равно исходники не проверял :)
Такие инициативы, как в новости, вводят в заблуждение о "безопастности", опуская уровень технических знаний масс :)
Про "1 ошибку" - с перфокартами работал, знаю, но фатальность преувеличенна...

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Gr. N. o , 20-Дек-18 04:58 
> "безопастности"

facepalm.jpg


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Andrey Mitrofanov , 18-Дек-18 14:16 
> А самопроверяющийся иструмент для проверки исходников как себя, так и всего дистрибутива
> от закладок/ошибок и т п где?

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено runoverheads , 17-Дек-18 11:39 
из новости можно подумать что речь идёт о 2х бинарниках Scheme и MesCC которые надо по кругу пересобирать и которые могут быть с закладками.

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено anonymous , 17-Дек-18 12:44 
> им MesCC. им TinyCC. им gcc 2.95.3. им gcc3. им gcc4.7 на и далее по цепочке до gcc 8

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 17-Дек-18 14:13 
В GCC 4.8 и новее есть код на C++. TinyCC вряд ли в него сможет.

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено anonymous , 23-Дек-18 00:44 
Я конечно понимаю для чего эту карусель разводить, но имхо, проще с ГЦЦ начинать сразу, а освободившееся время потратить на ГЦЦ. Оно и вообще полезнее будет.

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено нах , 17-Дек-18 14:13 
> А что такой способ долгий? C gcc поновее начать нельзя?

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

  


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 17-Дек-18 13:37 
>который можно вбить вручную

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Cradle , 17-Дек-18 18:58 
> всё более затейливо

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 18-Дек-18 00:01 
> а прошивку микрокода они почему забыли?

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

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

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

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

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

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

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено Аноним , 20-Дек-18 05:05 
> Так, а руду для дорожек на плате надо самому накопать? А то вдруг китайцы в нее нассут или каким-то гавонм разбавят?!

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


"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено user90 , 18-Дек-18 00:29 
Ввыходит, чуваки не то, что решили проблему "курицы и яйца" - они воссоздали эволюцию (кода) в миниатюре ;)

"Выпуск GNU Mes 0.19, инструментария для самодостаточной сбор..."
Отправлено aaaaaaaaaaaaaaaaaaaaaaaaaaaa , 18-Дек-18 02:27 
Почти развитие TinyCC Boot Loader (https://bellard.org/tcc/tccboot.html) :)