Мне было интересно, были ли современные современные компиляторы, такие как MS cc, gcc, clang, icc, более новые версии с текущей версией одного и того же компилятора?
Из-за этого риска:
http://scienceblogs.com/goodmath/2007/04/15/strange-loops-dennis-ritchie-a/
http://c2.com/cgi/wiki?TheKenThompsonHack
Я уверен, что все, кто связан с разработкой вышеупомянутых компиляторов, знают об этой проблеме, в результате чего код вводится в компилятор более ранней версией самого себя и распространяется невидимо.
Теперь реальная проблема, на самом деле не одна из бэкдоров, но гораздо больше о правильности кода, не так ли? Как насчет того, что где-то в цепочке сборки какой-то извращенный поворот был введен чистой ошибкой, и сегодня компилятор генерирует неверный код, даже если источник компилятора выглядит ОК, из-за недостатка Кен Томпсона?
Итак, если они построены сами по себе, как они защищают себя?