Linker 重新定位链接的程序

Linker 重新定位链接的程序,linker,elf,relocation,Linker,Elf,Relocation,是否可以将已链接的elf文件重新定位到另一个地址并更新内部引用 例如,将静态链接的elf文件链接到0x50000,如何将其移动到0x1000000并更新指针和地址 是否可以将已链接的elf文件重新定位到其他地址 通常:否。链接器丢弃重新定位记录,这是更新可执行文件内部引用所必需的 现在,如果您的可执行文件不使用全局数据,也不获取任何函数的地址,并且您所处的体系结构中JMPs和CALLs是pc-相对的,那么可能只需更新Elf{32,64}Ehdr中的PT\u LOAD段和.e\u条目

是否可以将已链接的elf文件重新定位到另一个地址并更新内部引用

例如,将静态链接的elf文件链接到0x50000,如何将其移动到0x1000000并更新指针和地址

是否可以将已链接的elf文件重新定位到其他地址

通常:否。链接器丢弃重新定位记录,这是更新可执行文件内部引用所必需的

现在,如果您的可执行文件不使用全局数据,也不获取任何函数的地址,并且您所处的体系结构中
JMP
s和
CALL
s是
pc
-相对的,那么可能只需更新
Elf{32,64}Ehdr
中的
PT\u LOAD
段和
.e\u条目