Статическое соединение ELF32 (PPC 32 ABI) - PullRequest
0 голосов
/ 25 мая 2018

Я хочу создать что-то вроде статического компоновщика для добавления процедур файла .o (скомпилированных нами) к существующему исполняемому файлу .elf.Как это сделать?

С моей точки зрения, мы получаем .text и .data разделы из файла .o и добавляем их как новые разделы в файл .elf (исправление таблицы заголовков разделов).и создание новых заголовков разделов).

Но я не знаю, как добавить импорт .o файла в файл .elf.Должен ли я просто получить .rel таблицы и таблицы символов, объединенные в .elf?И как правильно исправить смещения в инструкциях?Как я могу узнать, должна ли инструкция быть фиксированной и какое именно смещение должно быть вставлено в нее?(в .o смещения файлов по умолчанию равны нулю)

1 Ответ

0 голосов
/ 02 июня 2018

Вы можете использовать gcc для этой цели.

$ gcc -o output file1.o file2.o

Или вы хотите написать свой собственный компоновщик?В таком случае какая разница между GCC и вашим собственным компоновщиком?

...