ELF Specification


Table of Contents
I. Low Level System Information
1. Machine Interface
Processor Architecture
Data Representation
2. Function Calling Sequence
CPU Registers
Floating Point Registers
Stack Frame
Arguments
Return Values
3. Operating System Interface
Processor Execution Mode
Exception Interface
Signal Delivery
4. Process Initialization
Special Registers
Process Stack (on entry)
Auxiliary Vector
Environment
5. Coding Examples
Code Model Overview/Architecture Constraints
Position-Independent Function Prologue
Data Objects
Function Calls
Branching
6. C Stack Frame
Variable Argument List
Dynamic Allocation of Stack Space
7. Debug Information
II. Object Format
8. ELF Header
Machine Information
9. Sections
Special Sections
Linux Special Sections
Section Types
Section Attribute Flags
Special Section Types
10. Symbol Table
11. Relocation
Relocation Types
III. Program Loading and Dynamic Linking
12. Program Header
Types
Flags
13. Program Loading
14. Dynamic Linking
Program Interpreter/Dynamic Linker
Dynamic Section
Global Offset Table
Shared Object Dependencies
Function Addresses
Procedure Linkage Table
Initialization and Termination Functions
List of Tables
1-1. Scalar Types
4-1. Extra Auxiliary Types
9-1. ELF Special Sections
9-2. Additional Special Sections
List of Figures
4-1. Initial Process Stack