[发明专利]通过不可见接口实现不符合ABI特征的方法和系统有效
| 申请号: | 201110126383.3 | 申请日: | 2011-04-13 |
| 公开(公告)号: | CN102222017A | 公开(公告)日: | 2011-10-19 |
| 发明(设计)人: | Z·安萨里 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/45 |
| 代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
| 地址: | 美国加*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 通过 可见 接口 实现 不符合 abi 特征 方法 系统 | ||
1.一种系统,包括:
编译器,用于从代码模块生成第一编译模块,包括:
识别调用在所述第一代码模块中没有出现的名字的调用例程,
根据所述名字生成备选名字,并且生成所述备选名字的弱版本,
编译所述调用例程以通过第一接口传递一个或更多个参数的组并且调用所述备选名字,并且
编译所述第一代码模块以包括存根例程,该存根例程具有用所述备选名字的所述弱版本标识的入口点,并且配置为通过第二接口传递来自所述第一接口的所述参数组并调用所述名字。
2.如权利要求1所述的系统,还包括:
链接系统,用于将所述第一编译模块与第二编译模块链接,所述第二编译模块包括具有用所述名字标识的第一入口点的被调用例程,其中所述链接系统被配置为,
当所述被调用例程包括备选入口点时,将所述调用例程链接到具有所述备选名字的所述被调用例程的所述备选入口点,并且
当所述被调用例程不包括所述备选入口点时,将所述调用例程链接到所述存根例程的所述入口点并且将所述存根例程链接到所述被调用例程的所述第一入口点。
3.如权利要求1所述的系统,其中所述编译器还被配置为:
识别所述第一代码模块中的被调用例程,
根据所识别的被调用例程的名字生成备选入口点名字,并且
编译所识别的被调用例程以包括第一入口点,所述第一入口点具有所述被调用例程的所述名字并且被配置为通过所述第二接口接收所述参数组,并且包括备选入口点,所述备选入口点具有所述备选入口点名字并被配置为通过所述第一接口接收所述参数组。
4.如权利要求1所述的系统,其中所述第二接口符合规范并且所述第一接口不符合所述规范。
5.如权利要求1所述的系统,其中所述第一接口对应于寄存器并且所述第二接口对应于调用堆栈。
6.如权利要求1所述的系统,其中所述编译器还被配置为根据所述名字、所述第一接口的指示和所述参数组中的参数的数目生成所述备选名字。
7.一种方法,包括:
编译代码模块以生成第一编译模块,包括:
识别调用在所述第一代码模块中没有出现的名字的调用例程,
根据所述名字生成备选名字,
生成所述备选名字的弱版本,
编译所述调用例程以通过第一接口传递一个或更多个参数的组,并且调用所述备选名字,并且
编译所述第一代码模块以包括存根例程,所述存根例程具有用所述备选名字的所述弱版本标识的入口点,并且配置为通过第二接口传递来自所述第一接口的所述参数组并调用所述名字;
其中,在适当编程的计算机系统中执行所述编译。
8.如权利要求7所述的方法,还包括:
将所述第一编译模块与第二编译模块链接,所述第二编译模块包括具有用所述名字标识的第一入口点的被调用例程,包括:
当所述被调用例程包括备选入口点时,将所述调用例程链接到具有所述备选名字的所述被调用例程的所述备选入口点,并且
当所述被调用例程不包括所述备选入口点时,将所述调用例程链接到所述存根例程的所述入口点并且将所述存根例程链接到所述被调用例程的所述第一入口点。
9.如权利要求7所述的方法,其中所述编译还包括:
识别所述第一代码模块中的被调用例程;
根据所识别的被调用例程的名字生成备选入口点名字;并且
编译所识别的被调用例程以包括第一入口点,所述第一入口点具有所述被调用例程的所述名字并且被配置为通过所述第二接口接收所述参数组,并且包括备选入口点,所述备选入口点具有所述备选入口点名字并被配置为通过所述第一接口接收所述参数组。
10.如权利要求7所述的方法,其中所述编译还包括编译所述调用例程以通过多个接口中所选的一个接口来传递所述参数组。
11.如权利要求10所述的方法,其中所述编译还包括编译所述调用例程以基于所述参数组的参数的值通过所述多个接口中所选的一个接口来传递所述参数组。
12.如权利要求7所述的方法,其中所述编译还包括编译所述调用例程以组合来自多个位置的多个参数并且通过所述第一接口传递所述多个参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110126383.3/1.html,转载请声明来源钻瓜专利网。





