FACTOID # 18: Sick of crowds? Move to Greenland! Greenlanders have 38 square kilometres of land per person.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Executable and Linkable Format
ELF
Filename extension none, .o, .so, .elf
Developed by Unix System Laboratories
Type of format Binary, executable, object, shared libraries, core dump

In computing, the Executable and Linking Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Application Binary Interface specification,[1] and later in the Tool Interface Standard,[2] it was quickly accepted among different vendors of Unix systems. In 1999 it was chosen as the standard binary file format for Unix and Unix-like systems on x86 by the 86open project. A filename extension is a suffix to the name of a computer file applied to indicate its type. ... UNIX Systems Laboratories or USL was originally organized as part of Bell Labs in 1989. ... A Hexdump of a JPEG image. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ... In computer science, a library is a collection of subprograms used to develop software. ... A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). ... For the formal concept of computation, see computation. ... A file format is a particular way to encode information for storage in a computer file. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ... In computer science, a library is a collection of subprograms used to develop software. ... A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). ... AT&T UNIX System V was one of the versions of the UNIX operating system. ... In computer software, an application binary interface (ABI) describes the low-level interface between an application program and the operating system, between an application and its libraries, or between component parts of the application. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®, sometimes also written as or ® with small caps) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... Events of 2008: (EMILY) Me Lesley and MIley are going to China! This article is about the year. ... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... In computing, 86open was a project to form consensus on a common binary file format for Unix and Unix-like operating systems on the common PC compatible x86 architecture, so as to encourage software developers to port to the architecture. ...


Unlike many other proprietary executable file formats, ELF is very flexible and extensible, and it is not bound to any particular processor or architecture. This has allowed it to be adopted by many different operating systems on many different platforms.


Today the ELF format has replaced older executable formats such as a.out and COFF in many Unix-like operating systems such as: Linux, Solaris, IRIX, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, Syllable and HP-UX (except for 32-bit PA-RISC programs which continue to use SOM). ELF has also seen some adoption in non-Unix operating systems, such as the Itanium version of OpenVMS, and BeOS Revision 4 and later for x86 based computers (where it replaced the Portable Executable format, the PowerPC version stayed with Preferred Executable Format). The PlayStation Portable, PlayStation 2, PlayStation 3, Wii and GP2X consoles also use ELF and the Nintendo DS and Nintendo GameCube consoles use ELF variants as their executable file format. AmigaOS 4.0 and MorphOS also running on PowerPC machines, use ELF. On the Amiga platform the ELF executable has replaced the previous EHF (Extended Hunk Format) which was used on Amigas equipped with PPC processor expansion cards. The Symbian OS v9 uses E32Image[3] format that is based on ELF file format. a. ... The Common Object File Format (COFF) is an object file format that was introduced in Unix System V Release 3, and was later adopted by Microsoft for Windows NT. It was superseded by the more powerful ELF in System V Release 4, but as of 2005, COFF is still used... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... This article is about operating systems that use the Linux kernel. ... The Solaris Operating System, usually known simply as Solaris, is a free Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS. Solaris is known for its scalability, especially on SPARC systems, as well for being the origin for many innovative features such as DTrace... IRIX is a computer operating system developed by Silicon Graphics, Inc. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ... NetBSD is a freely redistributable, open source version of the Unix-like BSD computer operating system. ... OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution (BSD), a Unix derivative developed at the University of California, Berkeley. ... DragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4. ... HP-UX (Hewlett Packard UniX) is Hewlett-Packards proprietary implementation of the Unix operating system, based on System V (initially System III). ... OpenVMS[1] (Open Virtual Memory System or just VMS) is the name of a high-end computer server operating system that runs on the VAX[2] and Alpha[3] family of computers developed by Digital Equipment Corporation of Maynard, Massachusetts (DIGITAL was then purchased by Compaq, and is now owned... BeOS is an operating system for personal computers which began development by Be Inc. ... Intel Pentium 4 (Northwood version), one example out of a huge number of x86 implementations from Intel, AMD, and others. ... The Portable Executable (PE) format is a file format for executables, object code, and DLLs, used in 32-bit and 64-bit versions of Windows operating systems. ... PowerPC is a RISC microprocessor architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM. Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high-performance processors as well. ... The Preferred Executable Format is a file format that specifies the format of executable files and other object code. ... The PlayStation Portable (officially abbreviated PSP)[5] is a handheld game console manufactured and marketed by Sony Computer Entertainment. ... PS2 redirects here. ... The PlayStation 3 , trademarked PLAYSTATION®3,[3] commonly abbreviated PS3) is the third home video game console produced by Sony Computer Entertainment; successor to the PlayStation 2. ... The Wii (pronounced as the pronoun we, IPA: ) is the fifth home video game console released by Nintendo. ... The GP2X is an open-source, Linux-based handheld video game console and media player created and sold by GamePark Holdings of South Korea. ... The Nintendo DS (sometimes abbreviated NDS or more commonly DS) is a handheld game console developed and manufactured by Nintendo. ... The Nintendo GameCube ), often abbreviated as GCN, is Nintendos fourth home video game console and is part of the sixth generation era. ... There have been many different versions of the AmigaOS operating system during its two decades of history. ... MorphOS is a mixed proprietary and open source operating system produced for the Pegasos PowerPC (PPC)-processor-based computer, most models of PPC-accelerated classic Amiga computers, and the EFIKA PPC consumer device. ... Hunk is the executable file format of tools and programs of AmigaOS Classic Operating System (up to AmigaOS 3. ... Symbian OS is a proprietary operating system, designed for mobile devices, with associated libraries, user interface frameworks and reference implementations of common tools, produced by Symbian Ltd. ...


Most Sony Ericsson (for example, the w800i,w610,k790 etc), some Siemens (SGOLD and SGOLD2 platforms: from Siemens C65 to S75 and BenQ-Siemens E71/EL71) and Motorola (for example, the E398, SLVR L7, v360, v3i and all phone LTE2 which has the patch apply) phones can run ELF files through the use of a patch that adds assembly code to the main firmware (Known as the ELFPack, in the underground modding culture). For an arrangement of Sony Ericsson products, see list of Sony Ericsson products Sony Ericsson is a joint venture established in 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to make mobile phones. ... Siemens has the following uses: Siemens is a German family name carried by generations of the telecommunications industrialists, including Werner von Siemens, Sir William Siemens, Wilhelm von Siemens and Peter von Siemens Siemens AG is a German electrical and telecommunications company, founded as a telegraph equipment manufacturer by Werner von... Motorola Inc. ... In computing, a patch is a small piece of software designed to update or fix problems with a computer program or its supporting data. ... An assembly language is a low-level language for programming computers. ... A microcontroller, like this PIC18F8720 is controlled by firmware stored inside on FLASH memory In computing, firmware is a computer program that is embedded in a hardware device, for example a microcontroller. ... Modding is a slang expression that is derived from the verb, modify, and the noun, modification. The term can refer to the act of modifying a piece of hardware or software to perform a function not intended by someone with legal rights concerning that modification. ...


The ELF file format is also used as a generic object and executable format for binary images used with embedded processors[citation needed].

Contents

ELF file layout

An ELF file has two views: the program header shows the segments used at run-time, while the section header lists the set of sections of the binary.
An ELF file has two views: the program header shows the segments used at run-time, while the section header lists the set of sections of the binary.

Each ELF file is made up of one ELF header, followed by file data. The file data can include:

  • Program header table, describing zero or more segments
  • Section header table, describing zero or more sections
  • Data referred to by entries in the program or section header table

The segments contain information that is necessary for runtime execution of the file, while sections contain important data for linking and relocation. Each byte in the entire file is taken by no more than one section at a time, but there can be orphan bytes, which are not covered by a section. In the normal case of a Unix executable one or more sections are enclosed in one segment.


Tools

  • readelf is a Unix binary utility that displays information about one or more ELF files. A GPL implementation is provided by GNU Binutils.
  • elfdump is a Solaris command for viewing ELF information in an elf file.
  • objdump provides a wide range of information about ELF files and other object formats.

GPL redirects here. ... The GNU Binutils is a collection of programming tools developed by the Free Software Foundation for the manipulation of object code in various object file formats. ... objdump is a program for displaying various information about object files. ...

Specifications

AMD64 Logo AMD64 (also x86-64 or x64) is a 64-bit microprocessor architecture and corresponding instruction set designed by Advanced Micro Devices. ... The ARM architecture (previously, the Advanced RISC Machine, and prior to that Acorn RISC Machine) is a 32-bit RISC processor architecture developed by ARM Limited that is widely used in a number of embedded designs. ... ... In computing, IA-64 (Instruction Architecture-64) is a 64-bit processor architecture developed in cooperation by Intel and Hewlett-Packard for processors such as Itanium and Itanium 2. ... The Renesas M32R is a 32-bit embedded RISC microcontroller originally developed and manufactured by Mitsubishi Electric Corporation, succeeded by a FPGA-implemented MMUed M32R variant named mappi which runs Debian/GNU Linux, and is supported by the GNU Compiler Collection. ... A MIPS R4400 microprocessor made by Toshiba. ... Motorola 6800 Microprocessor The 6800 is a microprocessor produced by Motorola and released shortly after the Intel 8080 in 1975. ... PA-RISC is a microprocessor architecture developed by Hewlett-Packards Systems & VLSI Technology Operation. ... PowerPC is a RISC microprocessor architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM. Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high-performance processors as well. ... Sun UltraSPARC II Microprocessor Sun UltraSPARC T1 (Niagara 8 Core) SPARC (Scalable Processor Architecture) is a RISC microprocessor instruction set architecture originally designed in 1985 by Sun Microsystems. ... The title given to this article is incorrect due to technical limitations. ... Since December, 2001, IBM designates all its mainframes with the name eServer zSeries, with the e depicted in IBMs well-known red trademarked symbol. ...

See also

The Portable Executable (PE) format is a file format for executables, object code, and DLLs, used in 32-bit and 64-bit versions of Windows operating systems. ... This article is about the mythical creature. ... Mach-O, short for Mach object file format, is a file format for executables and object code. ...

References

  1. ^ System V Application Binary Interface Edition 4.1 (1997-03-18)
  2. ^ Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 (May 1995)
  3. ^ Symbian OS executable file format
  4. ^ Application Binary Interface (ABI) for the ARM Architecture

Further reading

John R. Levine is an Internet consultant specializing in email infrastructure, spam filtering, and software patents. ... Ulrich Drepper is the lead contributor and maintainer of the GNUs C standard library project, Glibc. ... Year 2006 (MMVI) was a common year starting on Sunday of the Gregorian calendar. ... is the 232nd day of the year (233rd in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) was a common year starting on Monday of the Gregorian calendar in the 21st century. ... is the 171st day of the year (172nd in leap years) in the Gregorian calendar. ...

External links


  Results from FactBites:
 
LibElf and GElf - A Library to Manipulate ELf Files (1184 words)
Executable and Linkable Format is a portable object file format supported by most UNIX®; vendors.
ELF helps developers by providing a set of binary interface definitions that are cross-platform, and by making it easier for tool vendors to port to multiple platforms.
ELF objects that are not executable (that is
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.