[发明专利]在嵌入式系统剪裁可重定位的ELF文件的方法有效

专利信息
申请号: 200810061580.X 申请日: 2008-05-07
公开(公告)号: CN101271399A 公开(公告)日: 2008-09-24
发明(设计)人: 陈纯;卜佳俊;董玮;腾国栋 申请(专利权)人: 浙江大学
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 杭州求是专利事务所有限公司 代理人: 林怀禹
地址: 310027浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 嵌入式 系统 剪裁 定位 elf 文件 方法
【说明书】:

技术领域

发明涉及嵌入式系统上文件格式的问题,特别是涉及一种在嵌入式系统剪裁可重定位的ELF文件的方法。

背景技术

ELF(Executable and Linking Format)文件格式是UNIX系统实验室作为应用程序二进制接口(Application Binary Interface)而开发和发布的,它包含了三种格式,一个可重定位(relocatable)文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享文件,也可以作为模块来发布,例Linux的内核模块;一个可执行(executable)文件保存着一个用来执行的程序,该文件指出了如何来创建程序进程映像;一个共享ELF文件保存着代码和合适的数据,用来被链接器链接。

随着Linux和基于Linux的交叉编译环境越来越广泛的应用到各种嵌入式系统中,ELF文件格式也越来越多的出现在各种嵌入式平台上。尤其可重定位的ELF文件可以在运行时动态的链接,加载,在嵌入式系统中可以得到很好的应用。标准的ELF文件格式是基于32位和64位两种环境的,而很多嵌入式则是基于8位或者16位的环境,交叉编译出的标准ELF文件中的数据类型是基于32位的,因此ELF文件内部有很大一部分空间是闲置的。而且ELF文件中的符号表,包含了程序本身涉及到的所有的符号信息,也存在一些冗余的信息。

发明内容

本发明的目的在于提供一种在嵌入式系统上裁剪可重定位的ELF文件的方法,使裁剪后的文件结构更加紧凑,冗余信息更少。

本发明采用的技术方案的步骤如下:

1)根据原ELF文件所依赖的体系结构重新定义ELF文件中需要的数据类型;

2)由步骤1)定义的数据类型重新定义ELF文件中的结构体;

3)解析原ELF文件,读取原ELF文件信息,根据此信息填充步骤2)中的结构体;

4)由步骤3)所得的重新定义ELF文件信息获取文件的重定位段,根据其中的重定位信息,提取重定位相关联的符号,组织这些符号成为新的符号表;

5)根据步骤4)所组成的新的符号表提取其在原ELF文件字符串表中的名称,组建新的字符串表;

6)根据步骤3)中获得的结构体,步骤4)中的新的符号表和步骤5)中的新的符号表和原ELF文件的信息,来组织成一个新的文件,用新的数据结构定义代替原来的数据结构,用新的符号表和字符串表代替原来的符号表和字符串表,将其余没有改变的节内容拷贝到新的文件中。

所述的重新定义ELF文件中需要的数据类型,是ELF文件的基本数据类型,是基于32位环境的,包括Elf32_Addr,Elf32_Half,Elf32_Off,Elf32_Sword,Elf32_Word和unsigned_char。

所述的重新定义ELF文件中的结构体,包括Elf32_ehdr,Elf32_shdr,Elf32_rel,Elf32_rela和Elf32_sym结构体。

所述的原和重新定义的ELF文件中的重定位是连接符号引用和符号定义的过程,符号表保存了原和重新定义的ELF文件中涉及到的符号的信息,只有和重定位关联的符号才会在重定位过程中引用到,根据其中的重定位信息,提取重定位相关联的符号,用这些需要用到的符号来组织称新的符号表。

所述的原和重新定义的ELF文件中的字符串表保存着以NULL终止的一系列字符,原和重新定义的ELF用这些字符串来描绘符号名,因此要重新提取新的符号表中符号名组织新的字符串。

所述的组织成一个新的文件的时候,采用的是新的结构体,新的符号表,新的字符串表和原ELF文件中信息,不会改变原ELF文件的.text,.data,.bss段的信息,不会影响原ELF文件的运行。

与背景技术相比,本发明具有的有益的效果是:

本发明其方法是平台无关的,可以应用在各种嵌入式平台上面。其优势在于在资源受限的嵌入式系统上裁剪标准的ELF文件格式,通过改变ELF文件的数据类型和删减一些冗余的符号信息,使可重定位的ELF文件更加紧凑,更加小型化,对于一些资源受限的嵌入式系统来说,可以使系统的资源利用率更高效。

附图说明

附图是本发明的裁剪方法的说明图。

具体实施方式

如附图所示,在以下的实施实例中,将提供一种剪裁基于AVR平台下的可重定位的ELF文件的方法,但可以了解的是,本发明方法并不局限于特定的平台。

1)原ELF文件其中数据类型都是基于32位环境的,定义如下:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810061580.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top