3.3.3 リンカによるセクションの境界調整

リンカは、確実に各入力セクションをその境界調整の倍数になるアドレスから開始させます。

入力セクションの順序付けが行われた後でベースアドレスが固定される前に、 armlink は必要に応じてパディングを挿入し、各入力セクションをその境界調整の倍数になるアドレスから開始させます。
リンカでは、入力セクションの最大の境界調整に関係なく、ELF プログラムのヘッダおよび出力セクションを 4 バイト境界で整列させることができます。利点 これにより、armlink は、イメージに挿入するパディングを最小限に抑えることができます。
ELF の仕様に厳密に適合する必要がある場合は、 --legacyalign オプションを使用します。領域のベースアドレスが整列されていない場合はリンカによりエラーが発生するため、ELF の仕様に準拠するためにパディングが挿入されることがあります。領域の境界整列は、 --no_legacyalign が使用されている場合、その領域に含まれている入力セクションの最大長の境界で整列されます。
スキャッタロードを使用する場合は、ALIGN 属性を使用して、ロード領域または実行領域のアラインメントを増やすことができます。例えば、通常は 4 バイト境界で整列される実行領域を 8 バイト境界で整列させることができます。ただし、自然のアラインメントを縮小することはできません。例えば、通常は 4 バイト境界で整列される領域を 2 バイト境界で整列させることはできません。
関連する概念
7.9 ページ境界での領域の作成
8.6.11 ロード領域に厳密に配置した状態で、実行領域でベースアドレスに合わせる例
関連する参考文書
12.82 --legacyalign、--no_legacyalign
8.3.3 ロード領域の属性
8.4.3 実行領域の属性
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.