В файле ELF для исполняемых файлов есть заголовок программы (сегмента) и заголовок раздела, который можно увидеть через readelf -a
, вот пример:
Два изображения выше - заголовок заголовка раздела и заголовка программы (сегмента), соответственно. Можно видеть, что заголовок сегмента состоит из нескольких заголовков разделов, которые используются для загрузки программы в память.
Нужно ли только загружать в память разделы .text,.rodata,.data,.bss?
Используются ли все остальные разделы в сегменте (например .ctors,.dtors.jcr в третьем сегменте)?