LINUX.ORG.RU

Как вы боретесь за чистоту GCC в Gentoo от нежелательных добавок?

 , ,


0

1

Ведь нет компилятора в сорцах, который может построить компилятор в сорцах без участия бинарного компилятора?

А что если бинарный компилятор добавит перестраиваемым бинарникам нежелательный незадокументированный хвостик?

Как это исправить? Взять компилятор из 90х и последовательно выстраивать на нем все более новые бинарные версии до тех пор, пока его не удастся использовать в текущем дистре типа Gentoo/Devuan?

Понравился совет в коментах: https://www.opennet.ru/opennews/art.shtml?num=49795

И вообще GUIX заинтересовал.

Есть ли GUIX или NIX для Debian/Devuan? Какие еще варианты универсальных пакетных менеджеров кроме Homebrew?



Последнее исправление: simoshina (всего исправлений: 5)

Лучше всего будет перейти на счеты.

Deleted
()

Странный вопрос. Само Gentoo - нежелательноая добавка. Успешно борюсь с ней тем, что не устанавливаю её.

Partisan ★★★★
()

Компилятор из 90-х тоже бинарный, там тоже может быть закладка.

Вопрос хороший. Я тоже об этой проблеме задумывался. Но решения не нашёл.
Такая проблема не только Gentoo.

LinuxUser ★★★
()
Последнее исправление: LinuxUser (всего исправлений: 1)
Ответ на: комментарий от LinuxUser

Компилятор из 90-х тоже бинарный, там тоже может быть закладка.

А за 20-30 лет никакого прогресса в закладкостроении ...

Как заменить современные закладки на закладки 90х? И являются ли закладки 90х закладками в современном понимании?

simoshina
() автор топика
Ответ на: комментарий от RazrFalcon

А почему бы энтузиастам не создать открытые скрипты, которые будут выстраивать компиляторы современного Debian без использования бинарных компиляторов ранее таковых из Debian v1x ?

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

simoshina
() автор топика

А что если бинарный компилятор добавит перестраиваемым бинарникам нежелательный незадокументированный хвостик?

А Bootstrap comparison для чего, по твоему?

devl547 ★★★★★
()

Бери исходники компилятора и вручную компилируй по алгоритму, что в них. Для упрощения можешь без оптимизаций. Через месяц-другой, как закончишь, можешь получившимся бинарником скомпилировать исходники уже с оптимизация.

kss ★★★★★
()

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

или закажи кому, если сам не осилишь.

алсо, имхо, никаких закладок тут нет: собери простейшую программку, отключи оптимизацию и посмотри в бинарном редакторе — там все видно

pihter ★★★★★
()
Ответ на: комментарий от pihter

Таки достаточно, даже не компилятор сей, а компилятор ГНУ АСМа

pihter ★★★★★
()
Ответ на: комментарий от pihter

Кстати Hello World в кодах проверяли?

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

simoshina
() автор топика
Ответ на: комментарий от simoshina

железячники работают с каждым байтом (а я через плечо подглядываю), будь ты прав — все все знали бы

но если оно умное и подкладывает закладку не везде — тогда нет.

проведи исследование, найди — все тебя полюбят.

а вообще, изучи ассемблер и напиши свой компилятор. это задача вполне посильная любому толковому студенту. сишный код транслируй gcc-шкой в ассемблерный код, код собери своим компилятором в бинарик. так собери себе весь тулчейн. заодно и сравнишь потом с тем что продакшенские компиляторы делают

pihter ★★★★★
()

Ну это просто. Берешь несколько разных бинарных компиляторов, компилируешь ими исходники компилятора X. Получившимися бинарниками компилятора X опять компилятор X компилируешь. Если все получившиеся бинарники после такого прохода идентичны, то скорее всего никаких закладок в компиляторе нет. Ну т.е. глупо допускать, что во все существующие бинарные компиляторы встроили особый одинаковый вирус-заражающий-компиляторы, который бы мог заразить (перенести себя) в те бинарники компиляторов из первой стадии, и чтоб те бинарники из первой стадии - если ими опять собрать себя же - тоже это заражали и давали одинаковый результат. Ну и такой ИИ-вирус очень быстро выявился бы. Умение заражать в процессе компиляции компилятор таким образом, чтоб ничего не сломав сделать этот компилятор тоже заражающим другие компиляторы - это практически нереально, тут нужен какой-то ИИ который бы понимал что перед ним компилятор и чтоб он понимал как его заражать, ничего не сломав при этом.

Ну т.е. если по простому. Берем много бинарных компиляторов (B1, B2, B3....). Собираем ими исходники компилятора X и получаем кучу новых бинарников (XB1, XB2, XB3 ...). Потом той кучей бинарников соберем опять компилятор из исходников, с одинаковыми опциями - получим XXB1, XXB2, XXB3 ... и все эти XXB1, XXB2, XXB3 должны быть одинаковыми

SZT ★★★★★
()
Ответ на: комментарий от mos

Прям какие-то ядовитые советуете.

Почти уверен, что прозак нисколько неполезнее закладок в GCC.

simoshina
() автор топика
Ответ на: комментарий от vvn_black

Да не будут пруфов. Этот пассажир - то ли очередной больной в период обострения, то ли просто жЫрный тролль. Он тут уже не в первый раз подобным образом набрасывает.

anonymous
()
Ответ на: комментарий от grem

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

А если бы спросил про закладки в оборудовании, то увы нынче уже так в стационар не попасть, методика устарела, про аппаратные закладки знают даже школьники.

Надо уметь спрашивать, про что и как.

anonymous
()
Ответ на: комментарий от anonymous

В том смысле, что время для них непоследовательно как для нас и они могут легко внедрить в GCC 90х закладку из 3000х?

anonymous
()
Ответ на: комментарий от anonymous

А вас не смущает, что следующий значительный релиз Rutoken будет иметь кодовое название 3000?

Rutoken ECP2 3000, прикольно да?

anonymous
()
Ответ на: комментарий от xDShot

А почему нету сорцовых оверлеев с пакетами DotNet Core v2x/3pre ?

Бинарные, кстати, не ставятся.

simoshina
() автор топика

А каие именно нежелательные добавки в gcc имеет в виду ТС?

Deleted
()
Ответ на: комментарий от LinuxUser

Нет, рантаймы говноязыков удобнее для этого, да и компиляторов си того же слишком много, палевно. Вот в llvm метить - можно подумать.

anonymous
()
Ответ на: комментарий от LinuxUser

Вирус Induc.A для дельфи заражал дельфи и встраивал себя во все собранные бинари.

nev3rfail
()
Ответ на: комментарий от anonymous

Всё закладывалось изначально, очевидно же.

anonymous
()
Ответ на: комментарий от SZT

Берем много бинарных компиляторов (B1, B2, B3....). Собираем ими исходники компилятора X и получаем кучу новых бинарников

удваиваю - компилять разными компиляторами наверное лучший способ из доступных, лучше только побитовое сравнение)

BLOBster ★★★
()

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

К тому же у тебя ОС запускаеться из бинарного ядра в любом случае. Его тоже надо проверить, вместе с бинарником языка.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

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

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от SZT

Это же Генту. Я слышал, что ее можно установить только на тот процессор, котрый сам собрал.


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

trex6 ★★★★★
()

Как вы боритесь

Исправь ошибку. Глаз режет.

Eddy_Em ☆☆☆☆☆
()

чистоту GCC в Gentoo от нежелательных добавок?

что за пруфы если есть?

anonymous
()

А зачем? Новый компилятор собирается и может пересобрать себя, значит все корректно

annulen ★★★★★
()
Ответ на: комментарий от pihter

В генте и так установка пакетов тормознутая донельзя: во-первых, какой-то [censored] пакетный менеджер на пхытоне написал; во-вторых, почему-то до сих пор очень многие пакеты используют autotools вместо cmake!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

вступай в ШУЕ, тут все такие как ты, все шизы

Ваше мнение очень важно для нас, оставайтесь на связи.

simoshina
() автор топика
Ответ на: комментарий от anonymous

тут то он тебя сразу же и определит в стационар.

Так это же хорошо: что может быть лучше лечения под наблюдением?

grem ★★★★★
()
Ответ на: комментарий от Eddy_Em

пакетный менеджер на пхытоне написал

никто ж не виноват, что ты настолько упорот, что до сих пор не осознал (хотя твои то годы пора уже, отбросив даже личную упоротость по отношению к python), что вычисление зависимостей для используемого алгоритма будет медленным независимо от языка. Ну написан paladius на C и что? Ничуть не быстрее. Вот pkgcore хоть и на питоне, но быстрее paladius, только не знаю, появилась ли там поддержка EAPI6 и 7.

очень многие пакеты используют autotools вместо cmake

какие апстрим скрипты сборки поставляет, то и использует. В крайнем случае, cmake можно использовать вместо ninja, который сейчас дефолтный для EAPI7

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)

А почему не сделать универсальный GUIX подобный менеджер пакетов, который будет работать на любом популярном дистре, но при этом единообразно.

потому что уже есть nix из NixOS, который работает на любом популярном дистре, при чем единообразно

SR_team ★★★★★
()
Последнее исправление: SR_team (всего исправлений: 1)
Ответ на: комментарий от grem

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

Дерево зависимостей можно вычислять независимо! Обновил базу, да вычисляй себе в фоне. А когда я пишу emerge -u что-то, зависимости берутся из базы и я сразу же вижу, как пакет начинает устанавливаться.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от simoshina

Чувак, гораздо дешевле, эффективнее и предсказуемее аппаратные закладки. Производителю аппаратуры обычно положить на 1.5 анонимуса и их довольно просто взять под контроль или в долю, т.к. этого производителя раз два и обчёлся. Ситуацию с последним только ВВП исправить собирается - бывший кгбшник с радостью встанет на стражу твоей приватности.

ados ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.