2017-03-09 7 views
0

は、.textを4Kアライメントされたページに分けることができます。例えば、私は、簡単なプログラムを書いて、セクションヘッダをダンプするreadelf -a a.outを使用:.textセクションをLinuxの4Kアラインメントアドレスに分割する方法ELF

[Nr] Name    Type   Addr  Off Size ES Flg Lk Inf Al 
    ... ... 
    [11] .init    PROGBITS  00000470 000470 000023 00 AX 0 0 4 
    [12] .plt    PROGBITS  000004a0 0004a0 000060 04 AX 0 0 16 
    [13] .text    PROGBITS  00000500 000500 000342 00 AX 0 0 16 
    [14] .fini    PROGBITS  00000844 000844 000014 00 AX 0 0 4 

にはどうすれば4K整列ページ(例えば、.textためaddrが0x1000のこと)へ.textを置くことができますか?

ありがとうございました!

+0

*なぜセクションアライメントが気になりますか? * segment *の整列とは異なり(セグメントは既に整列されています、 'readelf -Wl'を参照してください)、*セクション*整列は最終リンクの後では決して重要ではありません。 –

答えて

0

あなたが投稿した問題の原因となるツールは、ld(1)(リンカー)ページを整列させて最終的なプログラムを作成するためのスクリプト言語を説明した完全なマニュアルです。 (マニュアルページではなくldマニュアルを参照しています)

標準のlinuxスクリプトに基づいてミニスクリプトファイルを作成して、*(.text)セグメントを強制的に作成することができますページを整列させ、それを使ってプログラムをリンクします。

関連する問題