SaaSHub helps you find the best software and product alternatives Learn more →
x86-64-ABI Alternatives
Similar projects and alternatives to x86-64-ABI
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
x86-64-ABI discussion
x86-64-ABI reviews and mentions
- Evolution of the ELF object file format
-
Linux/ELF .eh_frame from the bottom up
Linux uses the sysv calling convention. I believe these are the official or semi-official documents for x86 64-bit and 32-bit, respectively:
https://gitlab.com/x86-psABIs/x86-64-ABI (Table 3.4 in section 3.2.3 lists which registers may be clobbered and which must be saved)
-
Book recommendations.
System V Application Binary Interface AMD64 Architecture Processor Supplement
-
Six Great Features with the Upcoming Linux 6.6 Kernel
ABI is just the name for any stable binary interface between parts of a program, eg in C there is a well-defined ABI for calling functions: https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/ma... https://www.agner.org/optimize/calling_conventions.pdf
If you combine that with a stable set of C function names and parameters, then you could define an ABI for kernel modules if you (and the Linux developers) wanted. While it sounds like a good idea, the outcome probably wouldn't be great for users.
-
Does C++ have a stable ABI or not?
But in the same breath, that paragraph's footnote points directly to the Itanium C++ ABI specification which seems to do precisely what they said has never been done. (I've filed a bug...).
-
What x64 ABI does linux / GCC ACTUALLY use?
The supposed latest psABI specs (https://gitlab.com/x86-psABIs/x86-64-ABI) contain the following, with regards to classifying aggregates for argument passing (section 3.2.3, page 24, of the AMD64 ABI 1.0 – December 6, 2022 specs):
-
Change default CPU type?
RHEL, from version 9, requires x86-64 v2. The levels are a common effort between several companies, AMD included. The definitions can be found in this repo, and here is the latest PDF.
-
System V Application Binary Interface [pdf]
Note that this isn't the most up-to-date version of the x86-64 SysV ABI--if you want that, go to https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/ma... .
Although I think the only updates since the version linked here are effectively editorial in note. The last big updates are adding AMX registers to the ABI, and the addition of microarchitecture levels, both of which are in this version.
-
Attempts to write to VBE framebuffer either cause QEMU bootlooping or do nothing.
As far as calling conventions go, it's explained very thoroughly in the AMD64 psABI. I know it's not the easiest read, but it does say that the first integer parameter is passed in RDI.
-
Resources for Amateur Compiler Writers
Latest versions of the ABI specifications linked in the Machine Specific section
ARM: https://github.com/ARM-software/abi-aa/releases
x86-64: https://gitlab.com/x86-psABIs/x86-64-ABI (go to most recent CI job and download artifacts for a compiled PDF)
-
A note from our sponsor - SaaSHub
www.saashub.com | 8 Jul 2025