SLAA534A June 2013 – June 2020
The ELF header provides a number of fields that guide interpretation of the file. Most of these are specified in the System V ELF specification. This section augments the base standard with specific details for the MSP430.
e_indent
The 16-byte ELF identification field identifies the file as an object file and provides machine-independent data with which to decode and interpret the file's contents. Table 11-2 specifies the values to be used for MSP430 object files.
Index | Symbolic Value | Numeric Value | Comments |
---|---|---|---|
EI_MAG0 | 0x7f | Per System V ABI | |
EI_MAG1 | E | Per System V ABI | |
EI_MAG2 | L | Per System V ABI | |
EI_MAG3 | F | Per System V ABI | |
EI_CLASS | ELFCLASS32 | 1 | 32-bit ELF |
EI_DATA | ELFDATA2LSB | 1 | Little-endian |
EI_VERSION | EV_CURRENT | 1 | |
EI_ABIVERSION | 0 |
The EI_OSABI field shall be ELFOSABI_NONE unless overridden by the conventions of a specific platform. No platforms for the MSP family override the default setting of the EI_OSABI field; its value is always ELFOSABI_NONE.
e_type
There are currently no MSP430-specific object file types. All values between ET_LOPROC and ET_HIPROC are reserved to future revisions of this specification.
e_machine
An object file conforming to this specification must have the value EM_MSP430 (105, 0x69).
e_entry
The base ELF specification requires this field to be zero if an application does not have an entry point. Nonetheless, some applications may require an entry point of zero (for example, via the reset vector).
A platform standard may specify that an executable file always has an entry point, in which case e_entry specifies that entry point, even if zero.
e_flags
This member holds processor-specific flags associated with the file. There are no MSP430-specific flags for e_flags field.