发明公开
EP0690374A2 Application binary interface and method of interfacing binary application program to digital computer
失效
应用程序二进制接口以及将二进制应用程序连接到数字计算机的方法
- 专利标题: Application binary interface and method of interfacing binary application program to digital computer
- 专利标题(中): 应用程序二进制接口以及将二进制应用程序连接到数字计算机的方法
-
申请号: EP95401564.0申请日: 1995-06-29
-
公开(公告)号: EP0690374A2公开(公告)日: 1996-01-03
- 发明人: Zucker, J. Steven
- 申请人: SUN MICROSYSTEMS, INC.
- 申请人地址: 2550 Garcia Avenue Mountain View, CA 94043 US
- 专利权人: SUN MICROSYSTEMS, INC.
- 当前专利权人: SUN MICROSYSTEMS, INC.
- 当前专利权人地址: 2550 Garcia Avenue Mountain View, CA 94043 US
- 代理机构: Schrimpf, Robert
- 优先权: US269035 19940630
- 主分类号: G06F9/42
- IPC分类号: G06F9/42
摘要:
An application binary interface includes linkage structures for interfacing a binary application program to a digital computer. A function in a relocatable shared object module obtains the absolute address of a Global Offset Table (GOT) in the module using relative branch and link instructions through the computer's link register. A dynamic linker lazily constructs a Procedure Linkage Table (PLT) and a pointer table for an object module in a process memory image in which space is allocated for the PLT, but the PLT is not initially provided. The pointer table stores absolute addresses of external functions that cannot be reached by relative branching from the module. The PLT receives calls to these functions, gets the absolute addresses from the pointer table and branches to the absolute addresses of the functions. The PLT also receives calls to functions that can be reached by relative branching from the module, and causes relative branching to the functions. A status instruction precedes each call instruction to a variable argument list function that can pass floating point arguments, indicating if floating point arguments will actually be passed. If so, the function saves the contents of the floating point argument registers in memory. If not, the contents of the floating point argument registers are not saved. Virtual address spaces are allocated for processes respectively. Page table entries for translation of the virtual address spaces into physical addresses are not removed as processes terminate, but only after all virtual address spaces have been allocated.
公开/授权文献
信息查询