Difference between revisions of "ELF"

From LinuxMIPS
Jump to: navigation, search
(wikipedia link)
(LSB Archive)
Line 1: Line 1:
'''ELF''' is the abreviation for ''Execute and Link Format'' and is the binary format used by most Linux and UNIX systems today. Originally invented for the System V the format has superceeded prior binary formats such as [[a.out]] and [[ECOFF]] and is today's defacto standard binary format. Linux/MIPS uses the GNU ELF variant supported by GNU Binutils.
+
'''ELF''' is the abreviation for ''Execute and Link Format'' and is the binary format used by most Linux and UNIX systems today. Originally invented for the System V the format has superceeded prior binary formats such as [[a.out]] and [[ECOFF]] and is today's defacto standard binary format. Linux/MIPS uses the GNU ELF variant supported by GNU Binutils.
  
 
== ABI ELF ==
 
== ABI ELF ==
inside binutils also known as trad-elf or by the full name of the ELF variants as elf32-tradbigmips, elf32-tradlittlemips, elf32-ntradbigmips, elf64-tradbigmips, elf32-ntradlittlemips or elf64-tradlittlemips is what Linux/MIPS is using.
+
inside binutils also known as trad-elf or by the full name of the ELF variants as elf32-tradbigmips, elf32-tradlittlemips, elf32-ntradbigmips, elf64-tradbigmips, elf32-ntradlittlemips or elf64-tradlittlemips is what Linux/MIPS is using. See [[MIPSABIHistory|MIPS ABI History]] for details.
  
 
== IRIX ELF ==
 
== IRIX ELF ==
Line 16: Line 16:
  
 
== External links ==
 
== External links ==
[[Wikipedia:Executable_and_Linkable_Format | ELF]] at Wikipedia
+
* [[Wikipedia:Executable_and_Linkable_Format | ELF]] at Wikipedia
 +
* [http://refspecs.freestandards.org/lsb.shtml Linux Standard Base] archive, ELF Specifications and Linux extensions

Revision as of 17:35, 23 February 2006

ELF is the abreviation for Execute and Link Format and is the binary format used by most Linux and UNIX systems today. Originally invented for the System V the format has superceeded prior binary formats such as a.out and ECOFF and is today's defacto standard binary format. Linux/MIPS uses the GNU ELF variant supported by GNU Binutils.

ABI ELF

inside binutils also known as trad-elf or by the full name of the ELF variants as elf32-tradbigmips, elf32-tradlittlemips, elf32-ntradbigmips, elf64-tradbigmips, elf32-ntradlittlemips or elf64-tradlittlemips is what Linux/MIPS is using. See MIPS ABI History for details.

IRIX ELF

Old binutils used to default to IRIX ELF instead of ABI ELF. IRIX ELF has a number of subtle differences to ABI ELF. In general these don't cause any problems however modutils for Linux 2.4 and older kernels assume ABI ELF and as the result may throw error messages as the following:

somemodule.o: local symbol gcc2_compiled. with index 10 exceeds local_symtab_size 10
somemodule.o: local symbol __gnu_compiled_c with index 11 exceeds local_symtab_size 10
somemodule.o: local symbol __module_kernel_version with index 12 exceeds local_symtab_size 10

If you get these, it's really time to upgrade to newer binutils.

External links