LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

ARM架构ABI文档集合

ARM在《GitHub - ARM-software/abi-aa: Application Binary Interface for the Arm® Architecture》维护了ARM架构的一系列ABI文档,主要包括32位和64位架构两大系列,以及一些新增扩展相关ABI(SVE、PAuth、Morello)等、

ABI for the Arm 32-bit Architecture

specificationlatest on Githublast on developer site 说明
Application Binary Interface for the Arm architecture introduction bsabi32 2019Q4  
Procedure Call Standard for the Arm Architecture aapcs32 2020Q2 介绍ARM32下函数调用基本流程、数据类型和对齐、以及对VFP、ASIMD等的支持。
ELF for the Arm Architecture aaelf32 2019Q1

ELF规格来自于System V ABI规格的Chapter 4和Chapter 5。

此处介绍的是ARM 32处理器特殊的ELF规格。

DWARF for the Arm Architecture aadwarf32 2018Q4 介绍作为GDWARF的DWARF 3.0下ARM架构特定使用方法。
Base Platform ABI for the Arm Architecture bpabi32 2018Q4  
C++ ABI for the Arm Architecture cppabi32 2019Q4  
Exception Handling ABI for the Arm Architecture ehabi32 2018Q4  
Run-time ABI for the Arm Architecture rtabi32 2018Q4  
C Library for the Arm Architecture clibabi32 2018Q4  
Support for Debugging Overlaid Programs dbgovl32 2018Q4  
Addenda to, and Errata in, the ABI for the ARM Architecture addenda32 2019Q1  
ABI Advisory Note - SP 8-byte alignment advnote132 2018Q4  

ELF和DWARF之间的关系不是精灵(elf)和小矮子(dwarf)的关系。

ELF (Executable and Linkable Format) 是一种Linux/UNIX下可执行文件、库文件格式。

DWARF (Debug With Arbitrary Record Format) 是ELF中常用的调试信息格式。DWARF告诉调试器可执行文件和源码的关系。

ABI for the Arm 64-bit Architecture

specificationlatest on Githublast on developer site
Procedure Call Standard for the Arm 64-bit Architecture aapcs64 2018Q4
ELF for the Arm 64-bit Architecture aaelf64 2020Q2
DWARF for the Arm 64-bit Architecture aadwarf64 2020Q2
C++ ABI for the Arm 64-bit Architecture cppabi64 2020Q2
Vector Function ABI for the Arm 64-bit Architecture vfabia64 2019Q2

ABI for the Arm 64-bit Architecture with SVE support

SVE(Scalable Vector Extension)是arm AArch64架构下的下一代SIMD指令集,旨在加速高性能计算,SVE引入了很多新的架构特点, 比如

  • 可变矢量长度
  • 每通道预测
  • 聚集加载和分散存储
  • 横向操作
specificationlatest on Githublast on developer site
Procedure Call Standard for the Arm 64-bit Architecture with SVE support content merged with aapcs64 2019Q2
DWARF for the Arm 64-bit Architecture with SVE support content merged with aadwarf64 SVEdwf 00bet1
Vector Function ABI for the Arm 64-bit Architecture (identical to document in ABI for the Arm 64-bit Architecture section) vfabia64 2019Q2

PAuth ABI Extension

specificationlatest on Githublast on developer site说明
PAuth ABI Extension to ELF for the Arm 64-bit Architecture pauthabielf64 - 关于ARMv8.3-A架构新增的对指针进行签名和验签ELF扩展技术PAuth(Pointer Authentication)。

Morello Extension

specificationlatest on Githublast on developer site
Morello Extension to the Procedure Call Standard for the Arm 64-bit Architecture aapcs64-morello 2020Q3
Morello Extension to ELF for the Arm 64-bit Architecture aaelf64-morello 2020Q3
Morello Extension to DWARF for the Arm 64-bit Architecture aadwarf64-morello 2020Q3

Miscellaneous material

specificationlatest on Githublast on developer site
Semihosting for AArch32 and AArch64 semihosting 2019Q4

posted on 2022-04-28 14:49  ArnoldLu  阅读(812)  评论(0编辑  收藏  举报

导航