Skip to main content

Module elf

Module elf 

Source
Expand description

elf.h implementation.

Non-POSIX, see https://www.man7.org/linux/man-pages/man5/elf.5.html.

Structs§

Elf32_Dyn
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Ehdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Nhdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Phdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Rel
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Rela
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Shdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Sym
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf32_Syminfo
Elf32_Verdaux
Elf32_Verdef
Elf32_Verneed
Elf64_Dyn
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Ehdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Move
Elf64_Nhdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Phdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Rel
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Rela
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Shdr
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Sym
See https://www.man7.org/linux/man-pages/man5/elf.5.html.
Elf64_Syminfo
Elf64_Verdaux
Elf64_Verdef
Elf64_Vernaux
Elf64_Verneed
Elf64_auxv_t

Constants§

AT_BASE
AT_BASE_PLATFORM
AT_CLKTCK
AT_DCACHEBSIZE
AT_EGID
AT_ENTRY
AT_EUID
AT_EXECFD
AT_EXECFN
AT_FLAGS
AT_FPUCW
AT_GID
AT_HWCAP
AT_HWCAP2
AT_ICACHEBSIZE
AT_IGNORE
AT_IGNOREPPC
AT_L1D_CACHESHAPE
AT_L1I_CACHESHAPE
AT_L2_CACHESHAPE
AT_L3_CACHESHAPE
AT_NOTELF
AT_NULL
AT_PAGESZ
AT_PHDR
AT_PHENT
AT_PHNUM
AT_PLATFORM
AT_RANDOM
AT_SECURE
AT_SYSINFO
AT_SYSINFO_EHDR
AT_UCACHEBSIZE
AT_UID
DF_1_CONFALT
DF_1_DIRECT
DF_1_DISPRELDNE
DF_1_DISPRELPND
DF_1_EDITED
DF_1_ENDFILTEE
DF_1_GLOBAL
DF_1_GLOBAUDIT
DF_1_GROUP
DF_1_IGNMULDEF
DF_1_INITFIRST
DF_1_INTERPOSE
DF_1_LOADFLTR
DF_1_NODEFLIB
DF_1_NODELETE
DF_1_NODIRECT
DF_1_NODUMP
DF_1_NOHDR
DF_1_NOKSYMS
DF_1_NOOPEN
DF_1_NORELOC
DF_1_NOW
DF_1_ORIGIN
DF_1_SINGLETON
DF_1_SYMINTPOSE
DF_1_TRANS
DF_BIND_NOW
DF_ORIGIN
DF_P1_GROUPPERM
DF_P1_LAZYLOAD
DF_STATIC_TLS
DF_SYMBOLIC
DF_TEXTREL
DTF_1_CONFEXP
DTF_1_PARINIT
DT_ADDRNUM
DT_ADDRRNGLO
DT_AUDIT
DT_AUXILIARY
DT_BIND_NOW
DT_CHECKSUM
DT_CONFIG
DT_DEBUG
DT_DEPAUDIT
DT_ENCODING
DT_EXTRANUM
DT_FEATURE_1
DT_FILTER
DT_FINI
DT_FINI_ARRAY
DT_FINI_ARRAYSZ
DT_FLAGS
DT_FLAGS_1
DT_GNU_CONFLICT
DT_GNU_CONFLICTSZ
DT_GNU_HASH
DT_GNU_LIBLIST
DT_GNU_LIBLISTSZ
DT_GNU_PRELINKED
DT_HASH
DT_HIOS
DT_HIPROC
DT_INIT
DT_INIT_ARRAY
DT_INIT_ARRAYSZ
DT_JMPREL
DT_LOOS
DT_LOPROC
DT_MOVEENT
DT_MOVESZ
DT_MOVETAB
DT_NEEDED
DT_NULL
DT_NUM
DT_PLTGOT
DT_PLTPAD
DT_PLTPADSZ
DT_PLTREL
DT_PLTRELSZ
DT_POSFLAG_1
DT_PREINIT_ARRAY
DT_PREINIT_ARRAYSZ
DT_REL
DT_RELA
DT_RELACOUNT
DT_RELAENT
DT_RELASZ
DT_RELCOUNT
DT_RELENT
DT_RELSZ
DT_RPATH
DT_RUNPATH
DT_SONAME
DT_STRSZ
DT_STRTAB
DT_SYMBOLIC
DT_SYMENT
DT_SYMINENT
DT_SYMINFO
DT_SYMINSZ
DT_SYMTAB
DT_TEXTREL
DT_TLSDESC_GOT
DT_TLSDESC_PLT
DT_VALNUM
DT_VALRNGLO
DT_VERDEF
DT_VERDEFNUM
DT_VERNEED
DT_VERSIONTAGNUM
DT_VERSYM
EI_ABIVERSION
EI_CLASS
EI_DATA
EI_MAG0
EI_MAG1
EI_MAG2
EI_MAG3
EI_NIDENT
EI_OSABI
EI_PAD
EI_VERSION
ELFCLASS32
ELFCLASS64
ELFCLASSNONE
ELFCLASSNUM
ELFDATA2LSB
ELFDATA2MSB
ELFDATANONE
ELFDATANUM
ELFMAG0
ELFMAG1
ELFMAG2
ELFMAG3
ELFOSABI_AIX
ELFOSABI_ARM
ELFOSABI_FREEBSD
ELFOSABI_GNU
ELFOSABI_HPUX
ELFOSABI_IRIX
ELFOSABI_LINUX
ELFOSABI_MODESTO
ELFOSABI_NETBSD
ELFOSABI_NONE
ELFOSABI_OPENBSD
ELFOSABI_SOLARIS
ELFOSABI_STANDALONE
ELFOSABI_SYSV
ELFOSABI_TRU64
ELF_NOTE_ABI
ELF_NOTE_GNU
ELF_NOTE_OS_FREEBSD
ELF_NOTE_OS_GNU
ELF_NOTE_OS_LINUX
ELF_NOTE_OS_SOLARIS2
ELF_NOTE_PAGESIZE_HINT
ELF_NOTE_SOLARIS
EM_68HC05
EM_68HC08
EM_68HC11
EM_68HC12
EM_68HC16
EM_68K
EM_88K
EM_386
EM_860
EM_960
EM_AARCH64
EM_ALPHA
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_500
EM_H8_300H
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_NUM
EM_OR1K
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_ST7
EM_ST9PLUS
EM_ST19
EM_ST100
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
ET_DYN
ET_EXEC
ET_HIOS
ET_HIPROC
ET_LOOS
ET_LOPROC
ET_NONE
ET_NUM
ET_REL
EV_CURRENT
EV_NONE
EV_NUM
GRP_COMDAT
NT_386_IOPERM
NT_386_TLS
NT_ARM_HW_BREAK
NT_ARM_HW_WATCH
NT_ARM_TLS
NT_ARM_VFP
NT_ASRS
NT_AUXV
NT_FILE
NT_FPREGSET
NT_GNU_ABI_TAG
NT_GNU_BUILD_ID
NT_GNU_GOLD_VERSION
NT_GWINDOWS
NT_LWPSINFO
NT_LWPSTATUS
NT_METAG_CBUF
NT_METAG_RPIPE
NT_METAG_TLS
NT_PLATFORM
NT_PPC_SPE
NT_PPC_VMX
NT_PPC_VSX
NT_PRCRED
NT_PRFPXREG
NT_PRPSINFO
NT_PRSTATUS
NT_PRXFPREG
NT_PRXREG
NT_PSINFO
NT_PSTATUS
NT_S390_CTRS
NT_S390_HIGH_GPRS
NT_S390_LAST_BREAK
NT_S390_PREFIX
NT_S390_SYSTEM_CALL
NT_S390_TDB
NT_S390_TIMER
NT_S390_TODCMP
NT_S390_TODPREG
NT_SIGINFO
NT_TASKSTRUCT
NT_UTSNAME
NT_VERSION
NT_X86_XSTATE
PF_MASKOS
PF_MASKPROC
PF_R
PF_W
PF_X
PN_XNUM
PT_DYNAMIC
PT_GNU_EH_FRAME
PT_GNU_RELRO
PT_GNU_STACK
PT_HIOS
PT_HIPROC
PT_HISUNW
PT_INTERP
PT_LOAD
PT_LOOS
PT_LOPROC
PT_LOSUNW
PT_NOTE
PT_NULL
PT_NUM
PT_PHDR
PT_SHLIB
PT_SUNWBSS
PT_SUNWSTACK
PT_TLS
R_AARCH64_ABS16
R_AARCH64_ABS32
R_AARCH64_ABS64
R_AARCH64_ADD_ABS_LO12_NC
R_AARCH64_ADR_GOT_PAGE
R_AARCH64_ADR_PREL_LO21
R_AARCH64_ADR_PREL_PG_HI21
R_AARCH64_ADR_PREL_PG_HI21_NC
R_AARCH64_CALL26
R_AARCH64_CONDBR19
R_AARCH64_COPY
R_AARCH64_GLOB_DAT
R_AARCH64_GOTREL32
R_AARCH64_GOTREL64
R_AARCH64_GOT_LD_PREL19
R_AARCH64_JUMP26
R_AARCH64_JUMP_SLOT
R_AARCH64_LD64_GOTOFF_LO15
R_AARCH64_LD64_GOTPAGE_LO15
R_AARCH64_LD64_GOT_LO12_NC
R_AARCH64_LDST8_ABS_LO12_NC
R_AARCH64_LDST16_ABS_LO12_NC
R_AARCH64_LDST32_ABS_LO12_NC
R_AARCH64_LDST64_ABS_LO12_NC
R_AARCH64_LDST128_ABS_LO12_NC
R_AARCH64_LD_PREL_LO19
R_AARCH64_MOVW_GOTOFF_G0
R_AARCH64_MOVW_GOTOFF_G0_NC
R_AARCH64_MOVW_GOTOFF_G1
R_AARCH64_MOVW_GOTOFF_G2
R_AARCH64_MOVW_GOTOFF_G3
R_AARCH64_MOVW_GOTOFF_G1_NC
R_AARCH64_MOVW_GOTOFF_G2_NC
R_AARCH64_MOVW_PREL_G0
R_AARCH64_MOVW_PREL_G0_NC
R_AARCH64_MOVW_PREL_G1
R_AARCH64_MOVW_PREL_G2
R_AARCH64_MOVW_PREL_G3
R_AARCH64_MOVW_PREL_G1_NC
R_AARCH64_MOVW_PREL_G2_NC
R_AARCH64_MOVW_SABS_G0
R_AARCH64_MOVW_SABS_G1
R_AARCH64_MOVW_SABS_G2
R_AARCH64_MOVW_UABS_G0
R_AARCH64_MOVW_UABS_G0_NC
R_AARCH64_MOVW_UABS_G1
R_AARCH64_MOVW_UABS_G2
R_AARCH64_MOVW_UABS_G3
R_AARCH64_MOVW_UABS_G1_NC
R_AARCH64_MOVW_UABS_G2_NC
R_AARCH64_NONE
R_AARCH64_PREL16
R_AARCH64_PREL32
R_AARCH64_PREL64
R_AARCH64_RELATIVE
R_AARCH64_TLSDESC
R_AARCH64_TLSDESC_ADD
R_AARCH64_TLSDESC_ADD_LO12
R_AARCH64_TLSDESC_ADR_PAGE21
R_AARCH64_TLSDESC_ADR_PREL21
R_AARCH64_TLSDESC_CALL
R_AARCH64_TLSDESC_LD64_LO12
R_AARCH64_TLSDESC_LDR
R_AARCH64_TLSDESC_LD_PREL19
R_AARCH64_TLSDESC_OFF_G0_NC
R_AARCH64_TLSDESC_OFF_G1
R_AARCH64_TLSGD_ADD_LO12_NC
R_AARCH64_TLSGD_ADR_PAGE21
R_AARCH64_TLSGD_ADR_PREL21
R_AARCH64_TLSGD_MOVW_G0_NC
R_AARCH64_TLSGD_MOVW_G1
R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
R_AARCH64_TLSIE_LD_GOTTPREL_PREL19
R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
R_AARCH64_TLSIE_MOVW_GOTTPREL_G1
R_AARCH64_TLSLD_ADD_DTPREL_HI12
R_AARCH64_TLSLD_ADD_DTPREL_LO12
R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
R_AARCH64_TLSLD_ADD_LO12_NC
R_AARCH64_TLSLD_ADR_PAGE21
R_AARCH64_TLSLD_ADR_PREL21
R_AARCH64_TLSLD_LDST8_DTPREL_LO12
R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC
R_AARCH64_TLSLD_LDST16_DTPREL_LO12
R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC
R_AARCH64_TLSLD_LDST32_DTPREL_LO12
R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC
R_AARCH64_TLSLD_LDST64_DTPREL_LO12
R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC
R_AARCH64_TLSLD_LDST128_DTPREL_LO12
R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC
R_AARCH64_TLSLD_LD_PREL19
R_AARCH64_TLSLD_MOVW_DTPREL_G0
R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC
R_AARCH64_TLSLD_MOVW_DTPREL_G1
R_AARCH64_TLSLD_MOVW_DTPREL_G2
R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC
R_AARCH64_TLSLD_MOVW_G0_NC
R_AARCH64_TLSLD_MOVW_G1
R_AARCH64_TLSLE_ADD_TPREL_HI12
R_AARCH64_TLSLE_ADD_TPREL_LO12
R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
R_AARCH64_TLSLE_LDST8_TPREL_LO12
R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
R_AARCH64_TLSLE_LDST16_TPREL_LO12
R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
R_AARCH64_TLSLE_LDST32_TPREL_LO12
R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
R_AARCH64_TLSLE_LDST64_TPREL_LO12
R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
R_AARCH64_TLSLE_LDST128_TPREL_LO12
R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC
R_AARCH64_TLSLE_MOVW_TPREL_G0
R_AARCH64_TLSLE_MOVW_TPREL_G0_NC
R_AARCH64_TLSLE_MOVW_TPREL_G1
R_AARCH64_TLSLE_MOVW_TPREL_G2
R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
R_AARCH64_TLS_DTPMOD64
R_AARCH64_TLS_DTPREL64
R_AARCH64_TLS_TPREL64
R_AARCH64_TSTBR14
R_X86_64_8
R_X86_64_16
R_X86_64_32
R_X86_64_64
R_X86_64_32S
R_X86_64_COPY
R_X86_64_DTPMOD64
R_X86_64_DTPOFF32
R_X86_64_DTPOFF64
R_X86_64_GLOB_DAT
R_X86_64_GOT32
R_X86_64_GOT64
R_X86_64_GOTOFF64
R_X86_64_GOTPC32
R_X86_64_GOTPC64
R_X86_64_GOTPC32_TLSDESC
R_X86_64_GOTPCREL
R_X86_64_GOTPCREL64
R_X86_64_GOTPLT64
R_X86_64_GOTTPOFF
R_X86_64_IRELATIVE
R_X86_64_JUMP_SLOT
R_X86_64_NONE
R_X86_64_NUM
R_X86_64_PC8
R_X86_64_PC16
R_X86_64_PC32
R_X86_64_PC64
R_X86_64_PLT32
R_X86_64_PLTOFF64
R_X86_64_RELATIVE
R_X86_64_RELATIVE64
R_X86_64_SIZE32
R_X86_64_SIZE64
R_X86_64_TLSDESC
R_X86_64_TLSDESC_CALL
R_X86_64_TLSGD
R_X86_64_TLSLD
R_X86_64_TPOFF32
R_X86_64_TPOFF64
SELFMAG
SHF_ALLOC
SHF_EXCLUDE
SHF_EXECINSTR
SHF_GROUP
SHF_INFO_LINK
SHF_LINK_ORDER
SHF_MASKOS
SHF_MASKPROC
SHF_MERGE
SHF_ORDERED
SHF_OS_NONCONFORMING
SHF_STRINGS
SHF_TLS
SHF_WRITE
SHN_ABS
SHN_AFTER
SHN_BEFORE
SHN_COMMON
SHN_HIOS
SHN_HIPROC
SHN_HIRESERVE
SHN_LOOS
SHN_LOPROC
SHN_LORESERVE
SHN_UNDEF
SHN_XINDEX
SHT_CHECKSUM
SHT_DYNAMIC
SHT_DYNSYM
SHT_FINI_ARRAY
SHT_GNU_ATTRIBUTES
SHT_GNU_HASH
SHT_GNU_LIBLIST
SHT_GNU_verdef
SHT_GNU_verneed
SHT_GNU_versym
SHT_GROUP
SHT_HASH
SHT_HIOS
SHT_HIPROC
SHT_HISUNW
SHT_HIUSER
SHT_INIT_ARRAY
SHT_LOOS
SHT_LOPROC
SHT_LOSUNW
SHT_LOUSER
SHT_NOBITS
SHT_NOTE
SHT_NULL
SHT_NUM
SHT_PREINIT_ARRAY
SHT_PROGBITS
SHT_REL
SHT_RELA
SHT_SHLIB
SHT_STRTAB
SHT_SUNW_COMDAT
SHT_SUNW_move
SHT_SUNW_syminfo
SHT_SYMTAB
SHT_SYMTAB_SHNDX
STB_GLOBAL
STB_GNU_UNIQUE
STB_HIOS
STB_HIPROC
STB_LOCAL
STB_LOOS
STB_LOPROC
STB_NUM
STB_WEAK
STN_UNDEF
STT_COMMON
STT_FILE
STT_FUNC
STT_GNU_IFUNC
STT_HIOS
STT_HIPROC
STT_LOOS
STT_LOPROC
STT_NOTYPE
STT_NUM
STT_OBJECT
STT_SECTION
STT_TLS
STV_DEFAULT
STV_HIDDEN
STV_INTERNAL
STV_PROTECTED
SYMINFO_BT_LOWRESERVE
SYMINFO_BT_PARENT
SYMINFO_BT_SELF
SYMINFO_CURRENT
SYMINFO_FLG_COPY
SYMINFO_FLG_DIRECT
SYMINFO_FLG_LAZYLOAD
SYMINFO_FLG_PASSTHRU
SYMINFO_NONE
SYMINFO_NUM
VER_DEF_CURRENT
VER_DEF_NONE
VER_DEF_NUM
VER_FLG_BASE
VER_FLG_WEAK
VER_NDX_ELIMINATE
VER_NDX_GLOBAL
VER_NDX_LOCAL
VER_NDX_LORESERVE
VER_NEED_CURRENT
VER_NEED_NONE
VER_NEED_NUM

Type Aliases§

Elf32_Addr
Elf32_Half
Elf32_Off
Elf32_Section
Elf32_Sword
Elf32_Sxword
Elf32_Versym
Elf32_Word
Elf32_Xword
Elf64_Addr
Elf64_Half
Elf64_Off
Elf64_Section
Elf64_Sword
Elf64_Sxword
Elf64_Versym
Elf64_Word
Elf64_Xword

Unions§

A_UN
Elf32_Dyn_Union
Elf64_Dyn_Union