GCC MIPS-32 Aufrufkonventionen / Stapel Rahmen Definition
Frage
Es scheint kein definitiver standardisierter Stapelrahmen und C Aufrufkonventionen (Registerverwendung und so weiter) für die MIPS-32 Prozessor-Architektur zu sein. Das heißt, scheint es, vollständig zu sein, bis zu der Assembler / Compiler-Toolkette ihres eigenen Stack-Frame und Aufrufkonventionen zu definieren. Ich habe eine definitive Referenz von dem, was Konventionen des GCC-Compiler verwendet für MIPS-32-Befehlssatz finden gekämpft. Ich verwende speziell GCC Cross-Compiler auf Cygwin, die einen MIPS-32 Kern zielt auf die eCos in einer eingebetteten Umgebung verwendet wird Open-Source-Kernel.
Verweise auf endgültige Dokumentation über GCC für MIPS-32 in diesem Bereich würden geschätzt.
Lösung
Sie haben recht, das ist ein bisschen ein Durcheinander ist und schlecht dokumentiert ist. Ich würde empfehlen:
- http://math-atlas.sourceforge.net/devel/assembly/ mipsabi32.pdf
- "Siehe MIPS Run" von Dominic Sweetman
- zerlegt Code vom Compiler generierte Prüfungs für Abweichungen zu den oben genannten Referenzen zu überprüfen.
Andere Tipps
Ist diese Referenz auf MIPS EABI für RedHat Linux Hilfe ?
Ich bin nicht in MIPS, aber vielleicht MIPS ABI Geschichte Referenz könnte Hilfe.