共通グループまたは共通セクションの削除

ARM コンパイラは、リンク用の完全なオブジェクトを生成します。 そのため、

このような関数が共通ヘッダファイルで宣言されている場合、関数は、その後リンクする各オブジェクト内で何度も定義される可能性があります コンパイラでは、重複を回避するために、これらの関数を共通コードセクションまたは共通グループの個々のインスタンスにコンパイルします

共通コードセクションまたは共通グループの個々のインスタンスが同一でない場合もあります。 例えば、コピーの一部は、異なる(ただし互換性のある)ビルドオプション、最適化、またはデバッグオプションを使用してビルドされたライブラリ内で検出される場合があります。

コピーが同一でない場合、armlink は、入力オブジェクトの属性に基づき、各共通コードセクションまたは各共通グループの最も可用性の高いバリアントを保持し、それ以外のバリアントを破棄します。

コピーが同一である場合、armlink は、最初に検出したセクションまたはグループを保持します。

この最適化は、以下のリンカオプションを使用して制御します。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612