一种用于处理应用程序的内容表访问溢出的方法和系统技术方案

技术编号:8271293 阅读:161 留言:0更新日期:2013-01-31 03:29
本发明专利技术提供了一种用于处理应用程序中的内容表(TOC)访问溢出的方法和系统。其中,该方法在对编译产生的目标文件进行链接时,确定该目标文件中的TOC访问是否存在溢出。如果在目标文件中的TOC访问存在溢出,则对该目标文件所对应的源文件进行再次编译,以产生没有TOC溢出的目标文件,并对目标文件进行再次链接,从而产生应用程序的可执行文件。本发明专利技术通过采用两轮编译,仅对确实存在TOC溢出的TOC表项才产生两条指令形式的双指令TOC访问。因此,该方案具有很好的易用性,并且降低了性能损失。

【技术实现步骤摘要】
本专利技术涉及应用程序的处理,尤其涉及一种用于处理应用程序中的内容表(TOC)访问溢出的方法和系统。
技术介绍
用于AIX和Linux的POWER系统是IBM服务器系列的主要产品,其中,工具链的易用性(tools chain usability)和性能是在POWER系统上进行开发的一个很重要的基础。对于POWER系统来说,在对应用程序进行构建的过程中,存在一个被称为“T0C溢出(overflow) ”的问题,该TOC溢出会限制全局数据/代码的使用,常常为POWER系统开发人员带来很大的不便。
技术实现思路
本专利技术希望提供一种新的方案来处理应用程序构建中出现的TOC溢出问题。依据本专利技术的一个实施例,提供了一种用于处理应用程序的方法,包括对应用程序的源文件进行编译,以产生与源文件对应的目标文件;对编译产生的目标文件进行链接,以确定目标文件中的TOC访问是否存在溢出;响应于目标文件中的TOC访问存在溢出,对所述TOC访问存在溢出的目标文件所对应的源文件进行再次编译,以产生没有TOC溢出的目标文件;以及,用再次编译产生的没有TOC溢出的目标文件替换所述TOC访问存在溢出的目标文件,并对目标文本文档来自技高网...

【技术保护点】
一种用于处理应用程序的方法,包括:对应用程序的源文件进行编译,以产生与源文件对应的目标文件;对编译产生的目标文件进行链接,以确定目标文件中的TOC访问是否存在溢出;响应于目标文件中的TOC访问存在溢出,对所述TOC访问存在溢出的目标文件所对应的源文件进行再次编译,以产生没有TOC溢出的目标文件;以及用再次编译产生的没有TOC溢出的目标文件替换所述TOC访问存在溢出的目标文件,并对目标文件进行再次链接。

【技术特征摘要】
1.一种用于处理应用程序的方法,包括 对应用程序的源文件进行编译,以产生与源文件对应的目标文件; 对编译产生的目标文件进行链接,以确定目标文件中的TOC访问是否存在溢出; 响应于目标文件中的TOC访问存在溢出,对所述TOC访问存在溢出的目标文件所对应的源文件进行再次编译,以产生没有TOC溢出的目标文件;以及 用再次编译产生的没有TOC溢出的目标文件替换所述TOC访问存在溢出的目标文件,并对目标文件进行再次链接。2.如权利要求I所述的方法,其中,对应用程序的源文件进行编译,以产生与源文件对应的目标文件进一步包括,对源文件产生单指令TOC访问,以及, 响应于目标文件中的TOC访问存在溢出,对所述TOC访问存在溢出的目标文件所对应的源文件进行再次编译,以产生没有TOC溢出的目标文件进一步包括,对于TOC访问存在溢出的目标文件所对应的源文件,产生多指令TOC访问。3.如权利要求2所述的方法,其中,所述多指令TOC访问是采用二条指令形式的双指令TOC访问。4.如权利要求I所述的方法,其中,对应用程序的源文件进行编译,以产生与源文件对应的目标文件进一步包括,记录所述编译的编译命令。5.如权利要求I所述的方法,其中,对编译产生的目标文件进行链接,以确定目标文件中的TOC访问是否存在溢出进一步包括,将所述溢出的溢出信息记录在溢出符号列表中,以及, 响应于所述目标文件中的TOC访问存在溢出,对所述TOC访问存在溢出的目标文件所对应的源文件进行再次编译,以产生没有TOC溢出的目标文件进一步包括,根据所述溢出符号列表,确定TOC访问存在溢出的目标文件。6.如权利要求5所述的方法,其中,所述溢出信息包括TOC访问溢出的溢出符号以及包含所述溢出符号的目标文件的目标文件名。7.如权利要求I所述的方法,其中,对应用程序的源文件进行编译,以产生与源文件对应的目标文件进一步包括,获得TOC符号的频率信息, 对编译产生的目标文件进行链接,以确定目标文件中的TOC访问是否存...

【专利技术属性】
技术研发人员:蒋健张嗣元纪金松
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1