The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск GNU Mes 0.23, инструментария для самодостаточной сборки дистрибутивов, opennews (??), 15-Мрт-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


173. "Выпуск GNU Mes 0.23, инструментария для самодостаточной сбор..."  +2 +/
Сообщение от Ordu (ok), 16-Мрт-21, 13:25 
Когда ты собираешь компилятор предыдущей версией компилятора, возникает интересная проблема, что ежели по каким-то причинам существующие компиляторы тебя не устраивают, то ты ничего изменить не можешь. Скажем была теоретическая концепция вируса, живущего в компиляторе, и инфицирующая всё, что собирается компилятором. В том числе и последующие версии компилятора, чтобы они делали то же самое. При подходе "следующая версия компилятора компилирует предыдущую" этот вирус неуловим.

Могут быть и другие нюансы, но суть в том, что ты вынужден доверять компилятору, и _всей_ _истории_ предыдущих сборок этого компилятора, что нигде в прошлом никто не инфицировал компилятор. Откуда ты знаешь? Чем собиралась первая версия gcc? Я допустим не знаю, и не знаю могу ли я доверять ей. Более того, в моей системе gcc пересобирает сам себя уже лет десять, по-моему. В любом случае всё началось с gcc из гентушного stage-3. Но гентушный stage-3 компилятор был собран предыдущей версией гентушной сборки gcc. А если мы отследим назад в прошлое, то откуда был взят компилятор, которым первая гентушная сборка gcc была собрана? А впоследствии точно нигде никто не сделал с этой сборкой ничего такого?

В linux'е очень долго не было никаких процессов для мониторинга бинарей. Сейчас есть воспроизводимые сборки, это хоть что-то. Но этого недостаточно. Мы можем, скрестив пальцы, рассчитывать, что тысячи глаз вычистят сорцы от хлама, но если хлам в бинарях и распространяется от бинаря к бинарю? Найдётся хоть один глаз, который будет искать?

Хочется историю отрезать, и доверять какому-то воспроизводимому техпроцессу. Нельзя сказать, чтобы сегодня вся эта хрень решала бы какую-то _практическую_ проблему, но в целом можно лишь приветствовать попытки запилить техпроцесс создания компилятора "с нуля", потому как даже если когда этот техпроцесс окажется востребованным, он окажется неприменимым на практике (потому как создавался не под решение конкретной практической проблемы, а пальцем в небо), то по-крайней мере накопленный опыт создания техпроцесса окажется полезным.

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

182. "Выпуск GNU Mes 0.23, инструментария для самодостаточной сбор..."  +/
Сообщение от Аноним (185), 16-Мрт-21, 16:48 
> В любом случае всё началось с gcc из гентушного stage-3. Но гентушный stage-3 компилятор был собран предыдущей версией гентушной сборки gcc. А если мы отследим назад в прошлое, то откуда был взят компилятор, которым первая гентушная сборка gcc была собрана? А впоследствии точно нигде никто не сделал с этой сборкой ничего такого?

https://mirror.yandex.ru/mirrors/ftp.linux.kiev.ua/Linux/CD/.../

Проходил бутстрап начиная со stage1 и много чего дополнительного. Он должен быть чист.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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