首页 > 解决方案 > arm32目标的程序链接过程中的binutils-重定位类型

问题描述

最近一直在研究arm32目标的程序链接过程中的重定位类型。

我已经测试了一些小程序来产生不同的重定位类型来分析。而且我发现有些重定位类型很难生产,比如R_ARM_ABS16、R_ARM_ABS12、R_ARM_THM_ABS5和R_ARM_ABS8。

我试了很多次,没有一个能生产出来。我还尝试分析了binutils(2.26版)的源代码。但是在文件elf32-arm.c中的重定位方法elf32_arm_final_link_relocate()中找不到这些类型的线索。或者也许我只是不熟悉源代码并省略了一些要点。

有人知道这四种搬迁类型是干什么用的吗?我怎样才能生产它们?欢迎任何建议。

顺便说一句,在下面的文档链接中,有 arm32 目标的重定位类型描述。我所有的搬迁知识都来自这个文件。

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

标签: armbinutilsrelocation

解决方案


推荐阅读