| 拡張子 |
なし、.o、.so、.elf、 .app、.bin、.ko |
|---|---|
| マジック ナンバー | 0x7f ELF |
| 開発者 | UNIX Systems Laboratories |
| 種別 | バイナリ、実行可能、オブジェクト、共有ライブラリ、コアダンプ |
Executable and Linkable Format (ELF) は、プログラムの実行ファイルおよびオブジェクトファイルを保存するためのバイナリファイル形式である。Unix系オペレーティングシステムの標準的な実行形式としてSystem Vにより導入され、従来のa.outフォーマットやCOFFに代わる形式として広く採用された。
現在は LinuxやBSD系OS、ならびに組み込みシステムの開発環境などで、プログラムやライブラリの生成・配布・読み込みに利用されている。内部を用途別の領域に分割して管理する構造を持ち、動的リンクや再配置、非連続なメモリ配置に対応できる柔軟性を備える点を特徴とする。
ELFには以下の3種類のヘッダがある。

共有ライブラリにも対応しており、しかるべき属性のセグメント内にある、Procedure Location Tableや、Global Offset Tableを利用して、間接的に参照することになる。
デバッグ情報のフォーマットは定義されていないが、ELF(妖精)をもじったDebug With Arbitrary Record Format略してDWARF(小人)と呼ばれる形式のフォーマットがよく使われる。
elf(5) – JM Project Linux File Formats マニュアル