The OpenNET Project / Index page

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



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

Оглавление

Выпуск системы сборки CMake 3.7, opennews (??), 12-Ноя-16, (0) [смотреть все]

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


3. "Выпуск системы сборки CMake 3.7"  +7 +/
Сообщение от Алексей (??), 12-Ноя-16, 11:01 
Одним из шагов проверки надежности компилятора является сборка его самим собой. Думаю вопрос закрыт?
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск системы сборки CMake 3.7"  –4 +/
Сообщение от klalafuda (?), 12-Ноя-16, 12:07 
Я взял исходники gcc и собрал их имеющимся бинарным gcc. Само по себе это конечно здорово и увлекательно, но что это говорит с точки зрения надежности компилятора? Помимо того, что я могу собрать gcc версии A gcc-ой верии B.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск системы сборки CMake 3.7"  +2 +/
Сообщение от Аноним (-), 12-Ноя-16, 13:17 
После сборки и установки версии B собери версией B ещё раз исходники версии B.
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск системы сборки CMake 3.7"  +4 +/
Сообщение от Аноним (-), 12-Ноя-16, 15:08 
Я вам скажу по секрету, gcc собирает себя дважды (или даже трижды, уже не помню). Первый раз - вашей локальной версией gcc. Второй раз - собранной версией на первом шаге. Третий раз - собранной на втором шаге, после чего, вроде, проверяется, что вторая и третья версия эквивалентны.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

13. "Выпуск системы сборки CMake 3.7"  –1 +/
Сообщение от Аноним (-), 12-Ноя-16, 17:15 
При сборке г-цы-цы г-ц-цой и при ее кросскомпиляции часто --disable-bootstrap добавляют чтобы собирать только один раз
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск системы сборки CMake 3.7"  –1 +/
Сообщение от yaa (?), 14-Ноя-16, 19:06 
> При сборке г-цы-цы г-ц-цой и при ее кросскомпиляции часто --disable-bootstrap добавляют чтобы собирать только один раз

Да, только не Абрам, а Мойше, не на скачках, а в преферанс, не в Лондоне, а в Житомире, не 20 тыс., а 20 рублей и не выиграл, а проиграл.

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

31. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от анон (?), 13-Ноя-16, 16:58 
А что такое надежность компилятора? Он собрал вашу программу или нет? Собственно, о чем переживания?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

35. "Выпуск системы сборки CMake 3.7"  +1 +/
Сообщение от DG94 (ok), 14-Ноя-16, 11:38 
Компиляторы тоже люди пишут, и в них могут встречаться различные ошибки, к примеру неверная трансляция определенного участка кода в ассемблер, и получится так что программист вроде все сделал правильно а программа не компилируется. Для предотвращения подобных случаев и существуют автоматические системы тестирования, а сборка компилятора самим собой это одна из традиционных проверок любого компилятора.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от Аноним (-), 14-Ноя-16, 20:00 
Вручную скомпилируй TCC. Затем откомпилируй PCC полученным TCC. Затем откомпилируй GCC полученным PCC. И наслаждайся.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

8. "Выпуск системы сборки CMake 3.7"  –1 +/
Сообщение от Comdiv (ok), 12-Ноя-16, 15:44 
> Одним из шагов проверки надежности компилятора является сборка его самим собой.
> Думаю вопрос закрыт?

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

Это лишь забавный пример того, что вопрос несколько сложней, чтобы его так просто закрывать.

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

9. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от АнонимХ (ok), 12-Ноя-16, 15:56 
Это, пожалуйста, унесите на винфак. Там студия внедряет сбор телеметрии в твою программу, если специально это не предотвратить. Интегрирует это с нашумевшим общесистемным сбором данных о пользователе
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от Comdiv (ok), 12-Ноя-16, 16:28 
Когда в 1983 Кен Томпсон на пару с Деннисом Ритчи получал Тьюринговскую премию за разработку UNIX ни о какой Windows с Visual Studio, как Вы понимаете, речь не шла. Проблема несколько шире.
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от . (?), 12-Ноя-16, 20:28 
Они эту премию получили за соооовсем другое! :)
А та проблема о чём ты пытаешься говорить - есть только на закрытых платформах.
Да даже и там - мсявок вот за руку поймали :)

Но безусловно, если булки расслабить то поимеют :)

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

16. "Выпуск системы сборки CMake 3.7"  –1 +/
Сообщение от YetAnotherOnanym (ok), 12-Ноя-16, 23:28 
> есть только на закрытых платформах

Доооооо... Хоть сто раз пересобери мир, если в компиляторе изначально была закладка, она все сто раз перекочует в новый компилятор.

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

19. "Выпуск системы сборки CMake 3.7"  +3 +/
Сообщение от Аноним (-), 12-Ноя-16, 23:41 
> Доооооо... Хоть сто раз пересобери мир, если в компиляторе изначально была закладка,
> она все сто раз перекочует в новый компилятор.

Однако ж можно попользоваться Тюрингом против закладок.
1) Закладка может оказаться видима в каком-нибудь ассемблерном листинге и дебагере. Предусмотреть все такие фокусы програмера не то что невозможно, НО довольно сложно.
2) Програмер может делать достаточно нестандартные вещи типа кросскомпила или сборки программы без рантайма (nostdlib). И тут вредительский код делает допустим файловые операции. А у нас - обана - вообще нету файловых операций. Что будет дальше? Скорее всего линкер скажет случилась что какая-то фигня и конструкция будет запалена. Наверное это тоже можно заделать в закладке но закладка стнет жирной и бажной и станет создавать аномалии лишний раз.

Тюринг работает в обе стороны: как на атакующего так и на защищающегося. Атакующий может сделать что-то чего защищающийся не предосмотрел. Защищающийся точно так же может создать ситуацию которую атакующий не предусмотрел.

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

45. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от Аноним (-), 16-Ноя-16, 18:15 
Так не пересобирай мир закрытыми компиляторами. И да, достаточно много глаз смотрят исходники GCC.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

23. "Выпуск системы сборки CMake 3.7"  –2 +/
Сообщение от Comdiv (ok), 13-Ноя-16, 00:56 
> Они эту премию получили за соооовсем другое! :)

Ознакомьтесь:
http://amturing.acm.org/award_winners/thompson_4588371.cfm

> With Dennis M. Ritchie, for their development of generic operating systems theory
> and specifically for the implementation of the UNIX operating system.

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

12. "Выпуск системы сборки CMake 3.7"  –1 +/
Сообщение от deadfood (ok), 12-Ноя-16, 16:35 
>внедрил в исходный код компилятора Си

зачем так сложно? простенький файловый вирус в gcc и всё

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

20. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от Аноним (-), 12-Ноя-16, 23:43 
> зачем так сложно? простенький файловый вирус в gcc и всё

И вот собираю я gcc'ом допустим бутлоадер какой, где такого понятия как файл вообще нету. И как это должно работать?

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

29. "Выпуск системы сборки CMake 3.7"  +1 +/
Сообщение от Линукс еще не готов (?), 13-Ноя-16, 08:50 
Если в компилируемом файле нет обращений к файловой системе то не внедрять ничего.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск системы сборки CMake 3.7"  +/
Сообщение от DG94 (ok), 14-Ноя-16, 11:53 
Хоть я довольно подозрительный человек, но даже у меня не возникало подозрений к GCC или Clang тем более что код этих проектов открыт и при большом желании можно провести их аудит (насколько это затратно это уже другой вопрос), да и разработчики компиляторов частенько заглядывают под капот проектов конкурентов, а при обнаружении подобных закладок молчать бы они точно не стали.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

37. "Выпуск системы сборки CMake 3.7"  –1 +/
Сообщение от Comdiv (ok), 14-Ноя-16, 14:43 
Значит, Вы не такой уж и подозрительный человек. Есть такой конкурс http://underhanded-c.org . В отличии от конкурса обфусцированного кода здесь ценят прилично выглядящий, хорошо написанный код, который делает не совсем то, что можно ожидать. Закладки, оформленные в таком стиле не так просто обнаружить.

Это не означает, что нечто подобное внедрено в gcc.

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

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

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




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

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