В чем разница заголовка ELF между объектным файлом ELF и общим объектом?

Прежде всего, я спрашиваю об этом с технической точки зрения, а не с точки зрения пользователя библиотечного кода. Одним из примеров различий является то, что общие объекты содержат заголовки программ, а обычные объектные файлы - нет. Каковы другие отличия?

Что касается цели моего вопроса, я пытаюсь выяснить, какое содержимое необходимо удалить из файла общих объектов, чтобы компоновщик рассматривал его как обычный объектный файл и пытался переместить и статически связать его с созданным исполняемым файлом, а не идентифицировать его как разделяемую библиотеку и генерировать ссылку DT_NEEDED . Это, в свою очередь, является первым шагом к примитивному «преобразованию» разделяемой библиотеки во что-то, что может быть статически связано (однако, может потребоваться дальнейшая работа, чтобы сделать перемещение выполнимым).

19
задан R.. 8 July 2011 в 13:26
поделиться