Où est le x86-64 V ABI-ils documentés?
Le x86-64 V ABI (utilisé sur tout, sauf sur Windows) l'habitude de vivre à http://x86-64.org/documentation/abi.pdf, mais ce site a chuté hors de l'internet.
Est-il une nouvelle autorité à la maison pour le document?
- Le 0.99.6 le projet est la dernière version, je suis conscient de. Pour obtenir autour de la rupture de lien sur la page, essayez de ici.
- L'www.x86-64.org le site est maintenant tombé en arrière sur la planète, après un bref une année de pause. Je ne pense pas que nous allons le savoir, mais j'aimerais connaître l'histoire là. 🙂 AMD barres obliques budget par 100 $de frais d'hébergement?
- agner.org/optimize/calling_conventions.pdf
- Aimerais aussi connaître l'histoire. web.archive.org/web/20160609221003/http://www.x86-64.org/... c'est toujours utile ce-nouveau-dans-x86-64 guide pour les débutants qui ont suivi un 32 bits tutoriel et sont maintenant confus par x86-64. Vraiment content de la Wayback machine existe.
- Double Possible de où est-amd64 psABI?
- en fait c'est l'inverse. Cette question a une jusqu'à la date de répondre, de sorte que l'autre devrait le lien ici.
Vous devez vous connecter pour publier un commentaire.
Le Système V x86-64 psABI est maintenu sur GitHub. H. J. Lu github page a un wiki avec des liens vers les versions actuelles de l'x86-64 et i386 SystemV psABI documents, et pour les forums où les mises à jour sont discutés.
Voir le x86 balise wiki pour les liens directs vers les dernières versions. (Cette réponse peut être mis à jour).
Comme de maintenant, la version actuelle de x86-64 est r252 (Projet de 0.99.8 avril 2016), et la version actuelle de i386 est de 1,1 (comprend AVX512). Officieusement, signe-l'extension étroit args à 32 bits est requis, parce que clang en dépend. Nous espérons un avenir ABI révision document.
Le x32 ABI (pointeurs 32 bits au long de la mode) est une partie de l'x86-64 ABI doc. Voir le Chapitre 10: ILP32 Modèle de Programmation.
Noter que le Processeur Spécifique psABI docs sont conçus comme un complément à la moins fréquemment mis à jour Système V gABI, hébergé sur SCO site web.
Connexes: Quelles sont les conventions d'appel pour UNIX & appels système Linux sur les architectures i386 et x86-64 décrit l'appel-système de convention d'appel pour x86-64 SysV (ainsi que i386 Linux vs FreeBSD).
Il résume également les conventions d'appel de fonction pour entier args.
Les appels système ne prenez pas de FP ou SSE/AVX vecteur args, ou des structures par valeur, donc la fonction-convention d'appel est plus compliqué.
Agner le Brouillard a un appel conventions guide (couvrant les Fenêtres vs Sys V, et les différentes conventions pour 32-bit, et des conseils/astuces pour l'écriture de fonctions que vous pouvez utiliser sur les deux plate-forme). C'est un PDF distinct de son optimisation et de la microarchitecture de guides et d'instruction des tables (qui sont d'une lecture indispensable, si vous vous souciez de la performance.)
Wikipédia a un x86 conventions d'appel article qui décrit les diverses conventions, mais surtout pas assez de détails pour les utiliser pour autre chose que de la simple entier args. (par exemple, pas de description de structure-règles d'emballage).
Linux standard base
La Linux Standard Base, ce qui peut être considéré par certains comme étant l'autorité spec pour cette question, a section intitulée 7.2. "La Fonction De Séquence D'Appel" points à la 2.1. "Références normatives l'article" qui contient les liens suivants:
Je voudrais donc vous recommandons d'utiliser les versions du cahier des charges que le canoniques, sauf si vous avez une bonne raison de faire autrement.