ELF 对象文件格式的演变

主要观点:ELF 对象文件格式被许多类 UNIX 操作系统采用,其历史与 System V ABI 相关,经历了复杂的演变过程,包括版权、维护责任的转移等,同时存在通用 ABI、System V ABI 处理器补充(psABI)和操作系统特定 ABI 等方面的内容。
关键信息

  • ELF 由 Unix System Laboratories 为 System V Release 4 创建,后被许多操作系统采用。
  • Tool Interface Standard(TIS)委员会在 1995 年采用并发布了相关规范,之后其作用逐渐减弱。
  • System V ABI 的维护责任在 Unix 软件资产的转移过程中几经更迭,目前通用 ABI 处于未维护状态。
  • 存在多个与 ELF 相关的重要文档和规范,如 TIS 规范、System V ABI 相关文档等。
  • 通用 ABI 的 Google 群组用于讨论相关内容,但参与度降低。
  • 有 System V ABI 处理器补充(psABI)针对不同架构的文档,部分架构的 psABI 较旧或不可用。
  • 操作系统特定 ABI 为操作系统提供特定细节,如 Oracle Solaris 和 Linux 的相关文档。
    重要细节
  • 1993 年 Novell 收购 Unix 资产,后多次转手,维护通用 ABI 的责任随之转移。
  • 2000 年 binutils 提交中提到e_machine值应向特定邮箱请求批准。
  • 版权通知可能存在误导,Santa Cruz Operation 主要是编辑者。
  • 通用 ABI 从 1998 年到 2013 年主要是常量更新,2018 年和 2022 年在 Google 群组达成一些共识。
  • 2020 年 Cary Coutant 与 Xinuos 达成初步协议,但未来仍不确定。
  • 不同架构的 psABI 情况各异,部分架构的 psABI 较旧或不可用。
  • Linux 相关的 gABI 补充文档在程序加载和动态链接方面有重要作用。
阅读 12
0 条评论