Недавно я изучал типы перемещений в процессе связывания программ для цели 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