Ich portiere derzeit einen für ARM geschriebenen Compiler in eine andere Zielarchitektur. Ich habe gefunden, dass es zwei verschiedene Arten von ABI
für ARM gibt: APCS_ABI
und AAPCS_ABI
.ARM: Was ist der Unterschied zwischen APCS und AAPCS ABI?
Ich googelte es und referenzierte das ARM-Handbuch, aber habe nicht die Unterschiede zwischen ihnen gefunden.
Bei der Implementierung des Compiler-Backends werden jedoch die beiden Arten ABIs
unterschiedlich behandelt und haben separate Implementierungen.
Übrigens ist APCS
die Abkürzung von ARM Procedure Call Standard und AAPCS
von Procedure Call Standard für die ARM-Architektur. (Bedeutet das nicht dasselbe?)
Was ist der Unterschied zwischen APCS
und AAPCS
? Warum sind zwei verschiedene Arten von ABIs
definiert?