[发明专利]代码处理方法和代码处理系统有效
申请号: | 201280048815.6 | 申请日: | 2012-10-01 |
公开(公告)号: | CN103858101B | 公开(公告)日: | 2016-10-26 |
发明(设计)人: | R.J.布莱尼;M.K.格施温德;J.L.麦金尼斯;S.J.芒罗;M.迈斯纳 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 黄剑飞 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 处理 方法 系统 | ||
1.一种方法,包括:
通过计算机读取目标文件,该目标文件包括多个代码序列;
识别所述目标文件中的代码序列,该代码序列指定相对基址的偏移量,所述相对基址的偏移量对应于在被配置为存储变量的地址或数据之一的存储器内的偏移位置,识别的代码序列包括多个指令并且被配置为执行存储器引用函数或存储器地址计算函数;
确定所述偏移位置在所述基址的指定距离内;
验证采用替换代码序列替换所识别代码序列不会改变程序语义;
采用所述替换代码序列替换所述目标文件中所识别代码序列,所述替换代码序列包括空操作(NOP)指令或者具有比所识别代码序列少的指令;
响应于所述目标文件生成连接的可执行代码;以及
发出所连接的可执行代码。
2.根据权利要求1所述的方法,其中所述基址对应于变量地址参考表,并且具有高存取频率的变量的地址存储在与存储具有低存取频率的变量的地址的偏移位置相比与变量地址参考表的基址更近的偏移位置,所述低存取频率小于高存取频率。
3.根据权利要求1所述的方法,其中所述多个指令为顺序指令。
4.根据权利要求1所述的方法,其中所述验证采用替换代码序列替换所识别代码序列不会改变程序语义包括:核查与在所识别的代码序列中指定的所述相对基址的偏移量对应的偏移位置没被配置为在所识别代码序列中的最后指令之前被写入新值。
5.根据权利要求1所述的方法,其中所述基址对应于全局偏移量表(GOT),在所识别代码序列中的所述多个指令之一包括GOT加载引用指令,并且所述替换代码序列还包括内容表(TOC)计算指令。
6.一种系统,包括适于执行根据任意前述权利要求所述的方法的所有步骤的装置。
7.一种计算机程序,包括在该计算机程序在计算机系统上被执行时用于执行根据任意前述权利要求所述的方法的所有步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280048815.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地下箱涵结构预留横向加宽的结构构造方法
- 下一篇:高效洗涤面料的加工方法