Executable and Linkable Format
From Just Solve the File Format Problem
				
								
				(Difference between revisions)
				
																
				
				
								
				|  (Provide links to sample files available on discmaster.textfiles.com. Provide more software used for analyzing ELF files and references. Add Wikipedia page on DWARF in links.) |  (Add File command to Software, which can be used to identify the type of executable.) | ||
| Line 19: | Line 19: | ||
| * [https://www.gnu.org/software/libc/ GNU C Library] → ldd (prints shared object dependencies) | * [https://www.gnu.org/software/libc/ GNU C Library] → ldd (prints shared object dependencies) | ||
| * [https://www.gnu.org/software/binutils/ GNU Binutils] → readelf | * [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>) | * 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>) | ||
Latest revision as of 00:39, 10 August 2025
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 | 
[edit] Format info
[edit] Software
- GNU Binutils → objdump
- GNU Binutils → nm (used for reading symbols)
- GNU C Library → ldd (prints shared object dependencies)
- GNU Binutils → readelf
- File command (could also be used to identify the type of executable)
- elfdump (Available in certain *BSD flavors[1][2] and Solaris[3])
[edit] Sample files
[edit]
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
-  Wikipedia: Executable and Linkable Format
- Debugging With Arbitrary Record Formats (DWARF) on Wikipedia - a debugging data format that was designed along with Executable and Linkable Format (ELF)
 
- ELF101 - a Linux executable walkthrough
- Hacking GCN via OpenGL (it's got an ELF in it)
- ELF Hello World Tutorial

