Отображение сегмента в файле 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 подробные инструкции, используя язык командных скриптов

Другие вопросы по тегам