Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
x86-64-ABI Alternatives
Similar projects and alternatives to x86-64-ABI
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
x86-64-ABI reviews and mentions
-
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)
-
The GNU C Library version 2.33 is now available with advanced hardware capabilities feature
For x86_64-linux-gnu, you can read the table in this TeX source file (I'm not aware of an up-to-date rendered PDF yet - when development moved from github to gitlab the wiki seems to have been abandoned without replacement)
-
A note from our sponsor - InfluxDB
www.influxdata.com | 5 May 2024
Stats
Popular Comparisons
Sponsored