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

入力セクションの順序付けが行われた後、armlink はベースアドレスが固定される前に必要に応じてパディングを挿入し、各入力セクションをその境界調整の倍数になるアドレスから開始させます。

リンカでは、入力セクションの最大の境界調整に関係なく、ELF プログラムのヘッダおよび出力セクションを 4 バイト境界で整列させることができます。これにより、armlink は、イメージに挿入するパディングを最小限に抑えることができます。

ELF の仕様に厳密に適合する必要がある場合は、--no_legacyalign オプションを使用します。領域のベースアドレスが整列されていない場合はリンカによりエラーが発生するため、ELF の仕様に準拠するためにパィングが挿入されることがあります。--no_legacyalign が使用されている場合、領域の境界整列はその領域に含まれている入力セクションの最大長の境界で整列されます。

スキャッタロードを使用する場合は、ALIGN 属性を使用して、ロード領域または実行領域のアラインメントを増やすことができます。例えば、通常は 4 バイト境界で整列される実行領域を 8 バイト境界で整列させることができます。ただし、自然のアラインメントを縮小することはできません。例えば、通常は 4 バイト境界で整列され領域を 2 バイト境界で整列させることはできません。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0474EJ
Non-ConfidentialID081711