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

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

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

ダイナミックローダが適切に動作するためには、特定のタイプの出力セクションが必要です。 以下にその出力セクションを示します。

  • ハッシュテーブル

  • ストリングテーブル

  • ダイナミックシンボルテーブル

  • ダイナミックセクション

  • バージョンセクション

  • スレッドローカルストレージセクション

Show/hide一般的な推奨事項

以下に一般的な推奨事項を示します。

  • 各出力セクションのタイプを同種にします。 以下に例を示します。

       .text : { *(.text) }
       .data : { *(.data) }
       .bss :  { *(.bss) }
    

    これは、以下のように変更することを推奨します。

       .stuff
       {
           *(.text)
           *(.data)
           *(.bss)
       }
    
  • ARM Linux 上で ELF ファイルを実行する場合は、ダイナミックリンカによって使用されるメタデータの場所を変更しないで下さい。

  • SECTIONS コマンドと一致しないセクションは孤立とマークされます。 孤立セクションは、リンカによって適切な場所に配置されます。 リンカでは、必ずも可能ではありませんが、ld を使用して孤立セクションの配置を一致させようとします。 armlink による孤立セクションの配置方法を使用しない場合は、明示的な配置を使用します。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612