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. Registers
2.2. Stack Frame
2.3. Parameter Passing
2.4. Variable Argument Lists
2.5. Return Values
3. Operating System Interface
3.1. Virtual Address Space
3.2. Page Size
3.3. Virtual Address Assignments
3.4. Managing the Process Stack
3.5. Coding Guidelines
3.6. Processor Execution Mode
3.7. Exception Interface
3.8. Signal Delivery
4. Process Initialization
4.1. Registers
4.2. Process Stack
5. Coding Examples
5.1. Code Model Overview
5.2. Function Prolog and Epilog
5.3. Profiling
5.4. Data Objects
5.5. Function Calls
5.6. Dynamic Stack Space Allocation
6. Debug Information
II. Object Format
7. ELF Header
7.1. Machine Information
8. Sections
8.1. Special Sections
8.2. Linux Special Sections
9. Symbol Table
10. Relocation
10.1. Relocation Types
III. Program Loading and Dynamic Linking
11. Program Loading
12. Dynamic Linking
12.1. Dynamic Section
12.2. Global Offset Table
12.3. Function Addresses
12.4. Procedure Linkage Table
List of Tables
8-1. ELF Special Sections
8-2. Additional Special Sections