--apcs=qualifierqualifier

ARM アーキテクチャのプロシージャコール標準(AAPCS)を使用するかどうかを指定します。コードセクションの属性を一部指定することもできます。

AAPCS は Base Standard Application Binary Interface for the ARM Architecture(BSABI)仕様の一部です。AAPCS に準拠したコードを記述すると、別々にコンパイルおよびアセンブルしたモジュールを連動させることができます。

Note

アセンブラにより生成されたコードは、AAPCS 修飾子の影響を受けません。AAPCS 修飾子は、inputfile 内のコードが AAPCS の特定のバリアントに準拠していることをプログラマが確認するためのアサートです。AAPCS 修飾子により、アセンブラによって生成されたオブジェクトファイル内で属性が設定されます。リンカはこれらの属性を使用してファイルの互換性をチェックし、適切なライブラリバリアントを選択します。

qualifier の値は以下のとおりです。

なし

inputfile で AAPCS が使用されないように指定します。AAPCS レジスタは設定されません。none を使用する場合、他の修飾子は使用できません。

/interwork/nointerwork

/interwork は、inputfile のコードが ARM と Thumb で安全にインターワークできるように指定します。デフォルトは /nointerwork です。

/inter/nointer

/interwork および /nointerwork と同義です。

/ropi/noropi

/ropi は、inputfile のコードを読み出し専用の位置非依存(ROPI)とするように指定します。デフォルトは /noropi です。

/pic/nopic

/ropi および /noropi と同義です。

/rwpi/norwpi

/rwpi は、inputfile のコードを読み書き可能な位置非依存(RWPI)とするように指定します。デフォルトは /norwpi です。

/pid/nopid

/rwpi および /norwpi と同義です。

/fpic/nofpic

/fpic は、inputfile のコードを読み出し専用の位置非依存とし、アドレス参照が Linux の共有オブジェクトでの使用に適したものとなるように指定します。デフォルトは /nofpic です。

/hardfp/softfp

ハードウェアまたはソフトウェアの浮動小数点リンケージを要求します。これによって、--fpu オプションを介して利用できる浮動小数点ハードウェアのバージョンとは別に、プロシージャコール標準を指定することができます。プロシージャコール標準は --fpu オプションを使用して指定することもできますが、--apcs の使用を推奨します。浮動小数点サポートが無効である場合(--fpu=none が指定されている、または他の方法で禁止されているなど)、/hardfp および /softfp は無視されます。浮動小数点サポートが許可されている場合で、なおかつ softfp の呼び出し規則が使用された場合(--fpu=softvfp または --fpu=softvfp+vfp...)、/hardfp を指定するとエラーが発生します。

Note

少なくとも 1 つの qualifier を指定する必要があります。qualifier を複数指定する場合、リスト内の個々の修飾子間にスペースもコンマも挿入されていないことを確認して下さい。

Show/hide

armasm --apcs=/inter/ropi inputfile.s

Show/hide関連項目

ARM アーキテクチャ向けプロシージャコール標準

『コンパイラリファレンス』

『ARM プロセッサをターゲットとしたソフトウェア開発』

Copyright © 2010 ARM. All rights reserved.ARM DUI 0489BJ
Non-ConfidentialID011811