我目前正在将一个为 ARM 编写的编译器移植到另一个目标架构。ABI我发现ARM存在两种不同的类型:APCS_ABI和AAPCS_ABI.
我用谷歌搜索并参考了 ARM 手册,但没有发现它们之间的区别。
然而,在编译器后端的实现中,这两种ABIs处理方式不同,并且有不同的实现。
顺便说一下,APCS是ARM Procedure Call Standard的缩写,是AAPCSARM Architecture的Procedure Call Standard的缩写。(他们的意思不是一样吗?)
APCS那么和 和有什么区别AAPCS呢?为什么定义了两种不同的类型ABIs?