ELF Specification


Table of Contents
I. Low Level System Information
1. Machine Interface
1.1. Processor Architecture
1.2. Data Representation
2. Function Calling Sequence
2.1. CPU Registers
2.2. Floating Point Registers
2.3. Stack Frame
2.4. Arguments
2.5. Return Values
3. Operating System Interface
3.1. Virtual Address Space
3.2. Processor Execution Mode
3.3. Exception Interface
3.4. Signal Delivery
4. Process Initialization
4.1. Special Registers
4.2. Process Stack (on entry)
4.3. Auxilliary Vectors
4.4. Environment
5. Coding Examples
5.1. Code Model Overview/Architecture Constraints
5.2. Position-Independent Function Prologue
5.3. Data Objects
5.4. Function Calls
5.5. Branching
6. C Stack Frame
6.1. Variable Argument List
6.2. Dynamic Allocation of Stack Space
7. Debug Information
II. Object Format
8. ELF Header
8.1. Machine Information
9. Special Sections
9.1. Special Sections
10. Symbol Table
11. Relocation
11.1. Relocation Types
III. Program Loading and Dynamic Linking
12. Program Header
12.1. Types
12.2. Flags
13. Program Loading
14. Dynamic Linking
14.1. Dynamic Section
14.2. Global Offset Table
14.3. Shared Object Dependencies
14.4. Function Addresses
14.5. Procedure Linkage Table
14.6. Initialization and Termination Functions
List of Tables
1-1. Scalar Types
9-1. ELF Special Sections
9-2. Additional Special Sections