9

現在、ARM用に作成されたコンパイラを別のターゲットアーキテクチャに移植しています。ABIARMには2つの異なる種類が存在することがわかりました:APCS_ABIAAPCS_ABI

私はそれをグーグルで検索してARMマニュアルを参照しましたが、それらの違いは見つかりませんでした。

ただし、コンパイラバックエンドの実装では、2種類のABIs処理が異なり、実装が異なります。

ちなみに、APCSはARM Procedure Call Standardの略語であり、ARMアーキテクチャのProcedureCallStandardの略語ですAAPCS。(同じ意味ではありませんか?)

APCSでは、との違いは何AAPCSですか?なぜ2つの異なる種類ABIsが定義されているのですか?

4

1 に答える 1

13

ARMドキュメントから、

PCS プロシージャ コール標準。

AAPCS ARM アーキテクチャのプロシージャ コール標準 (この標準)。(現行基準)

APCS ARM プロシージャ コール標準 (廃止)。

また、同じドキュメントから、

AAPCS は、APCS の 5 番目のメジャー リビジョンと TPCSの 3 番目のメジャー リビジョンを具現化します。これは、ARM アーキテクチャの完全な ABI 仕様の一部を形成します。

廃止されたものを忘れて、APCSフォローを開始できますAAPCS

于 2012-05-08T08:17:50.443 に答える