Das System V x86-64 psABI wird auf GitHub beibehalten. H.J. Lus Github-Seite hat a wiki with links to the current versions der x86-64 und i386 SystemV psABI-Dokumente, und zu den Foren, wo Updates diskutiert werden.
Siehe x86tag wiki für direkte Links zu den neuesten Versionen. (Diese Antwort ist möglicherweise veraltet).
Ab sofort die aktuelle Version für x86-64 is r252 (Draft 0.99.8 April 2016), und die aktuelle Version für i386 is 1.1 (enthält AVX512). Inoffiziell, sign-extending narrow args to 32-bit is required, weil Clang davon abhängt. Hoffentlich wird eine zukünftige ABI-Revision das dokumentieren.
Die x32 ABI (32-Bit-Zeiger im langen Modus) ist Teil des x86-64-ABI-Dokuments. Siehe Kapitel 10: ILP32 Programmiermodell.
Beachten Sie, dass der Prozessor-spezifischen psABI docs als Ergänzung ausgelegt ist, die weniger häufig aktualisiert System V gABI, auf SCOs Website gehostet.
Verwandte: What are the calling conventions for UNIX & Linux system calls on i386 and x86-64 beschreibt das System-Aufrufkonvention (sowie i386 Linux vs. FreeBSD) für x86-64 SysV aufrufen.
Es fasst auch die Funktion Aufrufkonventionen für Ganzzahlargumente zusammen. Systemaufrufe nehmen keine FP- oder SSE/AVX-Vektorargumente oder Strukturen nach Wert auf, daher ist die Funktionsaufrufkonvention komplizierter.
Agner Fog has a calling conventions guide (Abdeckung von Windows vs. Sys V und die verschiedenen Konventionen für 32-Bit und Tipps/Tricks zum Schreiben von Funktionen Sie auf beiden Plattformen verwenden können). Dies ist eine separate PDF-Datei von seinen Optimierungs- und Mikroarchitektur-Leitfäden und Anweisungstabellen (die wichtig sind, wenn Sie Wert auf Leistung legen.)
Wikipedia hat einen x86 calling conventions Artikel, der verschiedene Konventionen beschreibt, aber meistens nicht in genug Detail, um sie zu verwenden alles andere als einfache Ganzzahlargumente. (z. B. keine Beschreibung von Strukturpackungsregeln).
Der ** 0.99.6 ** Entwurf ist die neueste Version, die mir bekannt ist. Um den fehlerhaften Link auf der verweisenden Seite zu umgehen, versuchen Sie [hier] (http://refspecs.linuxbase.org/elf/). –
http://agner.org/optimize/calling_conventions.pdf – Elalfer
Mögliches Duplikat von [wo ist amd64 psABI?] (Https://stackoverflow.com/questions/13924652/where-is-amd64-psabi) – jww