Типы binutils-перемещения в процессе связывания программы для цели arm32 - PullRequest
0 голосов
/ 20 июня 2019

Недавно я изучал типы перемещений в процессе связывания программ для цели arm32.

Я протестировал несколько небольших программ для создания различных типов перемещений для анализа.И я обнаружил, что некоторые типы перемещения сложно создать, например, R_ARM_ABS16, R_ARM_ABS12, R_ARM_THM_ABS5 и R_ARM_ABS8.

Я пробовал много раз, и ни один из них не может быть произведен.Я также попытался проанализировать исходные коды binutils (версия 2.26).Но никакие подсказки не могут быть найдены, как эти типы генерируются в методе перемещения elf32_arm_final_link_relocate () в файле elf32-arm.c.Или, может быть, я просто не знаком с исходным кодом и пропускаю некоторые моменты.

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

Кстати, в приведенной ниже ссылке на документ есть описания типов перемещения для цели arm32.Все мои знания о перемещении получены из этого документа.

http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf

...