欢迎来到天天文库
浏览记录
ID:46921751
大小:431.00 KB
页数:55页
时间:2019-11-30
《ELF格式-中文》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、个人收集整理仅供参考学习________________________________________________________________EXECUTABLEANDLINKABLEFORMAT(ELF)PortableFormatsSpecification,Version1.1ToolInterfaceStandards(TIS)________________________________________________________________===========================Contents内容========================
2、===序言1.OBJECT文件导言ELF头(ELFHeader)SectionsString表(StringTable)Symbol表(SymbolTable)重定位(Relocation)2.程序装载与动态连接导言Program头(ProgramHeader)Program装载(ProgramLoading)Dynamic连接(DynamicLinking)3.CLIBRARYCLibrary________________________________________________________________导言__________________________________
3、______________________________ELF:可执行连接格式可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口(ApplicationBinaryInterface(ABI)而开发和发布的。工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。个人收集整理仅供参考学习假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件发展。应该减少不同执行接口的数量。因此可以减少重新编程重新编译的代码。关于这片文档这篇文档是为那些想创建目标文件或者在不同的操作系统上执行文件的开发着
4、准备的。它分以下三个部分:*第一部分,“目标文件ObjectFiles”描述了ELF目标文件格式三种主要的类型。*第二部分,“程序转载和动态连接”描述了目标文件的信息和系统在创建运行时程序的行为。*第三部分,“C语言库”列出了所有包含在libsys中的符号,标准的ANSIC和libc的运行程序,还有libc运行程序所需的全局的数据符号。注意:参考的X86体系已经被改成了Intel体系。________________________________________________________________1.目标文件(Objectfile)_______________________
5、_________________________________________序言第一部分描述了iABI的object文件的格式,被称为ELF(ExecutableandLinkingFormat).在object文件中有三种主要的类型。*一个可重定位(relocatable)文件保存着代码和适当的数据,用来和其他的object文件一起来创建一个可执行文件或者是一个共享文件。*一个可执行(executable)文件保存着一个用来执行的程序;该文件指出了exec(BA_OS)如何来创建程序进程映象。*一个共享object文件保存着代码和合适的数据,用来被下面的两个链接器个人收集整理仅供参考
6、学习链接。第一个是连接编辑器[请参看ld(SD_CMD)],可以和其他的可重定位和共享object文件来创建其他的object。第二个是动态链接器,联合一个可执行文件和其他的共享object文件来创建一个进程映象。一个object文件被汇编器和联接器创建,想要在处理机上直接运行的object文件都是以二进制来存放的。那些需要抽象机制的程序,比如象shell脚本,是不被接受的。在介绍性的材料过后,第一部分主要围绕着文件的格式和关于如何建立程序。第二部分也描述了object文件的几个组成部分,集中在执行程序所必须的信息上。文件格式Object文件参与程序的联接(创建一个程序)和程序的执行(运行一
7、个程序)。object文件格式提供了一个方便有效的方法并行的视角看待文件的内容,在他们的活动中,反映出不同的需要。例1-1图显示了一个object文件的组织图。+图1-1:Object文件格式一个ELF头在文件的开始,保存了路线图(roadmap),描述了该文件的组织情况。sections保存着object文件的信息,从连接角度看:包括指令,数据,符号表,重定位信息等等。特别sections的描述会出项在以后
此文档下载收益归作者所有