LINUX.ORG.RU

GCC, Cygwin меняется файл при каждой пересборке

 , ,


2

1

При каждой линковке немного меняется бинарный файл. Похоже gcc туа записывает дату компиляции. Если возможность как-то это запретить?

Comparing files dbc_processor.exe and DBC_PROCESSOR.EXE~
00000088: 80 C3
00000089: EA DF
000000D8: BF 02
000000D9: EC E2

reproducible build - это очень большая, сложная и полная боли тема. Удачи тебе с этим.

legolegs ★★★★★
()

Через strip прогони итоговый бинарь после сборки.

Хеши должны совпадать

make;strip app.exe;sha1sum app.exe
make;strip app.exe;sha1sum app.exe
LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от egorcod

Смысл, прост, получать одинаковые до бита исполняемые файлы после компиляции из исходников. И что бы если Вася собрал на машине A программу она была бит в бит программы которую собрал Толя на машине Б. Только вот на практике это порой проблематично

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от egorcod

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

И другие сценарии, ещё проще говоря, если ты положил в сумку два вилка капусты по 1 кг то это должно весить 2кг , а не 1,5 или 3 или вообще там 4 вилка или 1 будет. Вот и всё. Это подразумевается как само собой разумеющееся. Но не всегда так

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от egorcod

Хотя для личных проектов это всё да, нахрен не нужно

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

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

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

Собранные исполняемые файлы складываются в систему контроля версий. Чтобы при каждой пересборке они не выкладывались, надо сделать чтобы файл менялся только если поменялся его код, а не например комментарий.

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

Так себе идея.

Не хранить артефакты - ещё более глупая идея.

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

Имеет большой смысл чтобы можно было пересобрать сборку даже спустя много лет.

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