単純な C ファイル:
#include <stdio.h>
int main(){
printf("Hello World");
return 0;
}
を使用してコードをコンパイルした後readelf -a a.out
、エルフ情報は次のとおりです。
質問:
- 2 番目と 3 番目のセグメントの両方の interp セクションのように、いくつかのセクションが異なるセグメントに表示されます。セクションを複数のセグメントに表示するにはどうすればよいですか?
- 2 番目のセグメントのアドレスは 0x8048134 からですが、3 番目の LOAD セグメントは 0x8048000 から始まり、memsize は 0x004d0 です。その後、2 つのセグメントが重なっていますか? メモリ内で 2 つのセグメントがオーバーラップする方法
- プログラム ヘッダーのオフセットと viraddr がページ サイズを法として一致しなければならないのはなぜですか?