8.3.3 ロード領域の属性

ロード領域には属性があり、これによってイメージのどの部分をターゲットメモリにロードするかを制御できます。

以下に、ロード領域の属性を示します。
ABSOLUTE
リンク後に変更されない固定アドレスに内容が配置されます。領域のロードアドレスはベース指定子で指定されます。PI または RELOC を使用しない場合はこれがデフォルトになります。
ALIGN alignment
実行領域の配列制約を 4 から alignment に引き上げます。 alignment には、2 の累乗で正の数を指定する必要があります。ロード領域に base_address が指定されている場合、 alignment で整列される必要があります。ロード領域に +offset が指定されている場合、領域の計算されたベースアドレスは alignment 境界で整列されます。
この属性は、ELF ファイルのオフセットにも影響します。たとえば、以下のように指定すると、FOO のデータは ELF ファイルに 4k のオフセットで書き出されます。
FOO +4 ALIGN 4096
NOCOMPRESS
デフォルトでは、RW データ圧縮は有効になっています。NOCOMPRESS キーワードを使用すると、最終イメージでロード領域の内容が圧縮されないように指定できます。
OVERLAY
OVERLAY キーワードを使用すると、同じアドレスに複数のロード領域を指定できます。ARM ツールはオーバーレイ機能をサポートしていません。同じアドレスにある複数のロード領域を使用するには、独自のオーバーレイマネージャを使用する必要があります。
リンク後に変更されない固定アドレスに内容が配置されます。内容は OVERLAY 領域として指定された他の領域と重複する可能性があります。
PI
この領域は位置に依存しません。内容は固定アドレスに依存せず、リンク後、追加の処理なしに移動できます。

この属性は、イメージに実行専用セクションが含まれている場合にはサポートされません。
PROTECTED
PROTECTED キーワードを使用した場合、以下のことができなくなります。
  • ロード領域の重複。
  • ベニアの共有。
  • --merge オプションを使用した文字列の共有
RELOC
この領域は再配置可能です。コンテンツは固定アドレスに依存します。再配置情報が出力されて、他のツールで内容を別の場所に移動できます。

この属性は、イメージに実行専用セクションが含まれている場合にはサポートされません。
関連する概念
8.6.11 ロード領域に厳密に配置した状態で、実行領域でベースアドレスに合わせる例
3.3.3 リンカによるセクションの境界調整
3.6.5 スキャッタロード時のベニアの再利用
7.9 ページ境界での領域の作成
7.6 オーバーレイを使用したセクションの配置
8.3.6 ロード領域に相対アドレス +offset を使用する際の注意事項
8.3.4 ロード領域のアドレス属性の継承規則
8.3.5 RELOC アドレス属性の継承規則
3.6.2 ベニアの共有
3.6.4 位置非依存から絶対ベニアへの生成
4.7 RW データ圧縮を使用した最適化
関連する参考文書
8.3.1 ロード領域の記述に含まれているコンポーネント
8.3.2 ロード領域記述の構文
12.99 --merge、--no_merge
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.