|
2.3, Алексей (??), 11:01, 12/11/2016 [^] [^^] [^^^] [ответить]
| +7 +/– |
Одним из шагов проверки надежности компилятора является сборка его самим собой. Думаю вопрос закрыт?
| |
|
3.4, klalafuda (?), 12:07, 12/11/2016 [^] [^^] [^^^] [ответить]
| –4 +/– |
Я взял исходники gcc и собрал их имеющимся бинарным gcc. Само по себе это конечно здорово и увлекательно, но что это говорит с точки зрения надежности компилятора? Помимо того, что я могу собрать gcc версии A gcc-ой верии B.
| |
|
4.5, Аноним (-), 13:17, 12/11/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
После сборки и установки версии B собери версией B ещё раз исходники версии B.
| |
4.7, Аноним (-), 15:08, 12/11/2016 [^] [^^] [^^^] [ответить]
| +4 +/– |
Я вам скажу по секрету, gcc собирает себя дважды (или даже трижды, уже не помню). Первый раз - вашей локальной версией gcc. Второй раз - собранной версией на первом шаге. Третий раз - собранной на втором шаге, после чего, вроде, проверяется, что вторая и третья версия эквивалентны.
| |
|
5.13, Аноним (-), 17:15, 12/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
При сборке г-цы-цы г-ц-цой и при ее кросскомпиляции часто --disable-bootstrap добавляют чтобы собирать только один раз
| |
|
6.39, yaa (?), 19:06, 14/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> При сборке г-цы-цы г-ц-цой и при ее кросскомпиляции часто --disable-bootstrap добавляют чтобы собирать только один раз
Да, только не Абрам, а Мойше, не на скачках, а в преферанс, не в Лондоне, а в Житомире, не 20 тыс., а 20 рублей и не выиграл, а проиграл.
| |
|
|
4.31, анон (?), 16:58, 13/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
А что такое надежность компилятора? Он собрал вашу программу или нет? Собственно, о чем переживания?
| |
|
5.35, DG94 (ok), 11:38, 14/11/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Компиляторы тоже люди пишут, и в них могут встречаться различные ошибки, к примеру неверная трансляция определенного участка кода в ассемблер, и получится так что программист вроде все сделал правильно а программа не компилируется. Для предотвращения подобных случаев и существуют автоматические системы тестирования, а сборка компилятора самим собой это одна из традиционных проверок любого компилятора.
| |
|
4.40, Аноним (-), 20:00, 14/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
Вручную скомпилируй TCC. Затем откомпилируй PCC полученным TCC. Затем откомпилируй GCC полученным PCC. И наслаждайся.
| |
|
3.8, Comdiv (ok), 15:44, 12/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Одним из шагов проверки надежности компилятора является сборка его самим собой.
> Думаю вопрос закрыт?
На тьюринговской лекции Кен Томпсон рассказал, как в качестве эксперимента внедрил в исходный код компилятора Си специальный функционал, который внедрял дополнительный код в компилируемые программы в том числе и сам компилятор. После этого он изменил зловредный код таким образом, чтобы его наличие в исполнимом файле не требовало наличия в исходном и поэтому не могло быть обнаружено просмотром исходников.
Это лишь забавный пример того, что вопрос несколько сложней, чтобы его так просто закрывать.
| |
|
4.9, АнонимХ (ok), 15:56, 12/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
Это, пожалуйста, унесите на винфак. Там студия внедряет сбор телеметрии в твою программу, если специально это не предотвратить. Интегрирует это с нашумевшим общесистемным сбором данных о пользователе
| |
|
5.11, Comdiv (ok), 16:28, 12/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
Когда в 1983 Кен Томпсон на пару с Деннисом Ритчи получал Тьюринговскую премию за разработку UNIX ни о какой Windows с Visual Studio, как Вы понимаете, речь не шла. Проблема несколько шире.
| |
|
6.15, . (?), 20:28, 12/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
Они эту премию получили за соооовсем другое! :)
А та проблема о чём ты пытаешься говорить - есть только на закрытых платформах.
Да даже и там - мсявок вот за руку поймали :)
Но безусловно, если булки расслабить то поимеют :)
| |
|
7.16, YetAnotherOnanym (ok), 23:28, 12/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> есть только на закрытых платформах
Доооооо... Хоть сто раз пересобери мир, если в компиляторе изначально была закладка, она все сто раз перекочует в новый компилятор.
| |
|
8.19, Аноним (-), 23:41, 12/11/2016 [^] [^^] [^^^] [ответить] | +3 +/– | Однако ж можно попользоваться Тюрингом против закладок 1 Закладка может оказат... текст свёрнут, показать | |
8.45, Аноним (-), 18:15, 16/11/2016 [^] [^^] [^^^] [ответить] | +/– | Так не пересобирай мир закрытыми компиляторами И да, достаточно много глаз смот... текст свёрнут, показать | |
|
|
|
|
4.12, deadfood (ok), 16:35, 12/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
>внедрил в исходный код компилятора Си
зачем так сложно? простенький файловый вирус в gcc и всё
| |
|
5.20, Аноним (-), 23:43, 12/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
> зачем так сложно? простенький файловый вирус в gcc и всё
И вот собираю я gcc'ом допустим бутлоадер какой, где такого понятия как файл вообще нету. И как это должно работать?
| |
|
4.36, DG94 (ok), 11:53, 14/11/2016 [^] [^^] [^^^] [ответить]
| +/– |
Хоть я довольно подозрительный человек, но даже у меня не возникало подозрений к GCC или Clang тем более что код этих проектов открыт и при большом желании можно провести их аудит (насколько это затратно это уже другой вопрос), да и разработчики компиляторов частенько заглядывают под капот проектов конкурентов, а при обнаружении подобных закладок молчать бы они точно не стали.
| |
|
5.37, Comdiv (ok), 14:43, 14/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Значит, Вы не такой уж и подозрительный человек. Есть такой конкурс http://underhanded-c.org . В отличии от конкурса обфусцированного кода здесь ценят прилично выглядящий, хорошо написанный код, который делает не совсем то, что можно ожидать. Закладки, оформленные в таком стиле не так просто обнаружить.
Это не означает, что нечто подобное внедрено в gcc.
| |
|
|
|
2.18, Аноним (-), 23:35, 12/11/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И чем вообще компилируются компиляторы?
Традиционно - самим собой :)
| |
|
1.10, жабабыдлокодер (ok), 16:12, 12/11/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
*меланхолично
ReactOS - это не то, что стоит заносить в достижения... В отличие от KDE или Blender...
| |
|
2.14, Аноним (-), 17:18, 12/11/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> *меланхолично
> ReactOS - это не то, что стоит заносить в достижения... В отличие
> от KDE или Blender...
С такой альтернативной логикой прохождение юнит-тестов надо вообще заносить в регресс
| |
|
3.17, Аноним (-), 23:33, 12/11/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> С такой альтернативной логикой прохождение юнит-тестов надо вообще заносить в регресс
Практика показала что можно зарелизить жутко бажный продукт пройдя однако ж все юниттесты.
А реактос показал что можно 17 лет страдать хней, запуская ОС на виртуалочке. Совсем как живое, только не работает. Настолько что разработчики азрабатывают этот крап в уютной максималке с вьюжлостудией. Тьфу.
| |
|
2.41, DG94 (ok), 20:05, 14/11/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не пойму почему так хейтят ReactOS, ведь вроде его разработка приносит пользу проекту Wine который иногда бывает весьма полезен. Да и вообще если проект разрабатывается значит приносит какие-то профиты, редко что-то убыточное держится исключительно на одном энтузиазме.
| |
|
|
4.44, DG94 (ok), 01:14, 15/11/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
ReactOS works with the WINE project to share as much programming effort as possible. ReactOS depends on Wine mainly for user mode DLLs. Where appropriate, patches to Wine are also submitted by the development team, and patch contributors are often directed to Wine if it is felt that the patches would benefit them.
| |
|
|
|
1.22, Аноним (-), 23:49, 12/11/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Как так, про cmake-server в списке основных изменений написать забыли!
| |
1.28, Аноним (-), 06:54, 13/11/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
> В команду "if()" добавлена поддержка дополнительных операций сравнения "LESS_EQUAL", "GREATER_EQUAL", "STRLESS_EQUAL", "STRGREATER_EQUAL", "VERSION_LESS_EQUAL", и "VERSION_GREATER_EQUAL"
Синтаксис по прежнему кошмарен.
| |
1.46, нет (??), 16:21, 18/11/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
первый релиз без презрительных каментов о превосходстве над autotools. По крайней мере самое любимое слово адептов 'autocrap' уже не встречается. Надеюсь, сменили область приложения усилий.
| |
|