[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

elfに関するkanbayashiのブックマーク (2)

  • Omicron ELF

    Executable and Linking Format 伝統的な a.out 形式や初期の SVR で採用されていた COFF 形式に代わり,Unix 系 OS で標準になっているオブジェクトモジュールフォーマット.コアファイルもELF形式になっている. ダイナミックリンクや C++ (初期化/終了処理)に対するサポート ELF ファイルは下図に示すような二重性を持つ.コンパイラ,リンカは ELF ファイルをセクションヘッダテーブルで定義されたセクションの集合として扱う.一方,ローダはプログラムヘッダテーブルで定義されたセグメントの集合として扱う. そしてセグメントは複数のセクションの集合である. ELF ファイルには再配置可能ファイル,実行可能ファイル,共有オブジェクトファイル(共有ライブラリ)の 3 種類が存在するが,再配置可能ファイルにはセクションヘッダテーブルだけが,実行可能フ

  • GCCが出力した小さなバイナリからsection headerを除去したりする話 - memologue

    Binary Hacks に、「インラインアセンブラをちょっとだけ使って、gccに小さなhello worldバイナリを出力させる」というネタを書きました(Hack #25: glibcを使わないでHello Worldを書く)。その補足という訳でもないのですが、先日shinh先生と焼肉などべておりましたところ、セクションヘッダを削ってサイズ縮小する話は紹介してもよかったんじゃまいかとツッコミをいただきましたので、(あまり親切な記述ではないですが)書いてみます。「gccにコードを吐かせる」「アセンブリ言語部分にあまり凝らない」という条件で、132バイトまで削ります(書籍だと488バイト)。 えー、hello world なソースコード(末尾に添付)を次のようにコンパイルして*1、 % gcc -m32 -Os -fno-builtin -fomit-frame-pointer -fno-

    GCCが出力した小さなバイナリからsection headerを除去したりする話 - memologue
  • 1