可重定位的elf文件 elf文件主要有三种类型: (1)可重定位文件包含了代码和数据.可与其它elf文件建立一个可执行或共享的文件. (2)可执行文件时可直接执行的程序. (3)共享目标文件包括代码和数据. 这里主要分析一下第1种elf的文件格式,这东西主要由elf文件头和具体的各个节区组成.我们可以通过readelf命令来详细查看elf文件的各个节区.下面简要介绍一下各个部分的结构1.elf文件头 内核中对elf文...
====================== Relocation (重定位)========================== 重定位是连接符号引用和符号定义的过程。比如,当一个程序调用一个函数的时候, 相关的调用必须在执行时把控制传送到正确的目标地址。换句话说,重定位文件应当 包含有如何修改他们的 section 内容的信息,从而允许可执行文件或共享目标文件 为一个进程的程序映像保存正确的信息。重定位入口就是这样的数据。 + Figure 1-20: Relocation Entries ty...
linux程序调试中如何在elf文件中的符号表等信息定位源程序的位置? 比如a.c,b.c编译,联接为一个d.elf。 我在a.c中第15行打上一个断点,那么怎么在d.elf中定位这个断点是在目标文件代码段的哪个位置? 即如何从源代码定位信息(文件名+行号或者函数名)得到目标码的起始地址以及终止地址? 请教各位朋友?
elf: Executable and Linking Format 1、elf的三种类型: (1)、一个可重定位(relocatable)文件保存着代码和适当的数据,用来和其他的object文件一起来创建一个可执行文件或者是一个共享文件。 (2)、一个可执行(executable)文件保存着一个用来执行的程序;该文件指出了exec(BA_OS)如何来创建程序进程映象。 (3)、一个共享object文件保存着代码和合适的数据,用来被下面的两个链接器链接。第一个是连接编辑器[请参...