9.5 armlink での ld スクリプトの使用に関する推奨事項

armlink で使用する ld スクリプトを生成する場合は、以下の推奨事項に従って下さい。

armlink で使用する ld スクリプトを生成する場合は、以下の推奨事項に従って下さい。

ARM Linux 向けの ld スクリプトを生成する場合の推奨事項

ダイナミックローダが適切に動作するためには、特定のタイプの出力セクションが必要です。以下に設定方法を示します。
  • ハッシュテーブル。
  • ストリングテーブル。
  • ダイナミックシンボルテーブル。
  • ダイナミックセクション。
  • バージョンセクション。
  • スレッドローカルストレージセクション

一般的な推奨事項

以下に一般的な推奨事項を示します。
  • 各出力セクションのタイプを同種にします。例えば、
       .text : { *(.text) }
       .data : { *(.data) }
       .bss :  { *(.bss) }
    
    これは、以下のように変更することを推奨します。
       .stuff
       {
           *(.text)
           *(.data)
           *(.bss)
       }
    
  • ARM Linux 上で ELF ファイルを実行する場合は、ダイナミックリンカによって使用されるメタデータの場所を変更しないで下さい。
  • SECTIONS コマンドと一致しないセクションは孤立とマークされます。孤立セクションは、リンカによって適切な場所に配置されます。リンカでは、必ずしも可能ではありませんが、ld を使用して孤立セクションの配置を一致させようとします。armlink による孤立セクションの配置方法を使用しない場合は、明示的な配置方法を使用します。
関連する概念
9.1.1 GNU ld スクリプトのサポートと制限についての概要
9.4 armlink での ld スクリプトの使用に固有の制限
関連する参考文書
9.3 Armlink に実装されている重要な ld スクリプトコマンド
12.148 --symver_script=filename
12.87 --linker_script=ld_script
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.