8.3 RVCT v4.0 と ARM コンパイラ v4.1 の間でのリンカの変更点

ARM コンパイラツールチェーン v4.1 ではさまざまな変更が armlink に加えられました。

リンカについては、以下の点が変更されています。

GNU ld スクリプトのサポート

armlink v4.1 では、GNU リンカ制御スクリプトのサブセットがサポートされています。さらに GNU ld の動作と一致させるために、--sysv コマンドラインオプションが指定されると、armlink は内部リンカ制御スクリプトを使用します。armlink の以前のバージョンでは、内部スキャッタファイルが使用されていました。

制御スクリプトを使用することにより、RVCT v4.0 と論理的には同等であるものの、物理的には異なるレイアウトが生成されます。デフォルトのスキャッタファイルレイアウトに戻すには、コマンドラインオプション --no_use_sysv_default_script を使用します。

内部制御スクリプトをユーザ定義制御スクリプトに置き換えるには、-T オプションを使用します。

ARM/Thumb 同義語の廃止

4.1 では、使用が制限された ARM/Thumb 同義語機能のサポートが廃止されました。ARM/Thumb 同義語機能は、シンボル S の ARM グローバルシンボル定義と S の Thumb グローバルシンボル定義の共存を可能にします。ARM ステートからの分岐はすべて ARM 定義で送られ、Thumb ステートからの分岐はすべて Thumb 定義で送られます。

4.0 の armlink は、ARM/Thumb 同義語を検出したときに、廃止予定の機能に関する警告 L6455E を出力します。

4.1 の armlink は、ARM/Thumb 同義語を検出したときに、エラーメッセージ L6822E を出力します。

同義語の動作を再作成するには、ARM 定義と Thumb 定義の両方の名前を変更し、リンクし直します。未定義のシンボルごとに、ARM 同義語または Thumb 同義語で指し示す必要があります。

関連する参考文書
8.1 RVCT v4.0 と ARM コンパイラ v4.1 の間での全般的な変更点
関連情報
--use_sysv_default_script、--no_use_sysv_default_script リンカオプション
--sysv リンカオプション
非機密扱いPDF file icon PDF 版ARM DUI0530JJ
Copyright © 2010-2013 ARM.All rights reserved.