5.3 --info リンカオプションの使用例

これは --info オプションによって生成される出力の例です。

リンク時のコンポーネントサイズを表示するには、以下のコマンドを入力します。
armlink --info sizes …
ここでは、sizes によって、イメージ内の入力オブジェクトおよびライブラリのメンバごとにコードとデータのサイズが一覧表示されます。このオプションを使用すると、 --info sizes,totals を指定したことになります。
以下の例では、出力が表形式で示され、合計は読みやすくするために区別されています。
Code (inc. data)   RO Data   RW Data    ZI Data      Debug
3712        1580        19        44      10200       7436   Object Totals
0              0        16         0          0          0   (incl. Generated)
0              0         3         0          0          0   (incl. Padding)
21376        648       805         4        300      10216   Library Totals
0              0         6         0          0          0   (incl. Padding)
===============================================================================
Code (inc. data)   RO Data    RW Data    ZI Data      Debug
25088       2228       824         48      10500      17652   Grand Totals
25088       2228       824         48      10500      17652   ELF Image Totals
25088       2228       824         48          0          0   ROM Totals
===============================================================================
Total RO  Size (Code + RO Data)             25912 (  25.30kB)
Total RW  Size (RW Data + ZI Data)          10548 (  10.30kB)
Total ROM Size (Code + RO Data + RW Data)   25960 (  25.35kB)
この例では、以下のようになります。
Code (inc. data)
コードで使用されるバイト数を示します。このイメージには、3712 バイトのコードがあります。これには、リテラルプールや短い文字列など、1580 バイトのインラインデータ(inc. data)が含まれています。
RO Data
RO データで使用されるバイト数を示します。これは、Code (inc. data) 列内のインラインデータとは別です。
RW Data
RW データで使用されるバイト数を示します。
ZI Data
ZI データで使用されるバイト数を示します。
デバッグ
デバッグ入力セクション、シンボルテーブル、ストリングテーブルなど、デバッグデータで使用されるバイト数を示します。
Object Totals
イメージを生成するためにリンクされているオブジェクトで使用されるバイト数を示します。
(incl. Generated)
armlink は、インターワーキングベニアなどのイメージの内容や領域テーブルなどの入力セクションを生成する場合があります。Object Totals 行にこのタイプのデータが含まれている場合、この行にそのデータが表示されます。
この例では、RO データの合計は 19 バイトで、そのうち 16 バイトがリンカで生成された RO データです。
Library Totals
個別のオブジェクトとして抽出され、イメージに追加されたライブラリのメンバで使用されるバイト数を示します。
(incl. Padding)
armlink は、必要に応じてパディングを挿入し、セクションの境界調整を強制実行します。Object Totals 行にこのタイプのデータが含まれている場合、関連する (incl. Padding) 行にそのデータが表示されます。同様に、 Library Totals 行にこのタイプのデータが含まれている場合、そのデータは関連する行に表示されます。
この例では、RO データのオブジェクトの合計は 19 バイトで、そのうち 3 バイトがリンカで生成されたパディングになります。また、RO データのライブラリの合計は 805 バイトで、そのうち 6 バイトがパディングになります。
Grand Totals
イメージの実際のサイズを示します。この例では、10200 バイトの ZI データ(Object Totals)と 300 バイトの ZI データ(Library Totals)があるため、合計は 10500 バイトになります。
ELF Image Totals
RW データ圧縮(デフォルト)を使用して ROM サイズを最適化する場合、最終イメージのサイズが変更され、このサイズ変更は info による出力に反映されます。 --infoGrand TotalsELF Image Totals のバイト数を比較すると、圧縮の効果を確認できます。
この例では、RW データ圧縮が有効になっていません。データが圧縮されると、RW 値が変更されます。
ROM Totals
イメージを含むために必要な ROM の最小サイズを示します。ROM に保存されない ZI データやデバッグ情報は含まれません。
関連する参考文書
5.1 リンカ生成ファイルに関する情報を取得するためのオプション
12.71 --info=topic[,topic,…]
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.