Я экспериментирую с концепцией чистых -статических -связанных исполняемых файлов PIE в Linux, но столкнулся с проблемой, заключающейся в том, что компоновщик GNU binutils настаивает на добавлении заголовка PT _INTERP к выходным данным. двоичный, когда используется -pie
, даже если также задано -static
. Есть ли способ подавить это поведение? То есть есть ли способ конкретно указать GNU ld не записывать определенные заголовки в выходной файл? Возможно, с помощью скрипта компоновщика?
(Пожалуйста, не отвечайте утверждениями, что это не сработает; Я прекрасно понимаю, что программа по-прежнему нуждается в обработке перемещения -загрузки -адреса -относительных перемещений только из-за того, что я использую-Bsymbolic
-и у меня есть специальный код запуска вместо стандартного Scrt1.o
для обработки это. Но я не могу заставить его вызываться без динамического компоновщика, который уже работает и выполняет работу, если не отредактировать заголовок PT_INTERP
из двоичного файла в шестнадцатеричном формате.)