I Executable and Linkable Format (ELF)

6 downloads 26 Views 201KB Size Report
The Executable and Linking Format was originally developed and published by ... (TIS) has selected the evolving ELF standard as a portable object file format ...
I

Executable and Linkable Format (ELF)

Contents

Preface

1

OBJECT FILES

2

PROGRAM LOADING AND DYNAMIC LINKING

3

C LIBRARY

I

Index

Introduction ELF Header Sections String Table Symbol Table Relocation

1-1 1-3 1-8 1-16 1-17 1-21

Introduction Program Header Program Loading Dynamic Linking

2-1 2-2 2-7 2-10

C Library

3-1

Index

          

I-1

        ! " #$ " &%(')  " +*, *

i

ELF: Executable and Linkable Format

ii

        ! " # " &%(')  " -*, *

          

Figures and Tables

Figure 1-1: Object File Format Figure 1-2: 32-Bit Data Types Figure 1-3: ELF Header Figure 1-4: e_ident[ ] Identification Indexes Figure 1-5: Data Encoding ELFDATA2LSB Figure 1-6: Data Encoding ELFDATA2MSB Figure 1-7: 32-bit Intel Architecture Identification, e_ident Figure 1-8: Special Section Indexes Figure 1-9: Section Header Figure 1-10: Section Types, sh_type Figure 1-11: Section Header Table Entry: Index 0 Figure 1-12: Section Attribute Flags, sh_flags Figure 1-13: sh_link and sh_info Interpretation Figure 1-14: Special Sections Figure 1-15: String Table Indexes Figure 1-16: Symbol Table Entry Figure 1-17: Symbol Binding, ELF32_ST_BIND Figure 1-18: Symbol Types, ELF32_ST_TYPE Figure 1-19: Symbol Table Entry: Index 0 Figure 1-20: Relocation Entries Figure 1-21: Relocatable Fields Figure 1-22: Relocation Types Figure 2-1: Program Header Figure 2-2: Segment Types, p_type Figure 2-3: Note Information Figure 2-4: Example Note Segment Figure 2-5: Executable File Figure 2-6: Program Header Segments Figure 2-7: Process Image Segments Figure 2-8: Example Shared Object Segment Addresses Figure 2-9: Dynamic Structure Figure 2-10: Dynamic Array Tags, d_tag Figure 2-11: Global Offset Table Figure 2-12: Absolute Procedure Linkage Table Figure 2-13: Position-Independent Procedure Linkage Table Figure 2-14: Symbol Hash Table Figure 2-15: Hashing Function Figure 3-1: libc Contents, Names without Synonyms Figure 3-2: libc Contents, Names with Synonyms Figure 3-3: libc Contents, Global External Data Symbols

          

      

1-1 1-2 1-3 1-5 1-6 1-6 1-7 1-8 1-9 1-10 1-11 1-12 1-13 1-13 1-16 1-17 1-18 1-19 1-20 1-21 1-22 1-23 2-2 2-3 2-4 2-5 2-7 2-7 2-8 2-9 2-12 2-12 2-17 2-17 2-18 2-19 2-20 3-1 3-1 3-2

 #! $ " " &%(')  " +*, *

iii

Preface ELF: Executable and Linking Format .0/2143657198;:0=@? AB14=C2DFE0GBC2HIGBC2JLKIM(NOP=198;