Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ARM ELF specification.pdf
Скачиваний:
37
Добавлен:
23.08.2013
Размер:
281.27 Кб
Скачать

ARM ELF

4 ARMAND THUMB-SPECIFIC DEFINITIONS

4.1 ELF header

The following tables summarize the ELF header field values specific to the ARM EABI.

Figure 4-1, ARM-specific machine and ident fields

Field

Value and meaning

 

 

 

e_ident[EI_CLASS]

ELFCLASS32—ARM and Thumb processors use 32-bit ELF.

 

 

 

e_ident[EI_DATA]

ELFDATA2LSB

when the execution environment is little-endian.

 

ELFDATA2MSB

when the execution environment is big-endian.

 

(see the note immediately below).

 

 

 

e_machine

EM_ARM (decimal 40).

 

 

 

 

Note The byte order of all data in an ARM ELF file is the byte order of data in the target execution environment, even if that data will only be consumed in the host (static linker) execution environment. The target byte order may differ from the host byte order.

Figure 4-2, ARM-specific e_flags

Field

 

Value

 

Meaning

 

 

 

 

 

e_flags

EF_ARM_HASENTRY

 

e_entry contains a program-loader entry point (see section

 

 

(0x02)

 

4.1.1, Entry points, below).

 

 

 

 

 

 

EF_ARM_SYMSARESORTED

 

Each subsection of the symbol table is sorted by symbol value

 

 

(0x04)

 

(see section 4.4.8, Symbol table order, below)

 

 

 

 

 

 

EF_ARM_DYNSYMSUSESEGIDX

 

Symbols in dynamic symbol tables that are defined in sections

 

 

(0x8)

 

included in program segment n have st_shndx = n + 1. (see

 

 

 

 

section 4.4.9, Dynamic symbol table entries, below).

 

 

 

 

 

 

EF_ARM_MAPSYMSFIRST

 

Mapping symbols precede other local symbols in the symbol

 

 

(0x10)

 

table (see section 4.4.8, Symbol table order, below).

 

 

 

 

 

 

EF_ARM_EABIMASK

 

This masks an 8-bit version number, the version of the ARM

 

(0xFF000000)

 

EABI to which this ELF file conforms. This EABI is version 2. A

 

(current version is 0x02000000)

 

value of 0 denotes unknown conformance.

 

 

 

 

 

Figure 4-3, Interpretation of the entry point

 

 

 

 

 

Field

 

Value and meaning

 

 

 

 

e_entry

 

In an executable ELF file, e_entry is the virtual address of the image’s unique entry

(see section 4.1.1,

point, or 0 if the image does not have a unique entry point.

In a re-locatable ELF file, e_entry is the offset of the entry point in the section flagged

Entry points, below).

 

 

by SHF_ENTRYSECT or 0 if there is no entry point.

 

 

 

 

 

SWS ESPC 0003 B-02

Page 27 of 42