首页> 外国专利> 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

机译:应用二进制接口和将二进制应用程序与数字计算机接口的方法

摘要

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.
机译:应用程序二进制接口包括用于将二进制应用程序与数字计算机接口的链接结构。可重定位共享对象模块中的函数使用相对分支和链接指令通过计算机的链接寄存器获取模块中全局偏移表(GOT)的绝对地址。动态链接器在过程存储器映像中为对象模块懒惰地构造了过程链接表(PLT)和指针表,在该过程存储器映像中为PLT分配了空间,但最初并未提供PLT。指针表存储外部功能的绝对地址,这些绝对功能不能通过模块的相对分支来访问。 PLT接收对这些函数的调用,从指针表获取绝对地址,然后跳转到函数的绝对地址。 PLT还从模块接收相对调用可以到达的功能调用,并导致相对功能的分支。状态指令在每个调用指令之前位于变量参数列表函数中,该函数可以传递浮点参数,指示是否实际传递浮点参数。如果是这样,该函数将浮点参数寄存器的内容保存在内存中。如果不是,则不保存浮点参数寄存器的内容。虚拟地址空间分别分配给进程。在进程终止时,不会将用于将虚拟地址空间转换为物理地址的页表条目删除,而只是在分配了所有虚拟地址空间之后才删除。

著录项

  • 公开/公告号US5991871A

    专利类型

  • 公开/公告日1999-11-23

    原文格式PDF

  • 申请/专利权人 SUN MICROSYSTEMS INC.;

    申请/专利号US19960744445

  • 发明设计人 J. STEVEN ZUCKER;

    申请日1996-11-08

  • 分类号G06F9/40;

  • 国家 US

  • 入库时间 2022-08-22 01:39:02

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号