Executable and Linkable Format

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(created page)
 
(Add File command to Software, which can be used to identify the type of executable.)
 
(19 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''ELF''', Executable and Linkable Format, is an executable file format.  
+
{{FormatInfo
 +
|formattype=electronic
 +
|subcat=Executables
 +
|pronom={{PRONOM|fmt/688}}, {{PRONOM|fmt/689}}, {{PRONOM|fmt/690}}, {{PRONOM|fmt/691}}
 +
|kaitai struct=elf
 +
|extensions={{noext}}, {{ext|elf}}, {{ext|o}}, {{ext|ko}}, {{ext|so}}, {{ext|mod}}
 +
}}
 +
'''Executable and Linkable Format''' ('''ELF''') is a file format used for executables, shared (dynamically linked) libraries, object code and [[core dump]]s.
  
[https://en.wikipedia.org/wiki/Executable_and_Linkable_Format The Wikipedia article] has a long list of links to various specifications.
+
[[Wikipedia:Executable and Linkable Format|The Wikipedia article]] has a long list of links to various specifications.
 +
 
 +
== Format info ==
 +
* [http://imgur.com/a/MtQZv#0 Graphic showing header structure]
 +
* {{manpage|5|elf}}
 +
 
 +
== Software ==
 +
* [https://www.gnu.org/software/binutils/ GNU Binutils] → objdump
 +
* [https://www.gnu.org/software/binutils/ GNU Binutils] → nm (used for reading symbols)
 +
* [https://www.gnu.org/software/libc/ GNU C Library] → ldd (prints shared object dependencies)
 +
* [https://www.gnu.org/software/binutils/ GNU Binutils] → readelf
 +
* [[File command]] (could also be used to identify the type of executable)
 +
* elfdump (Available in certain *BSD flavors<ref>[https://forums.freebsd.org/threads/type-o-files-how-does-one-edit.40500/post-224795 Post #8 by kpa of "Type *.o files. How does one edit?" - FreeBSD forums]</ref><ref>[https://sourceforge.net/projects/elfdump/ elfdump - SourceForge project page]</ref> and Solaris<ref>[https://docs.oracle.com/cd/E23823_01/html/816-5165/elfdump-1.html Synopsis - man pages section 1: User Commands - Oracle Docs]</ref>)
 +
 
 +
== Sample files ==
 +
=== <code>.so</code> or shared object ===
 +
See [https://discmaster.textfiles.com/search?mode=deep&extension=so&family=executable&format=elf Search results for extension "so", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com] for a huge list of sample files.
 +
 
 +
=== <code>.ko</code> or kernel object ===
 +
See [https://discmaster.textfiles.com/search?mode=deep&extension=ko&family=executable&format=elf Search results for extension "ko", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com] for a huge list of sample files.
 +
 
 +
== Links ==
 +
* [[Wikipedia: Executable and Linkable Format]]
 +
** [[Wikipedia: DWARF|Debugging With Arbitrary Record Formats (DWARF) on Wikipedia]] - a debugging data format that was designed along with Executable and Linkable Format (ELF)
 +
* [https://github.com/corkami/pics/blob/master/ELF101.png ELF101 - a Linux executable walkthrough]
 +
* [https://onedrive.live.com/view.aspx?resid=EBE7DEDA70D06DA0!107&app=PowerPoint&authkey=!AD-O3oq3Ung7pzk Hacking GCN via OpenGL (it's got an ELF in it)]
 +
* [http://www.cirosantilli.com/elf-hello-world/ ELF Hello World Tutorial]
 +
 
 +
== References ==
 +
<references/>

Latest revision as of 00:39, 10 August 2025

File Format
Name Executable and Linkable Format
Ontology
Extension(s) (none), .elf, .o, .ko, .so, .mod
PRONOM fmt/688, fmt/689, fmt/690, fmt/691
Kaitai Struct Spec elf.ksy

Executable and Linkable Format (ELF) is a file format used for executables, shared (dynamically linked) libraries, object code and core dumps.

The Wikipedia article has a long list of links to various specifications.

Contents

 [hide

[edit] Format info

[edit] Software

[edit] Sample files

[edit] .so or shared object

See Search results for extension "so", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com for a huge list of sample files.

[edit] .ko or kernel object

See Search results for extension "ko", that also belongs to the executable family, and is also ELF format - Discmaster.textfiles.com for a huge list of sample files.

[edit] Links

[edit] References

  1. Post #8 by kpa of "Type *.o files. How does one edit?" - FreeBSD forums
  2. elfdump - SourceForge project page
  3. Synopsis - man pages section 1: User Commands - Oracle Docs
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox