История изменений
Исправление MOPKOBKA, (текущая версия) :
только непонятно, когда в аргументах gcc есть -shared, у тебя ...
Тут небольшая сложность в том, что CFLAGS и LDFLAGS принимает одна программа, поэтому приходится совмещать их, но это никакого лишнего эффекта не должно давать, в момент создания объектных файлов -pie работать не будет, поэтому библиотеки будут создаваться.
но чатгпт мне сказал, что бинарники нужно с -fPIE -pie, а библиотеки — с -fPIC.
Тут так же смешанно все, -fPIE работает при создании объектных файлов, а -pie на финальной стадии. -fPIE действительно нет, его заменяет -fPIC, он подходит для создания объектных файлов как для будущих динамических библиотек, так и для объектный файлов будущих исполняемых файлов. А в момент линковки он просто игнорируется.
у тебя -Wl,-z,relro,-z,now только для бинарников. для библиотек оно не нужно?
Очень сложно везде написано, а подробно я не читал, но вроде нет.
Исправление MOPKOBKA, :
только непонятно, когда в аргументах gcc есть -shared, у тебя ...
Тут небольшая сложность в том, что CFLAGS и LDFLAGS принимает одна программа, поэтому приходится совмещать их, но это никакого лишнего эффекта не должно давать, в момент создания объектных файлов -pie работать не будет, поэтому библиотеки будут создаваться.
но чатгпт мне сказал, что бинарники нужно с -fPIE -pie, а библиотеки — с -fPIC.
Тут так же смешанно все, -fPIE работает при создании объектных файлов, а -pie на финальной стадии. -fPIE действительно нет, его заменяет -fPIC, он подходит для создания объектных файлов как для будущих динамических библиотек, так и для объектный файлов будущих исполняемых файлов.
у тебя -Wl,-z,relro,-z,now только для бинарников. для библиотек оно не нужно?
Очень сложно везде написано, а подробно я не читал, но вроде нет.
Исходная версия MOPKOBKA, :
только непонятно, когда в аргументах gcc есть -shared, у тебя ...
Тут небольшая сложность в том, что CFLAGS и LDFLAGS принимает одна программа, поэтому приходится совмещать их, но это никакого лишнего эффекта не должно давать, в момент создания объектных файлов -pie работать не будет, поэтому библиотеки будут создаваться.
но чатгпт мне сказал, что бинарники нужно с -fPIE -pie, а библиотеки — с -fPIC.
Тут так же смешанно все, -fPIE работает при создании объектных файлов, а -pie на финальной стадии. -fPIE действительно нет, его заменяет -fPIC, он подходит для создания объектных файлов как для будущих динамических библиотек, так и для объектный файлов будущих исполняемых файлов.