链接的ELF文件中的静态重定位,而不是.dynsym表中的必需条目

时间:2014-08-14 12:48:51

标签: linker arm ld elf

我的最终ELF文件包含> 500次类型为R_ARM_RELATIVE的动态重定位和5次类型为R_ARM_ABS32的静态重定位。
据我所知,静态重定位只需要静态链接。我的文件只会在加载时动态链接。 我在这里找到了这些信息:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044e/IHI0044E_aaelf.pdf

Static relocations are processed by a static linker; they are normally either
fully resolved or used to produce dynamic relocations for processing by a
post-linking step or a dynamic loader. A well formed image will have no static
relocations after static linking is complete, so a post-linker or dynamic loader
will normally only have to deal with dynamic relocations.

为什么我的文件在完全链接时可以包含静态重定位?

我的另一个问题是关于R_ARM_RELATIVE重定位 他们不使用.dynsym表进行重定位过程(R_ARM_ABS32) 那么为什么.dynsym表中有这么多(> 70)符号,而不是5? 除动态链接中的重定位过程外,这些符号是否还用于其他内容?

0 个答案:

没有答案