2017-01-26 6 views
2

出力ELF形式ファイルの最後にgccまたはldの場所コードセクションを強制的に挿入する方法はありますか?ELFのセクションをスワップ

例えば、私が.data, .rodata, .bssと他のセクションに何かを持っていない場合は、.text以外のセクションを生成しないようにすることができますか?

+3

カスタム*リンカスクリプトを記述することで何でもできます。詳細はマニュアルをお読みください。 – fuz

+1

Fuzがリンカースクリプトで言うように。私はあなたがこれをやりたい場所にある、あなたが持っている基本的な状況を知りたいと思っています。 –

+0

@MichaelPetch ELFのコードセクションの直後にいくつかのコードを追加したいと思います。これはopcodeを生成するが、それ自身でアセンブルすることはできないので、あらかじめコンパイルされたELFが必要な特定のアプリケーションアーキテクチャです。ところで答えてくれてありがとう! –

答えて

0

私のために働いたスクリプトの最小限のバージョンは次のように見えた:

ENTRY(_start) 

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

しかし、私はいくつかのより多くの研究(docs here)を作った後、私は、デフォルトの1(ld --verbose)でこのスクリプトを交換しました。それでは、私はちょうど冗長なスクリプトの最後にコードセクションを置いたところ、完全に機能しました。

関連する問題