Module elf::types [] [src]

Structs

Class

Represents the ELF file class (32-bit vs 64-bit)

Data

Represents the ELF file data format (little-endian vs big-endian)

FileHeader

Encapsulates the contents of the ELF File Header

Machine

Represents the ELF file machine architecture

OSABI

Represents the ELF file OS ABI

ProgFlag

Represents ELF Program Header flags

ProgType

Represents ELF Program Header type

ProgramHeader

Encapsulates the contents of an ELF Program Header

SectionFlag

Wrapper type for SectionFlag

SectionHeader

Encapsulates the contents of an ELF Section Header

SectionType

Represens ELF Section type

Symbol
SymbolBind
SymbolType
SymbolVis
Type

Represents the ELF file type (object, executable, shared lib, core)

Version

Represents the ELF file version

Constants

EI_ABIVERSION

Location of ABI version field in ELF file header ident array

EI_CLASS

Location of ELF class field in ELF file header ident array

EI_DATA

Location of data format field in ELF file header ident array

EI_NIDENT

Length of ELF file header platform-independent identification fields

EI_OSABI

Location of OS ABI field in ELF file header ident array

EI_VERSION

Location of ELF version field in ELF file header ident array

ELFCLASS32

32-bit ELF file

ELFCLASS64

64-bit ELF file

ELFCLASSNONE

Invalid ELF file class

ELFDATA2LSB

little-endian ELF file

ELFDATA2MSB

big-endian ELF file

ELFDATANONE

Invalid ELF data format

ELFMAG0

ELF magic number byte 1

ELFMAG1

ELF magic number byte 2

ELFMAG2

ELF magic number byte 3

ELFMAG3

ELF magic number byte 4

ELFOSABI_AIX

AIX

ELFOSABI_FREEBSD

FreeBSD

ELFOSABI_HPUX

HP-UX

ELFOSABI_IRIX

SGI Irix

ELFOSABI_LINUX

Linux with GNU extensions

ELFOSABI_MODESTO

Novell Modesto

ELFOSABI_NETBSD

NetBSD

ELFOSABI_NONE

Defaults to Unix System V

ELFOSABI_OPENBSD

OpenBSD

ELFOSABI_SOLARIS

Solaris

ELFOSABI_SYSV

Unix System V

ELFOSABI_TRU64

Compaq TRU64 UNIX

EM_386
EM_68HC05
EM_68HC08
EM_68HC11
EM_68HC12
EM_68HC16
EM_68K
EM_860
EM_88K
EM_960
EM_AARCH64
EM_ARC
EM_ARC_A5
EM_ARM
EM_AVR
EM_COLDFIRE
EM_CRIS
EM_D10V
EM_D30V
EM_FAKE_ALPHA
EM_FIREPATH
EM_FR20
EM_FR30
EM_FX66
EM_H8S
EM_H8_300
EM_H8_300H
EM_H8_500
EM_HUANY
EM_IA_64
EM_JAVELIN
EM_M32
EM_M32R
EM_ME16
EM_MICROBLAZE
EM_MIPS
EM_MIPS_RS3_LE
EM_MIPS_X
EM_MMA
EM_MMIX
EM_MN10200
EM_MN10300
EM_NCPU
EM_NDR1
EM_NONE
EM_OPENRISC
EM_PARISC
EM_PCP
EM_PDSP
EM_PJ
EM_PPC
EM_PPC64
EM_PRISM
EM_RCE
EM_RH32
EM_S370
EM_S390
EM_SH
EM_SPARC
EM_SPARC32PLUS
EM_SPARCV9
EM_ST100
EM_ST19
EM_ST7
EM_ST9PLUS
EM_STARCORE
EM_SVX
EM_TILEGX
EM_TILEPRO
EM_TINYJ
EM_TRICORE
EM_V800
EM_V850
EM_VAX
EM_VPP500
EM_X86_64
EM_XTENSA
EM_ZSP
ET_CORE

Core file

ET_DYN

Shared library

ET_EXEC

Executable file

ET_NONE

No file type

ET_REL

Relocatable object file

EV_CURRENT

Current version

EV_NONE

Invalid version

PF_NONE
PF_R

Readable program segment

PF_W

Writable program segment

PF_X

Executable program segment

PT_DYNAMIC

Dynamic linking information

PT_GNU_EH_FRAME

GCC .eh_frame_hdr segment

PT_GNU_RELRO

Read-only after relocation

PT_GNU_STACK

Indicates stack executability

PT_INTERP

Program interpreter

PT_LOAD

Loadable program segment

PT_NOTE

Auxiliary information

PT_NULL

Program header table entry unused

PT_PHDR

The program header table

PT_SHLIB

Unused

PT_TLS

Thread-local storage segment

SHF_ALLOC

Occupies memory during execution

SHF_EXECINSTR

Executable

SHF_GROUP

Section is member of a group

SHF_INFO_LINK

`sh_info' contains SHT index

SHF_LINK_ORDER

Preserve order after combining

SHF_MERGE

Might be merged

SHF_NONE

Empty flags

SHF_OS_NONCONFORMING

Non-standard OS specific handling required

SHF_STRINGS

Contains nul-terminated strings

SHF_TLS

Section hold thread-local data

SHF_WRITE

Writable

SHT_DYNAMIC

Section data contains information for dynamic linking

SHT_DYNSYM

Section data contains a minimal set of dynamic linking symbols

SHT_FINI_ARRAY

Section data contains an array of destructors

SHT_GNU_ATTRIBUTES

Object attributes

SHT_GNU_HASH

GNU-style hash section

SHT_GNU_LIBLIST

Pre-link library list

SHT_GNU_VERDEF

Version definition section

SHT_GNU_VERNEED

Version needs section

SHT_GNU_VERSYM

Version symbol table

SHT_GROUP

Section group

SHT_HASH

Section data contains a symbol hash table. Must be present for dynamic linking

SHT_INIT_ARRAY

Section data contains an array of constructors

SHT_NOBITS

Section data occupies no space in the file but otherwise resembles SHT_PROGBITS

SHT_NOTE

Section data contains information that marks the file in some way

SHT_NULL

Inactive section with undefined values

SHT_NUM

Number of reserved SHT_* values

SHT_PREINIT_ARRAY

Section data contains an array of pre-constructors

SHT_PROGBITS

Information defined by the program, includes executable code and data

SHT_REL

Section data contains relocation entries without explicit addends

SHT_RELA

Section data contains relocation entries with explicit addends

SHT_SHLIB

Section is reserved but has unspecified semantics

SHT_STRTAB

Section data contains a string table

SHT_SYMTAB

Section data contains a symbol table

SHT_SYMTAB_SHNDX

Extended symbol table section index

STB_GLOBAL

Global symbol

STB_GNU_UNIQUE

Unique symbol

STB_LOCAL

Local symbol

STB_WEAK

Weak symbol

STT_COMMON

Common data object symbol

STT_FILE

File name symbol

STT_FUNC

Code object symbol

STT_GNU_IFUNC

Indirect code object symbol

STT_NOTYPE

Unspecified symbol type

STT_OBJECT

Data object symbol

STT_SECTION

Section symbol

STT_TLS

Thread-local data object symbol

STV_DEFAULT

Default symbol visibility

STV_HIDDEN

Hidden visibility

STV_INTERNAL

Processor-specific hidden visibility

STV_PROTECTED

Protected visibility