Отображение сегмента в файле ELF
Файлы ELF состоят из разделов, основанных на их содержимом, таких как.data,.text,.rodata и т. Д., И эти разделы сгруппированы в сегменты, которые определяют способ отображения / загрузки ELF в память (виртуальные / физические отображения). Эти сегменты формируются путем группировки группы секций в ELF.
пример:
Section to Segment mapping:
Segment Sections...
00 .hash .dynsym .dynstr .rela.dyn .rela.plt
01 .plt .text
02 .rodata
03 .data.rel.ro .dynamic .got .got.plt .data .version_section .bss
04 .dynamic
Я хочу знать, как определяется эта группировка разделов. Есть возможность контролировать эту группировку по сегментам. Например, я хотел бы иметь.version_section как отдельный сегмент в целом. Есть идеи, как бы я поступил по этому поводу?
Если можно использовать команды сценария компоновщика, было бы здорово узнать, какие из них. Заранее спасибо.:)
1 ответ
Предполагая, что вы говорите о GCC, похоже, что вы можете использовать --script
возможность предоставить ld подробные инструкции, используя язык командных скриптов