This specification provides the processor-specific application binary interface document for RISC-V.
This specification consists of the following three parts:
-
Calling convention
-
ELF specification
-
DWARF specification
A future revision of this ABI will include a canonical set of mappings for memory model synchronization primitives.
This specification uses the following terms and abbreviations:
| Term | Meaning |
|---|---|
ABI |
Application Binary Interface |
gABI |
Generic System V Application Binary Interface |
ELF |
Executable and Linking Format |
psABI |
Processor-Specific ABI |
DWARF |
Debugging With Arbitrary Record Formats |
GOT |
Global Offset Table |
PLT |
Procedure Linkage Table |
PC |
Program Counter |
TLS |
Thread-Local Storage |
NTBS |
Null-Terminated Byte String |
XLEN |
The width of an integer register in bits |
FLEN |
The width of a floating-point register in bits |
PTRSZ |
The width of a pointer type in bits ( |
Linker relaxation |
A mechanism for optimizing programs at link-time, see [Linker Relaxation] for more detail. |
RVWMO |
RISC-V Weak Memory Order, as defined in the RISC-V specification. |
| ABI Name | Status |
|---|---|
ILP32 |
Ratified |
ILP32F |
Ratified |
ILP32D |
Ratified |
ILP32E |
Draft |
LP64 |
Ratified |
LP64F |
Ratified |
LP64D |
Ratified |
LP64Q |
Ratified |
RV64ILP32 |
Draft |
RV64ILP32F |
Draft |
RV64ILP32D |
Draft |
RV64ILP32Q |
Draft |
|
Note
|
ABI for big-endian is NOT included in this specification, we intend to define that in future version of this specification. |
Any encodings that are marked as reserved for a specific extension (ISA or purely ABI addition) should be treated by standard tools identically to any other encodings reserved for future standard extensions. Such reservations are solely declarations of intent to reduce conflicts between in-flight standard extensions, and may be reclaimed for future reassignment at any point for any reason. Any encodings marked as reserved have draft, not ratified, status, regardless of whether they are reserved for a ratified ISA extension.