- •ABOUT THIS DOCUMENT
- •Change control
- •Current status and anticipated changes
- •Change history
- •References
- •Terms and abbreviations
- •SCOPE
- •GENERIC 32-BIT ELF
- •Introduction
- •File Format
- •Data Representation
- •Character Representations
- •ELF Header
- •ELF Identification
- •Sections
- •Special Sections
- •String Table
- •Symbol Table
- •Symbol Values
- •Relocation
- •Program view
- •Program Header
- •Note Section
- •Program Loading
- •Dynamic Linking
- •Special Sections Names
- •Pre-existing Extensions
- •ELF header
- •Entry points
- •Section names
- •Section headers
- •Common sections
- •Section alignment
- •Link and info fields
- •Symbols
- •Symbol value
- •Symbol size
- •Weak symbols
- •Symbol names
- •Sub-class and super-class symbols
- •Function address constants and pointers to code
- •Mapping and tagging symbols
- •Mapping symbols
- •Tagging symbols
- •Symbol table order
- •Dynamic symbol table entries
- •Relocation types
- •Dynamic relocation types
- •Multiple relocation
- •Field extraction and insertion
- •Relocations that depend on the type of the target location
- •Program headers
- •Dynamic linking and relocation
- •The dynamic segment
- •The dynamic segment program header
- •The dynamic section
- •DT_SYMBOLIC
- •The hash table section
ARM ELF
2 SCOPE
This specification defines ARM Executable and Linking Format (ARM ELF). It follows the essential structure of the Tool Interface Standards (TIS) Committee’s version 1.2 specification of ELF (TIS-ELF). TIS-ELF is divided into three major sections that TIS-ELF calls books:
Book 1 defines generic, 32-bit ELF. All users of 32-bit ELF use the definitions given in book 1. Section 3 of this specification reproduces the content of book 1 of TIS-ELF (Copyright Tool Interface Standards Committee 1995), with a few editorial corrections and clarifications, but no intentional change of content.
Book 2 defines processor specifics, the definitions used by all users of ELF for a given processor (in the case of TIS-ELF, for the Intel x86 architecture).
Book 3 defines operating system specifics (in the case of TIS-ELF, for Unix System V.4 for x86).
Section 4 of this specification covers the material of books 2 and 3 of TIS-ELF. It includes:
ARMand Thumb-specific definitions needed by all users of ARM ELF.
ARMand Thumb-specific definitions relating to the ARM Embedded Applications Binary Interface (EABI).
The ARM EABI underlies many ARMand Thumb-based operating environments that follow the single addressspace model.
Some operating systems—especially those founded on multiple virtual address spaces—define their own conventions for using ARM ELF—especially in relation to shared objects and dynamic linking. These OS-specific definitions extend section 4 of this specification.
SWS ESPC 0003 B-02 |
Page 5 of 42 |
