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 GNU ld スクリプトのサポートと制限について
9.4 armlink での ld スクリプトの使用に固有の制限
関連する参考文書
9.3 Armlink に実装されている重要な ld スクリプトコマンド
12.149 --symver_script=filename
12.88 --linker_script=ld_script
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.