[发明专利]重定位方法和装置有效
申请号: | 201410195468.0 | 申请日: | 2014-05-09 |
公开(公告)号: | CN103955354B | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 彭飞 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定位 方法 装置 | ||
1.一种重定位方法,其特征在于,包括:
获取代码缓冲区中的第一跳转指令段,所述第一跳转指令段包括用于直接寻址的第一跳转指令以及至少一条空指令;所述代码缓冲区用于存储插桩之后的程序代码,所述第一跳转指令存储在第一地址中,所述第一跳转指令对应的目标指令存储在第二地址中,所述第一地址与所述第二地址之间的地址跨度为第一跨度;
根据所述第一跳转指令生成第二跳转指令段,所述第二跳转指令段包括第一指令和第二跳转指令,所述第一指令用于将所述第二地址存储到目标寄存器,所述第二跳转指令为用于指示跳转到存储在所述目标寄存器中的所述第二地址的寄存器跳转指令;
将所述第一跳转指令段替换为所述第二跳转指令段,以使得执行所述代码缓冲区中的程序代码时根据所述第二跳转指令段跳转到所述第一跳转指令对应的目标指令。
2.根据权利要求1所述的重定位方法,其特征在于,在所述根据所述第一跳转指令生成第二跳转指令段之前,还包括:
判断所述第一跨度是否超过跨度阈值;
在所述第一跨度未超过跨度阈值时,根据所述第一跨度将所述第一跳转指令中的目标地址修改为所述第二地址;
所述根据所述第一跳转指令生成第二跳转指令段,包括:
在所述第一跨度值超过跨度阈值时,根据所述第一跳转指令生成第二跳转指令段。
3.根据权利要求1所述的重定位方法,其特征在于,所述获取代码缓冲区中的第一跳转指令段之前,还包括:
当待拷贝的代码为第一跳转指令时,在代码缓冲区插入至少一条空指令;
将所述第一跳转指令拷贝到所述至少一条空指令之后,在所述代码缓冲区中所述至少一条空指令以及所述第一跳转指令构成所述第一跳转指令段。
4.根据权利要求1-3任一项所述的重定位方法,其特征在于,所述根据所述第一跳转指令生成第二跳转指令段,包括:
根据所述第一跨度生成第一指令;
根据所述第一指令生成第二跳转指令。
5.根据权利要求4所述的重定位方法,其特征在于,所述根据所述第一跳转指令生成第二跳转指令段还包括:
查找空闲寄存器;
生成第二指令,所述第二指令,用于将所述空闲寄存器设置为目标寄存器,位于所述第一指令之前;
生成第三指令,所述第三指令,用于将所述目标寄存器复位,位于所述第二跳转指令之后。
6.根据权利要求5所述的重定位方法,其特征在于,所述根据所述第一跳转指令生成第二跳转指令段还包括:
生成第四指令,所述第四指令,用于将所述第二跳转指令携带的延迟槽中存储的内容替换为所述第一跳转指令携带的延迟槽中存储的内容,位于所述第二跳转指令与所述第三指令之间。
7.根据权利要求6所述的重定位方法,其特征在于,所述第一跳转指令为j指令或者jal指令;在所述第一跳转指令为j指令时,所述第二跳转指令为jr指令;在所述第一跳转指令为jal指令时,所述第二跳转指令为jalr指令。
8.一种重定位装置,其特征在于,包括:
获取模块,用于获取代码缓冲区中的第一跳转指令段,所述第一跳转指令段包括用于直接寻址的第一跳转指令以及至少一条空指令;所述代码缓冲区用于存储插桩之后的程序代码,所述第一跳转指令存储在第一地址中,所述第一跳转指令对应的目标指令存储在第二地址中,所述第一地址与所述第二地址之间的地址跨度为第一跨度;
生成模块,用于根据所述获取模块所获取的所述第一跳转指令生成第二跳转指令段,所述第二跳转指令段包括第一指令和第二跳转指令,所述第一指令用于将所述第二地址存储到目标寄存器,所述第二跳转指令为用于指示跳转到存储在所述目标寄存器中的所述第二地址的寄存器跳转指令;
替换模块,用于将所述获取模块获取的所述第一跳转指令段替换为所述第二跳转指令段,以使得执行所述代码缓冲区中的程序代码时根据所述第二跳转指令段跳转到所述第一跳转指令对应的目标指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410195468.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种快速可展式预应力钢桥
- 下一篇:公路施工材料堆方成型机