• 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
  • 相关阅读:
    Qt绘图设备QPicture
    unique_lock加锁adopt_lock
    C++单例模式
    C++条件变量condition_variable
    unique_lock加锁try_to_lock
    unique_lock加锁defer_lock
    lock_guard加锁
    Linux快速入门(一)Linux基础知识
    Linux快速入门(四)Linux用户管理
    Linux快速入门(五)Linux系统管理
  • 原文地址:https://www.cnblogs.com/arnoldlu/p/16193622.html
Copyright © 2020-2023  润新知