Определить размер эльфа
Как определить размер исполняемого ELF файла только его заголовку? Размер: количество байт, которые надо скопировать чтобы копию можно было нормально загрузить. Можно это сделать проще, чем перебирать все сегменты файла? В заголовке я вроде бы полей отвечающих за размер файла не наблюдал. Для релокабельного файла я вычеслял размер по формуле: смещение_таблицы_секций + количество_секций * размер_заголовка_секции. Это работало т. к. таблицу секций принято размещать в конце файла, а вот таблица сегментов - в начале. Что можете посоветовать?
ссылочка. Там описан хеадер. Я не уверен, что размер файла есть в хеадере, - только размер хеадера, размер точки входа и еще что-то.
Есть
Цитата: KIV
Как определить размер исполняемого ELF файла только его заголовку? Размер: количество байт, которые надо скопировать чтобы копию можно было нормально загрузить. Можно это сделать проще, чем перебирать все сегменты файла? В заголовке я вроде бы полей отвечающих за размер файла не наблюдал. Для релокабельного файла я вычеслял размер по формуле: смещение_таблицы_секций + количество_секций * размер_заголовка_секции. Это работало т. к. таблицу секций принято размещать в конце файла, а вот таблица сегментов - в начале. Что можете посоветовать?
Грузить используя сегменты, а не секции и читать мануал в разделе "Program Loading and Dynamic Linking" и далее по списку.