LLVM  6.0.0svn
Classes | Typedefs | Enumerations | Functions | Variables
llvm::ELF Namespace Reference

Classes

struct  Elf32_Chdr
 
struct  Elf32_Dyn
 
struct  Elf32_Ehdr
 
struct  Elf32_Phdr
 
struct  Elf32_Rel
 
struct  Elf32_Rela
 
struct  Elf32_Shdr
 
struct  Elf32_Sym
 
struct  Elf64_Chdr
 
struct  Elf64_Dyn
 
struct  Elf64_Ehdr
 
struct  Elf64_Phdr
 
struct  Elf64_Rel
 
struct  Elf64_Rela
 
struct  Elf64_Shdr
 
struct  Elf64_Sym
 

Typedefs

using Elf32_Addr = uint32_t
 
using Elf32_Off = uint32_t
 
using Elf32_Half = uint16_t
 
using Elf32_Word = uint32_t
 
using Elf32_Sword = int32_t
 
using Elf64_Addr = uint64_t
 
using Elf64_Off = uint64_t
 
using Elf64_Half = uint16_t
 
using Elf64_Word = uint32_t
 
using Elf64_Sword = int32_t
 
using Elf64_Xword = uint64_t
 
using Elf64_Sxword = int64_t
 

Enumerations

enum  {
  EI_MAG0 = 0, EI_MAG1 = 1, EI_MAG2 = 2, EI_MAG3 = 3,
  EI_CLASS = 4, EI_DATA = 5, EI_VERSION = 6, EI_OSABI = 7,
  EI_ABIVERSION = 8, EI_PAD = 9, EI_NIDENT = 16
}
 
enum  {
  ET_NONE = 0, ET_REL = 1, ET_EXEC = 2, ET_DYN = 3,
  ET_CORE = 4, ET_LOPROC = 0xff00, ET_HIPROC = 0xffff
}
 
enum  { EV_NONE = 0, EV_CURRENT = 1 }
 
enum  {
  EM_NONE = 0, EM_M32 = 1, EM_SPARC = 2, EM_386 = 3,
  EM_68K = 4, EM_88K = 5, EM_IAMCU = 6, EM_860 = 7,
  EM_MIPS = 8, EM_S370 = 9, EM_MIPS_RS3_LE = 10, EM_PARISC = 15,
  EM_VPP500 = 17, EM_SPARC32PLUS = 18, EM_960 = 19, EM_PPC = 20,
  EM_PPC64 = 21, EM_S390 = 22, EM_SPU = 23, EM_V800 = 36,
  EM_FR20 = 37, EM_RH32 = 38, EM_RCE = 39, EM_ARM = 40,
  EM_ALPHA = 41, EM_SH = 42, EM_SPARCV9 = 43, EM_TRICORE = 44,
  EM_ARC = 45, EM_H8_300 = 46, EM_H8_300H = 47, EM_H8S = 48,
  EM_H8_500 = 49, EM_IA_64 = 50, EM_MIPS_X = 51, EM_COLDFIRE = 52,
  EM_68HC12 = 53, EM_MMA = 54, EM_PCP = 55, EM_NCPU = 56,
  EM_NDR1 = 57, EM_STARCORE = 58, EM_ME16 = 59, EM_ST100 = 60,
  EM_TINYJ = 61, EM_X86_64 = 62, EM_PDSP = 63, EM_PDP10 = 64,
  EM_PDP11 = 65, EM_FX66 = 66, EM_ST9PLUS = 67, EM_ST7 = 68,
  EM_68HC16 = 69, EM_68HC11 = 70, EM_68HC08 = 71, EM_68HC05 = 72,
  EM_SVX = 73, EM_ST19 = 74, EM_VAX = 75, EM_CRIS = 76,
  EM_JAVELIN = 77, EM_FIREPATH = 78, EM_ZSP = 79, EM_MMIX = 80,
  EM_HUANY = 81, EM_PRISM = 82, EM_AVR = 83, EM_FR30 = 84,
  EM_D10V = 85, EM_D30V = 86, EM_V850 = 87, EM_M32R = 88,
  EM_MN10300 = 89, EM_MN10200 = 90, EM_PJ = 91, EM_OPENRISC = 92,
  EM_ARC_COMPACT = 93, EM_XTENSA = 94, EM_VIDEOCORE = 95, EM_TMM_GPP = 96,
  EM_NS32K = 97, EM_TPC = 98, EM_SNP1K = 99, EM_ST200 = 100,
  EM_IP2K = 101, EM_MAX = 102, EM_CR = 103, EM_F2MC16 = 104,
  EM_MSP430 = 105, EM_BLACKFIN = 106, EM_SE_C33 = 107, EM_SEP = 108,
  EM_ARCA = 109, EM_UNICORE = 110, EM_EXCESS = 111, EM_DXP = 112,
  EM_ALTERA_NIOS2 = 113, EM_CRX = 114, EM_XGATE = 115, EM_C166 = 116,
  EM_M16C = 117, EM_DSPIC30F = 118, EM_CE = 119, EM_M32C = 120,
  EM_TSK3000 = 131, EM_RS08 = 132, EM_SHARC = 133, EM_ECOG2 = 134,
  EM_SCORE7 = 135, EM_DSP24 = 136, EM_VIDEOCORE3 = 137, EM_LATTICEMICO32 = 138,
  EM_SE_C17 = 139, EM_TI_C6000 = 140, EM_TI_C2000 = 141, EM_TI_C5500 = 142,
  EM_MMDSP_PLUS = 160, EM_CYPRESS_M8C = 161, EM_R32C = 162, EM_TRIMEDIA = 163,
  EM_HEXAGON = 164, EM_8051 = 165, EM_STXP7X = 166, EM_NDS32 = 167,
  EM_ECOG1 = 168, EM_ECOG1X = 168, EM_MAXQ30 = 169, EM_XIMO16 = 170,
  EM_MANIK = 171, EM_CRAYNV2 = 172, EM_RX = 173, EM_METAG = 174,
  EM_MCST_ELBRUS = 175, EM_ECOG16 = 176, EM_CR16 = 177, EM_ETPU = 178,
  EM_SLE9X = 179, EM_L10M = 180, EM_K10M = 181, EM_AARCH64 = 183,
  EM_AVR32 = 185, EM_STM8 = 186, EM_TILE64 = 187, EM_TILEPRO = 188,
  EM_CUDA = 190, EM_TILEGX = 191, EM_CLOUDSHIELD = 192, EM_COREA_1ST = 193,
  EM_COREA_2ND = 194, EM_ARC_COMPACT2 = 195, EM_OPEN8 = 196, EM_RL78 = 197,
  EM_VIDEOCORE5 = 198, EM_78KOR = 199, EM_56800EX = 200, EM_BA1 = 201,
  EM_BA2 = 202, EM_XCORE = 203, EM_MCHP_PIC = 204, EM_INTEL205 = 205,
  EM_INTEL206 = 206, EM_INTEL207 = 207, EM_INTEL208 = 208, EM_INTEL209 = 209,
  EM_KM32 = 210, EM_KMX32 = 211, EM_KMX16 = 212, EM_KMX8 = 213,
  EM_KVARC = 214, EM_CDP = 215, EM_COGE = 216, EM_COOL = 217,
  EM_NORC = 218, EM_CSR_KALIMBA = 219, EM_AMDGPU = 224, EM_RISCV = 243,
  EM_LANAI = 244, EM_BPF = 247, EM_WEBASSEMBLY = 0x4157
}
 
enum  { ELFCLASSNONE = 0, ELFCLASS32 = 1, ELFCLASS64 = 2 }
 
enum  { ELFDATANONE = 0, ELFDATA2LSB = 1, ELFDATA2MSB = 2 }
 
enum  {
  ELFOSABI_NONE = 0, ELFOSABI_HPUX = 1, ELFOSABI_NETBSD = 2, ELFOSABI_GNU = 3,
  ELFOSABI_LINUX = 3, ELFOSABI_HURD = 4, ELFOSABI_SOLARIS = 6, ELFOSABI_AIX = 7,
  ELFOSABI_IRIX = 8, ELFOSABI_FREEBSD = 9, ELFOSABI_TRU64 = 10, ELFOSABI_MODESTO = 11,
  ELFOSABI_OPENBSD = 12, ELFOSABI_OPENVMS = 13, ELFOSABI_NSK = 14, ELFOSABI_AROS = 15,
  ELFOSABI_FENIXOS = 16, ELFOSABI_CLOUDABI = 17, ELFOSABI_FIRST_ARCH = 64, ELFOSABI_AMDGPU_HSA = 64,
  ELFOSABI_AMDGPU_PAL = 65, ELFOSABI_AMDGPU_MESA3D = 66, ELFOSABI_ARM = 97, ELFOSABI_C6000_ELFABI = 64,
  ELFOSABI_C6000_LINUX = 65, ELFOSABI_STANDALONE = 255, ELFOSABI_LAST_ARCH = 255
}
 
enum  
 
enum  
 
enum  { ELF_RELOC }
 
enum  { EF_PPC64_ABI = 3 }
 
enum  { STO_PPC64_LOCAL_BIT = 5, STO_PPC64_LOCAL_MASK = (7 << STO_PPC64_LOCAL_BIT) }
 
enum  
 
enum  
 
enum  : unsigned {
  EF_ARM_SOFT_FLOAT = 0x00000200U, EF_ARM_VFP_FLOAT = 0x00000400U, EF_ARM_EABI_UNKNOWN = 0x00000000U, EF_ARM_EABI_VER1 = 0x01000000U,
  EF_ARM_EABI_VER2 = 0x02000000U, EF_ARM_EABI_VER3 = 0x03000000U, EF_ARM_EABI_VER4 = 0x04000000U, EF_ARM_EABI_VER5 = 0x05000000U,
  EF_ARM_EABIMASK = 0xFF000000U
}
 
enum  
 
enum  : unsigned {
  EF_ARC_MACH_MSK = 0x000000ff, EF_ARC_OSABI_MSK = 0x00000f00, E_ARC_MACH_ARC600 = 0x00000002, E_ARC_MACH_ARC601 = 0x00000004,
  E_ARC_MACH_ARC700 = 0x00000003, EF_ARC_CPU_ARCV2EM = 0x00000005, EF_ARC_CPU_ARCV2HS = 0x00000006, E_ARC_OSABI_ORIG = 0x00000000,
  E_ARC_OSABI_V2 = 0x00000200, E_ARC_OSABI_V3 = 0x00000300, E_ARC_OSABI_V4 = 0x00000400, EF_ARC_PIC = 0x00000100
}
 
enum  
 
enum  : unsigned {
  EF_AVR_ARCH_AVR1 = 1, EF_AVR_ARCH_AVR2 = 2, EF_AVR_ARCH_AVR25 = 25, EF_AVR_ARCH_AVR3 = 3,
  EF_AVR_ARCH_AVR31 = 31, EF_AVR_ARCH_AVR35 = 35, EF_AVR_ARCH_AVR4 = 4, EF_AVR_ARCH_AVR5 = 5,
  EF_AVR_ARCH_AVR51 = 51, EF_AVR_ARCH_AVR6 = 6, EF_AVR_ARCH_AVRTINY = 100, EF_AVR_ARCH_XMEGA1 = 101,
  EF_AVR_ARCH_XMEGA2 = 102, EF_AVR_ARCH_XMEGA3 = 103, EF_AVR_ARCH_XMEGA4 = 104, EF_AVR_ARCH_XMEGA5 = 105,
  EF_AVR_ARCH_XMEGA6 = 106, EF_AVR_ARCH_XMEGA7 = 107
}
 
enum  
 
enum  : unsigned {
  EF_MIPS_NOREORDER = 0x00000001, EF_MIPS_PIC = 0x00000002, EF_MIPS_CPIC = 0x00000004, EF_MIPS_ABI2 = 0x00000020,
  EF_MIPS_32BITMODE = 0x00000100, EF_MIPS_FP64 = 0x00000200, EF_MIPS_NAN2008 = 0x00000400, EF_MIPS_ABI_O32 = 0x00001000,
  EF_MIPS_ABI_O64 = 0x00002000, EF_MIPS_ABI_EABI32 = 0x00003000, EF_MIPS_ABI_EABI64 = 0x00004000, EF_MIPS_ABI = 0x0000f000,
  EF_MIPS_MACH_NONE = 0x00000000, EF_MIPS_MACH_3900 = 0x00810000, EF_MIPS_MACH_4010 = 0x00820000, EF_MIPS_MACH_4100 = 0x00830000,
  EF_MIPS_MACH_4650 = 0x00850000, EF_MIPS_MACH_4120 = 0x00870000, EF_MIPS_MACH_4111 = 0x00880000, EF_MIPS_MACH_SB1 = 0x008a0000,
  EF_MIPS_MACH_OCTEON = 0x008b0000, EF_MIPS_MACH_XLR = 0x008c0000, EF_MIPS_MACH_OCTEON2 = 0x008d0000, EF_MIPS_MACH_OCTEON3 = 0x008e0000,
  EF_MIPS_MACH_5400 = 0x00910000, EF_MIPS_MACH_5900 = 0x00920000, EF_MIPS_MACH_5500 = 0x00980000, EF_MIPS_MACH_9000 = 0x00990000,
  EF_MIPS_MACH_LS2E = 0x00a00000, EF_MIPS_MACH_LS2F = 0x00a10000, EF_MIPS_MACH_LS3A = 0x00a20000, EF_MIPS_MACH = 0x00ff0000,
  EF_MIPS_MICROMIPS = 0x02000000, EF_MIPS_ARCH_ASE_M16 = 0x04000000, EF_MIPS_ARCH_ASE_MDMX = 0x08000000, EF_MIPS_ARCH_ASE = 0x0f000000,
  EF_MIPS_ARCH_1 = 0x00000000, EF_MIPS_ARCH_2 = 0x10000000, EF_MIPS_ARCH_3 = 0x20000000, EF_MIPS_ARCH_4 = 0x30000000,
  EF_MIPS_ARCH_5 = 0x40000000, EF_MIPS_ARCH_32 = 0x50000000, EF_MIPS_ARCH_64 = 0x60000000, EF_MIPS_ARCH_32R2 = 0x70000000,
  EF_MIPS_ARCH_64R2 = 0x80000000, EF_MIPS_ARCH_32R6 = 0x90000000, EF_MIPS_ARCH_64R6 = 0xa0000000, EF_MIPS_ARCH = 0xf0000000
}
 
enum  
 
enum  {
  STO_MIPS_OPTIONAL = 0x04, STO_MIPS_PLT = 0x08, STO_MIPS_PIC = 0x20, STO_MIPS_MICROMIPS = 0x80,
  STO_MIPS_MIPS16 = 0xf0
}
 
enum  {
  ODK_NULL = 0, ODK_REGINFO = 1, ODK_EXCEPTIONS = 2, ODK_PAD = 3,
  ODK_HWPATCH = 4, ODK_FILL = 5, ODK_TAGS = 6, ODK_HWAND = 7,
  ODK_HWOR = 8, ODK_GP_GROUP = 9, ODK_IDENT = 10, ODK_PAGESIZE = 11
}
 
enum  {
  EF_HEXAGON_MACH_V2 = 0x00000001, EF_HEXAGON_MACH_V3 = 0x00000002, EF_HEXAGON_MACH_V4 = 0x00000003, EF_HEXAGON_MACH_V5 = 0x00000004,
  EF_HEXAGON_MACH_V55 = 0x00000005, EF_HEXAGON_MACH_V60 = 0x00000060, EF_HEXAGON_MACH_V62 = 0x00000062, EF_HEXAGON_ISA_MACH = 0x00000000,
  EF_HEXAGON_ISA_V2 = 0x00000010, EF_HEXAGON_ISA_V3 = 0x00000020, EF_HEXAGON_ISA_V4 = 0x00000030, EF_HEXAGON_ISA_V5 = 0x00000040,
  EF_HEXAGON_ISA_V55 = 0x00000050, EF_HEXAGON_ISA_V60 = 0x00000060, EF_HEXAGON_ISA_V62 = 0x00000062
}
 
enum  {
  SHN_HEXAGON_SCOMMON = 0xff00, SHN_HEXAGON_SCOMMON_1 = 0xff01, SHN_HEXAGON_SCOMMON_2 = 0xff02, SHN_HEXAGON_SCOMMON_4 = 0xff03,
  SHN_HEXAGON_SCOMMON_8 = 0xff04
}
 
enum  
 
enum  
 
enum  : unsigned {
  EF_RISCV_RVC = 0x0001, EF_RISCV_FLOAT_ABI = 0x0006, EF_RISCV_FLOAT_ABI_SOFT = 0x0000, EF_RISCV_FLOAT_ABI_SINGLE = 0x0002,
  EF_RISCV_FLOAT_ABI_DOUBLE = 0x0004, EF_RISCV_FLOAT_ABI_QUAD = 0x0006, EF_RISCV_RVE = 0x0008
}
 
enum  
 
enum  
 
enum  
 
enum  
 
enum  : unsigned { EF_AMDGPU_ARCH_NONE = 0x00000000, EF_AMDGPU_ARCH_R600 = 0x00000001, EF_AMDGPU_ARCH_GCN = 0x00000002, EF_AMDGPU_ARCH = 0x0000000f }
 
enum  
 
enum  
 
enum  {
  SHN_UNDEF = 0, SHN_LORESERVE = 0xff00, SHN_LOPROC = 0xff00, SHN_HIPROC = 0xff1f,
  SHN_LOOS = 0xff20, SHN_HIOS = 0xff3f, SHN_ABS = 0xfff1, SHN_COMMON = 0xfff2,
  SHN_XINDEX = 0xffff, SHN_HIRESERVE = 0xffff
}
 
enum  : unsigned {
  SHT_NULL = 0, SHT_PROGBITS = 1, SHT_SYMTAB = 2, SHT_STRTAB = 3,
  SHT_RELA = 4, SHT_HASH = 5, SHT_DYNAMIC = 6, SHT_NOTE = 7,
  SHT_NOBITS = 8, SHT_REL = 9, SHT_SHLIB = 10, SHT_DYNSYM = 11,
  SHT_INIT_ARRAY = 14, SHT_FINI_ARRAY = 15, SHT_PREINIT_ARRAY = 16, SHT_GROUP = 17,
  SHT_SYMTAB_SHNDX = 18, SHT_LOOS = 0x60000000, SHT_ANDROID_REL = 0x60000001, SHT_ANDROID_RELA = 0x60000002,
  SHT_LLVM_ODRTAB = 0x6fff4c00, SHT_GNU_ATTRIBUTES = 0x6ffffff5, SHT_GNU_HASH = 0x6ffffff6, SHT_GNU_verdef = 0x6ffffffd,
  SHT_GNU_verneed = 0x6ffffffe, SHT_GNU_versym = 0x6fffffff, SHT_HIOS = 0x6fffffff, SHT_LOPROC = 0x70000000,
  SHT_ARM_EXIDX = 0x70000001U, SHT_ARM_PREEMPTMAP = 0x70000002U, SHT_ARM_ATTRIBUTES = 0x70000003U, SHT_ARM_DEBUGOVERLAY = 0x70000004U,
  SHT_ARM_OVERLAYSECTION = 0x70000005U, SHT_HEX_ORDERED = 0x70000000, SHT_X86_64_UNWIND = 0x70000001, SHT_MIPS_REGINFO = 0x70000006,
  SHT_MIPS_OPTIONS = 0x7000000d, SHT_MIPS_DWARF = 0x7000001e, SHT_MIPS_ABIFLAGS = 0x7000002a, SHT_HIPROC = 0x7fffffff,
  SHT_LOUSER = 0x80000000, SHT_HIUSER = 0xffffffff
}
 
enum  : unsigned {
  SHF_WRITE = 0x1, SHF_ALLOC = 0x2, SHF_EXECINSTR = 0x4, SHF_MERGE = 0x10,
  SHF_STRINGS = 0x20, SHF_INFO_LINK = 0x40U, SHF_LINK_ORDER = 0x80U, SHF_OS_NONCONFORMING = 0x100U,
  SHF_GROUP = 0x200U, SHF_TLS = 0x400U, SHF_COMPRESSED = 0x800U, SHF_EXCLUDE = 0x80000000U,
  SHF_MASKOS = 0x0ff00000, SHF_MASKPROC = 0xf0000000, XCORE_SHF_DP_SECTION = 0x10000000, XCORE_SHF_CP_SECTION = 0x20000000,
  SHF_X86_64_LARGE = 0x10000000, SHF_HEX_GPREL = 0x10000000, SHF_MIPS_NODUPES = 0x01000000, SHF_MIPS_NAMES = 0x02000000,
  SHF_MIPS_LOCAL = 0x04000000, SHF_MIPS_NOSTRIP = 0x08000000, SHF_MIPS_GPREL = 0x10000000, SHF_MIPS_MERGE = 0x20000000,
  SHF_MIPS_ADDR = 0x40000000, SHF_MIPS_STRING = 0x80000000, SHF_ARM_PURECODE = 0x20000000
}
 
enum  : unsigned { GRP_COMDAT = 0x1, GRP_MASKOS = 0x0ff00000, GRP_MASKPROC = 0xf0000000 }
 
enum  { SYMENTRY_SIZE32 = 16, SYMENTRY_SIZE64 = 24 }
 
enum  {
  STB_LOCAL = 0, STB_GLOBAL = 1, STB_WEAK = 2, STB_GNU_UNIQUE = 10,
  STB_LOOS = 10, STB_HIOS = 12, STB_LOPROC = 13, STB_HIPROC = 15
}
 
enum  {
  STT_NOTYPE = 0, STT_OBJECT = 1, STT_FUNC = 2, STT_SECTION = 3,
  STT_FILE = 4, STT_COMMON = 5, STT_TLS = 6, STT_GNU_IFUNC = 10,
  STT_LOOS = 10, STT_HIOS = 12, STT_LOPROC = 13, STT_HIPROC = 15,
  STT_AMDGPU_HSA_KERNEL = 10
}
 
enum  { STV_DEFAULT = 0, STV_INTERNAL = 1, STV_HIDDEN = 2, STV_PROTECTED = 3 }
 
enum  { STN_UNDEF = 0 }
 
enum  { RSS_UNDEF = 0, RSS_GP = 1, RSS_GP0 = 2, RSS_LOC = 3 }
 
enum  {
  PT_NULL = 0, PT_LOAD = 1, PT_DYNAMIC = 2, PT_INTERP = 3,
  PT_NOTE = 4, PT_SHLIB = 5, PT_PHDR = 6, PT_TLS = 7,
  PT_LOOS = 0x60000000, PT_HIOS = 0x6fffffff, PT_LOPROC = 0x70000000, PT_HIPROC = 0x7fffffff,
  PT_GNU_EH_FRAME = 0x6474e550, PT_SUNW_EH_FRAME = 0x6474e550, PT_SUNW_UNWIND = 0x6464e550, PT_GNU_STACK = 0x6474e551,
  PT_GNU_RELRO = 0x6474e552, PT_OPENBSD_RANDOMIZE = 0x65a3dbe6, PT_OPENBSD_WXNEEDED = 0x65a3dbe7, PT_OPENBSD_BOOTDATA = 0x65a41be6,
  PT_ARM_ARCHEXT = 0x70000000, PT_ARM_EXIDX = 0x70000001, PT_ARM_UNWIND = 0x70000001, PT_MIPS_REGINFO = 0x70000000,
  PT_MIPS_RTPROC = 0x70000001, PT_MIPS_OPTIONS = 0x70000002, PT_MIPS_ABIFLAGS = 0x70000003, PT_WEBASSEMBLY_FUNCTIONS = PT_LOPROC + 0
}
 
enum  : unsigned {
  PF_X = 1, PF_W = 2, PF_R = 4, PF_MASKOS = 0x0ff00000,
  PF_MASKPROC = 0xf0000000
}
 
enum  {
  DT_NULL = 0, DT_NEEDED = 1, DT_PLTRELSZ = 2, DT_PLTGOT = 3,
  DT_HASH = 4, DT_STRTAB = 5, DT_SYMTAB = 6, DT_RELA = 7,
  DT_RELASZ = 8, DT_RELAENT = 9, DT_STRSZ = 10, DT_SYMENT = 11,
  DT_INIT = 12, DT_FINI = 13, DT_SONAME = 14, DT_RPATH = 15,
  DT_SYMBOLIC = 16, DT_REL = 17, DT_RELSZ = 18, DT_RELENT = 19,
  DT_PLTREL = 20, DT_DEBUG = 21, DT_TEXTREL = 22, DT_JMPREL = 23,
  DT_BIND_NOW = 24, DT_INIT_ARRAY = 25, DT_FINI_ARRAY = 26, DT_INIT_ARRAYSZ = 27,
  DT_FINI_ARRAYSZ = 28, DT_RUNPATH = 29, DT_FLAGS = 30, DT_ENCODING = 32,
  DT_PREINIT_ARRAY = 32, DT_PREINIT_ARRAYSZ = 33, DT_LOOS = 0x60000000, DT_HIOS = 0x6FFFFFFF,
  DT_LOPROC = 0x70000000, DT_HIPROC = 0x7FFFFFFF, DT_ANDROID_REL = 0x6000000F, DT_ANDROID_RELSZ = 0x60000010,
  DT_ANDROID_RELA = 0x60000011, DT_ANDROID_RELASZ = 0x60000012, DT_GNU_HASH = 0x6FFFFEF5, DT_TLSDESC_PLT,
  DT_TLSDESC_GOT = 0x6FFFFEF7, DT_RELACOUNT = 0x6FFFFFF9, DT_RELCOUNT = 0x6FFFFFFA, DT_FLAGS_1 = 0X6FFFFFFB,
  DT_VERSYM = 0x6FFFFFF0, DT_VERDEF = 0X6FFFFFFC, DT_VERDEFNUM = 0X6FFFFFFD, DT_VERNEED = 0X6FFFFFFE,
  DT_VERNEEDNUM = 0X6FFFFFFF, DT_HEXAGON_SYMSZ = 0x70000000, DT_HEXAGON_VER = 0x70000001, DT_HEXAGON_PLT = 0x70000002,
  DT_MIPS_RLD_VERSION = 0x70000001, DT_MIPS_TIME_STAMP = 0x70000002, DT_MIPS_ICHECKSUM = 0x70000003, DT_MIPS_IVERSION = 0x70000004,
  DT_MIPS_FLAGS = 0x70000005, DT_MIPS_BASE_ADDRESS = 0x70000006, DT_MIPS_MSYM = 0x70000007, DT_MIPS_CONFLICT = 0x70000008,
  DT_MIPS_LIBLIST = 0x70000009, DT_MIPS_LOCAL_GOTNO = 0x7000000a, DT_MIPS_CONFLICTNO = 0x7000000b, DT_MIPS_LIBLISTNO = 0x70000010,
  DT_MIPS_SYMTABNO = 0x70000011, DT_MIPS_UNREFEXTNO = 0x70000012, DT_MIPS_GOTSYM = 0x70000013, DT_MIPS_HIPAGENO = 0x70000014,
  DT_MIPS_RLD_MAP = 0x70000016, DT_MIPS_DELTA_CLASS = 0x70000017, DT_MIPS_DELTA_CLASS_NO = 0x70000018, DT_MIPS_DELTA_INSTANCE = 0x70000019,
  DT_MIPS_DELTA_INSTANCE_NO = 0x7000001A, DT_MIPS_DELTA_RELOC = 0x7000001B, DT_MIPS_DELTA_RELOC_NO = 0x7000001C, DT_MIPS_DELTA_SYM = 0x7000001D,
  DT_MIPS_DELTA_SYM_NO = 0x7000001E, DT_MIPS_DELTA_CLASSSYM = 0x70000020, DT_MIPS_DELTA_CLASSSYM_NO = 0x70000021, DT_MIPS_CXX_FLAGS = 0x70000022,
  DT_MIPS_PIXIE_INIT = 0x70000023, DT_MIPS_SYMBOL_LIB = 0x70000024, DT_MIPS_LOCALPAGE_GOTIDX = 0x70000025, DT_MIPS_LOCAL_GOTIDX = 0x70000026,
  DT_MIPS_HIDDEN_GOTIDX = 0x70000027, DT_MIPS_PROTECTED_GOTIDX = 0x70000028, DT_MIPS_OPTIONS = 0x70000029, DT_MIPS_INTERFACE = 0x7000002A,
  DT_MIPS_DYNSTR_ALIGN = 0x7000002B, DT_MIPS_INTERFACE_SIZE = 0x7000002C, DT_MIPS_RLD_TEXT_RESOLVE_ADDR = 0x7000002D, DT_MIPS_PERF_SUFFIX = 0x7000002E,
  DT_MIPS_COMPACT_SIZE = 0x7000002F, DT_MIPS_GP_VALUE = 0x70000030, DT_MIPS_AUX_DYNAMIC = 0x70000031, DT_MIPS_PLTGOT = 0x70000032,
  DT_MIPS_RWPLT = 0x70000034, DT_MIPS_RLD_MAP_REL = 0x70000035, DT_AUXILIARY = 0x7FFFFFFD, DT_FILTER = 0x7FFFFFFF
}
 
enum  {
  DF_ORIGIN = 0x01, DF_SYMBOLIC = 0x02, DF_TEXTREL = 0x04, DF_BIND_NOW = 0x08,
  DF_STATIC_TLS = 0x10
}
 
enum  {
  DF_1_NOW = 0x00000001, DF_1_GLOBAL = 0x00000002, DF_1_GROUP = 0x00000004, DF_1_NODELETE = 0x00000008,
  DF_1_LOADFLTR = 0x00000010, DF_1_INITFIRST = 0x00000020, DF_1_NOOPEN = 0x00000040, DF_1_ORIGIN = 0x00000080,
  DF_1_DIRECT = 0x00000100, DF_1_TRANS = 0x00000200, DF_1_INTERPOSE = 0x00000400, DF_1_NODEFLIB = 0x00000800,
  DF_1_NODUMP = 0x00001000, DF_1_CONFALT = 0x00002000, DF_1_ENDFILTEE = 0x00004000, DF_1_DISPRELDNE = 0x00008000,
  DF_1_DISPRELPND = 0x00010000, DF_1_NODIRECT = 0x00020000, DF_1_IGNMULDEF = 0x00040000, DF_1_NOKSYMS = 0x00080000,
  DF_1_NOHDR = 0x00100000, DF_1_EDITED = 0x00200000, DF_1_NORELOC = 0x00400000, DF_1_SYMINTPOSE = 0x00800000,
  DF_1_GLOBAUDIT = 0x01000000, DF_1_SINGLETON = 0x02000000
}
 
enum  {
  RHF_NONE = 0x00000000, RHF_QUICKSTART = 0x00000001, RHF_NOTPOT = 0x00000002, RHS_NO_LIBRARY_REPLACEMENT = 0x00000004,
  RHF_NO_MOVE = 0x00000008, RHF_SGI_ONLY = 0x00000010, RHF_GUARANTEE_INIT = 0x00000020, RHF_DELTA_C_PLUS_PLUS = 0x00000040,
  RHF_GUARANTEE_START_INIT = 0x00000080, RHF_PIXIE = 0x00000100, RHF_DEFAULT_DELAY_LOAD = 0x00000200, RHF_REQUICKSTART = 0x00000400,
  RHF_REQUICKSTARTED = 0x00000800, RHF_CORD = 0x00001000, RHF_NO_UNRES_UNDEF = 0x00002000, RHF_RLD_ORDER_SAFE = 0x00004000
}
 
enum  { VER_DEF_NONE = 0, VER_DEF_CURRENT = 1 }
 
enum  { VER_FLG_BASE = 0x1, VER_FLG_WEAK = 0x2, VER_FLG_INFO = 0x4 }
 
enum  { VER_NDX_LOCAL = 0, VER_NDX_GLOBAL = 1, VERSYM_VERSION = 0x7fff, VERSYM_HIDDEN = 0x8000 }
 
enum  { VER_NEED_NONE = 0, VER_NEED_CURRENT = 1 }
 
enum  {
  NT_FREEBSD_THRMISC = 7, NT_FREEBSD_PROCSTAT_PROC = 8, NT_FREEBSD_PROCSTAT_FILES = 9, NT_FREEBSD_PROCSTAT_VMMAP = 10,
  NT_FREEBSD_PROCSTAT_GROUPS = 11, NT_FREEBSD_PROCSTAT_UMASK = 12, NT_FREEBSD_PROCSTAT_RLIMIT = 13, NT_FREEBSD_PROCSTAT_OSREL = 14,
  NT_FREEBSD_PROCSTAT_PSSTRINGS = 15, NT_FREEBSD_PROCSTAT_AUXV = 16
}
 
enum  { NT_GNU_ABI_TAG = 1, NT_GNU_HWCAP = 2, NT_GNU_BUILD_ID = 3, NT_GNU_GOLD_VERSION = 4 }
 
enum  { NT_AMD_AMDGPU_HSA_METADATA = 10, NT_AMD_AMDGPU_ISA = 11, NT_AMD_AMDGPU_PAL_METADATA = 12 }
 
enum  {
  GNU_ABI_TAG_LINUX = 0, GNU_ABI_TAG_HURD = 1, GNU_ABI_TAG_SOLARIS = 2, GNU_ABI_TAG_FREEBSD = 3,
  GNU_ABI_TAG_NETBSD = 4, GNU_ABI_TAG_SYLLABLE = 5, GNU_ABI_TAG_NACL = 6
}
 
enum  { RELOCATION_GROUPED_BY_INFO_FLAG = 1, RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG = 2, RELOCATION_GROUPED_BY_ADDEND_FLAG = 4, RELOCATION_GROUP_HAS_ADDEND_FLAG = 8 }
 
enum  {
  ELFCOMPRESS_ZLIB = 1, ELFCOMPRESS_LOOS = 0x60000000, ELFCOMPRESS_HIOS = 0x6fffffff, ELFCOMPRESS_LOPROC = 0x70000000,
  ELFCOMPRESS_HIPROC = 0x7fffffff
}
 

Functions

static int64_t decodePPC64LocalEntryOffset (unsigned Other)
 
static unsigned encodePPC64LocalEntryOffset (int64_t Offset)
 

Variables

static const char ElfMagic [] = {0x7f, 'E', 'L', 'F', '\0'}
 

Typedef Documentation

◆ Elf32_Addr

Definition at line 29 of file ELF.h.

◆ Elf32_Half

using llvm::ELF::Elf32_Half = typedef uint16_t

Definition at line 31 of file ELF.h.

◆ Elf32_Off

using llvm::ELF::Elf32_Off = typedef uint32_t

Definition at line 30 of file ELF.h.

◆ Elf32_Sword

using llvm::ELF::Elf32_Sword = typedef int32_t

Definition at line 33 of file ELF.h.

◆ Elf32_Word

Definition at line 32 of file ELF.h.

◆ Elf64_Addr

using llvm::ELF::Elf64_Addr = typedef uint64_t

Definition at line 35 of file ELF.h.

◆ Elf64_Half

using llvm::ELF::Elf64_Half = typedef uint16_t

Definition at line 37 of file ELF.h.

◆ Elf64_Off

using llvm::ELF::Elf64_Off = typedef uint64_t

Definition at line 36 of file ELF.h.

◆ Elf64_Sword

using llvm::ELF::Elf64_Sword = typedef int32_t

Definition at line 39 of file ELF.h.

◆ Elf64_Sxword

using llvm::ELF::Elf64_Sxword = typedef int64_t

Definition at line 41 of file ELF.h.

◆ Elf64_Word

Definition at line 38 of file ELF.h.

◆ Elf64_Xword

using llvm::ELF::Elf64_Xword = typedef uint64_t

Definition at line 40 of file ELF.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EI_MAG0 
EI_MAG1 
EI_MAG2 
EI_MAG3 
EI_CLASS 
EI_DATA 
EI_VERSION 
EI_OSABI 
EI_ABIVERSION 
EI_PAD 
EI_NIDENT 

Definition at line 47 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ET_NONE 
ET_REL 
ET_EXEC 
ET_DYN 
ET_CORE 
ET_LOPROC 
ET_HIPROC 

Definition at line 112 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EV_NONE 
EV_CURRENT 

Definition at line 123 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EM_NONE 
EM_M32 
EM_SPARC 
EM_386 
EM_68K 
EM_88K 
EM_IAMCU 
EM_860 
EM_MIPS 
EM_S370 
EM_MIPS_RS3_LE 
EM_PARISC 
EM_VPP500 
EM_SPARC32PLUS 
EM_960 
EM_PPC 
EM_PPC64 
EM_S390 
EM_SPU 
EM_V800 
EM_FR20 
EM_RH32 
EM_RCE 
EM_ARM 
EM_ALPHA 
EM_SH 
EM_SPARCV9 
EM_TRICORE 
EM_ARC 
EM_H8_300 
EM_H8_300H 
EM_H8S 
EM_H8_500 
EM_IA_64 
EM_MIPS_X 
EM_COLDFIRE 
EM_68HC12 
EM_MMA 
EM_PCP 
EM_NCPU 
EM_NDR1 
EM_STARCORE 
EM_ME16 
EM_ST100 
EM_TINYJ 
EM_X86_64 
EM_PDSP 
EM_PDP10 
EM_PDP11 
EM_FX66 
EM_ST9PLUS 
EM_ST7 
EM_68HC16 
EM_68HC11 
EM_68HC08 
EM_68HC05 
EM_SVX 
EM_ST19 
EM_VAX 
EM_CRIS 
EM_JAVELIN 
EM_FIREPATH 
EM_ZSP 
EM_MMIX 
EM_HUANY 
EM_PRISM 
EM_AVR 
EM_FR30 
EM_D10V 
EM_D30V 
EM_V850 
EM_M32R 
EM_MN10300 
EM_MN10200 
EM_PJ 
EM_OPENRISC 
EM_ARC_COMPACT 
EM_XTENSA 
EM_VIDEOCORE 
EM_TMM_GPP 
EM_NS32K 
EM_TPC 
EM_SNP1K 
EM_ST200 
EM_IP2K 
EM_MAX 
EM_CR 
EM_F2MC16 
EM_MSP430 
EM_BLACKFIN 
EM_SE_C33 
EM_SEP 
EM_ARCA 
EM_UNICORE 
EM_EXCESS 
EM_DXP 
EM_ALTERA_NIOS2 
EM_CRX 
EM_XGATE 
EM_C166 
EM_M16C 
EM_DSPIC30F 
EM_CE 
EM_M32C 
EM_TSK3000 
EM_RS08 
EM_SHARC 
EM_ECOG2 
EM_SCORE7 
EM_DSP24 
EM_VIDEOCORE3 
EM_LATTICEMICO32 
EM_SE_C17 
EM_TI_C6000 
EM_TI_C2000 
EM_TI_C5500 
EM_MMDSP_PLUS 
EM_CYPRESS_M8C 
EM_R32C 
EM_TRIMEDIA 
EM_HEXAGON 
EM_8051 
EM_STXP7X 
EM_NDS32 
EM_ECOG1 
EM_ECOG1X 
EM_MAXQ30 
EM_XIMO16 
EM_MANIK 
EM_CRAYNV2 
EM_RX 
EM_METAG 
EM_MCST_ELBRUS 
EM_ECOG16 
EM_CR16 
EM_ETPU 
EM_SLE9X 
EM_L10M 
EM_K10M 
EM_AARCH64 
EM_AVR32 
EM_STM8 
EM_TILE64 
EM_TILEPRO 
EM_CUDA 
EM_TILEGX 
EM_CLOUDSHIELD 
EM_COREA_1ST 
EM_COREA_2ND 
EM_ARC_COMPACT2 
EM_OPEN8 
EM_RL78 
EM_VIDEOCORE5 
EM_78KOR 
EM_56800EX 
EM_BA1 
EM_BA2 
EM_XCORE 
EM_MCHP_PIC 
EM_INTEL205 
EM_INTEL206 
EM_INTEL207 
EM_INTEL208 
EM_INTEL209 
EM_KM32 
EM_KMX32 
EM_KMX16 
EM_KMX8 
EM_KVARC 
EM_CDP 
EM_COGE 
EM_COOL 
EM_NORC 
EM_CSR_KALIMBA 
EM_AMDGPU 
EM_RISCV 
EM_LANAI 
EM_BPF 
EM_WEBASSEMBLY 

Definition at line 128 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFCLASSNONE 
ELFCLASS32 
ELFCLASS64 

Definition at line 323 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFDATANONE 
ELFDATA2LSB 
ELFDATA2MSB 

Definition at line 330 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFOSABI_NONE 
ELFOSABI_HPUX 
ELFOSABI_NETBSD 
ELFOSABI_GNU 
ELFOSABI_LINUX 
ELFOSABI_HURD 
ELFOSABI_SOLARIS 
ELFOSABI_AIX 
ELFOSABI_IRIX 
ELFOSABI_FREEBSD 
ELFOSABI_TRU64 
ELFOSABI_MODESTO 
ELFOSABI_OPENBSD 
ELFOSABI_OPENVMS 
ELFOSABI_NSK 
ELFOSABI_AROS 
ELFOSABI_FENIXOS 
ELFOSABI_CLOUDABI 
ELFOSABI_FIRST_ARCH 
ELFOSABI_AMDGPU_HSA 
ELFOSABI_AMDGPU_PAL 
ELFOSABI_AMDGPU_MESA3D 
ELFOSABI_ARM 
ELFOSABI_C6000_ELFABI 
ELFOSABI_C6000_LINUX 
ELFOSABI_STANDALONE 
ELFOSABI_LAST_ARCH 

Definition at line 337 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 370 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 375 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELF_RELOC 

Definition at line 380 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EF_PPC64_ABI 

Definition at line 385 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STO_PPC64_LOCAL_BIT 
STO_PPC64_LOCAL_MASK 

Definition at line 394 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 410 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 415 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_ARM_SOFT_FLOAT 
EF_ARM_VFP_FLOAT 
EF_ARM_EABI_UNKNOWN 
EF_ARM_EABI_VER1 
EF_ARM_EABI_VER2 
EF_ARM_EABI_VER3 
EF_ARM_EABI_VER4 
EF_ARM_EABI_VER5 
EF_ARM_EABIMASK 

Definition at line 420 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 433 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_ARC_MACH_MSK 
EF_ARC_OSABI_MSK 
E_ARC_MACH_ARC600 
E_ARC_MACH_ARC601 
E_ARC_MACH_ARC700 
EF_ARC_CPU_ARCV2EM 
EF_ARC_CPU_ARCV2HS 
E_ARC_OSABI_ORIG 
E_ARC_OSABI_V2 
E_ARC_OSABI_V3 
E_ARC_OSABI_V4 
EF_ARC_PIC 

Definition at line 438 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 454 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_AVR_ARCH_AVR1 
EF_AVR_ARCH_AVR2 
EF_AVR_ARCH_AVR25 
EF_AVR_ARCH_AVR3 
EF_AVR_ARCH_AVR31 
EF_AVR_ARCH_AVR35 
EF_AVR_ARCH_AVR4 
EF_AVR_ARCH_AVR5 
EF_AVR_ARCH_AVR51 
EF_AVR_ARCH_AVR6 
EF_AVR_ARCH_AVRTINY 
EF_AVR_ARCH_XMEGA1 
EF_AVR_ARCH_XMEGA2 
EF_AVR_ARCH_XMEGA3 
EF_AVR_ARCH_XMEGA4 
EF_AVR_ARCH_XMEGA5 
EF_AVR_ARCH_XMEGA6 
EF_AVR_ARCH_XMEGA7 

Definition at line 459 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 481 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_MIPS_NOREORDER 
EF_MIPS_PIC 
EF_MIPS_CPIC 
EF_MIPS_ABI2 
EF_MIPS_32BITMODE 
EF_MIPS_FP64 
EF_MIPS_NAN2008 
EF_MIPS_ABI_O32 
EF_MIPS_ABI_O64 
EF_MIPS_ABI_EABI32 
EF_MIPS_ABI_EABI64 
EF_MIPS_ABI 
EF_MIPS_MACH_NONE 
EF_MIPS_MACH_3900 
EF_MIPS_MACH_4010 
EF_MIPS_MACH_4100 
EF_MIPS_MACH_4650 
EF_MIPS_MACH_4120 
EF_MIPS_MACH_4111 
EF_MIPS_MACH_SB1 
EF_MIPS_MACH_OCTEON 
EF_MIPS_MACH_XLR 
EF_MIPS_MACH_OCTEON2 
EF_MIPS_MACH_OCTEON3 
EF_MIPS_MACH_5400 
EF_MIPS_MACH_5900 
EF_MIPS_MACH_5500 
EF_MIPS_MACH_9000 
EF_MIPS_MACH_LS2E 
EF_MIPS_MACH_LS2F 
EF_MIPS_MACH_LS3A 
EF_MIPS_MACH 
EF_MIPS_MICROMIPS 
EF_MIPS_ARCH_ASE_M16 
EF_MIPS_ARCH_ASE_MDMX 
EF_MIPS_ARCH_ASE 
EF_MIPS_ARCH_1 
EF_MIPS_ARCH_2 
EF_MIPS_ARCH_3 
EF_MIPS_ARCH_4 
EF_MIPS_ARCH_5 
EF_MIPS_ARCH_32 
EF_MIPS_ARCH_64 
EF_MIPS_ARCH_32R2 
EF_MIPS_ARCH_64R2 
EF_MIPS_ARCH_32R6 
EF_MIPS_ARCH_64R6 
EF_MIPS_ARCH 

Definition at line 486 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 548 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STO_MIPS_OPTIONAL 
STO_MIPS_PLT 
STO_MIPS_PIC 
STO_MIPS_MICROMIPS 
STO_MIPS_MIPS16 

Definition at line 553 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ODK_NULL 
ODK_REGINFO 
ODK_EXCEPTIONS 
ODK_PAD 
ODK_HWPATCH 
ODK_FILL 
ODK_TAGS 
ODK_HWAND 
ODK_HWOR 
ODK_GP_GROUP 
ODK_IDENT 
ODK_PAGESIZE 

Definition at line 562 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EF_HEXAGON_MACH_V2 
EF_HEXAGON_MACH_V3 
EF_HEXAGON_MACH_V4 
EF_HEXAGON_MACH_V5 
EF_HEXAGON_MACH_V55 
EF_HEXAGON_MACH_V60 
EF_HEXAGON_MACH_V62 
EF_HEXAGON_ISA_MACH 
EF_HEXAGON_ISA_V2 
EF_HEXAGON_ISA_V3 
EF_HEXAGON_ISA_V4 
EF_HEXAGON_ISA_V5 
EF_HEXAGON_ISA_V55 
EF_HEXAGON_ISA_V60 
EF_HEXAGON_ISA_V62 

Definition at line 578 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
SHN_HEXAGON_SCOMMON 
SHN_HEXAGON_SCOMMON_1 
SHN_HEXAGON_SCOMMON_2 
SHN_HEXAGON_SCOMMON_4 
SHN_HEXAGON_SCOMMON_8 

Definition at line 601 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 610 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 615 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_RISCV_RVC 
EF_RISCV_FLOAT_ABI 
EF_RISCV_FLOAT_ABI_SOFT 
EF_RISCV_FLOAT_ABI_SINGLE 
EF_RISCV_FLOAT_ABI_DOUBLE 
EF_RISCV_FLOAT_ABI_QUAD 
EF_RISCV_RVE 

Definition at line 620 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 631 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 636 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 641 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 646 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_AMDGPU_ARCH_NONE 
EF_AMDGPU_ARCH_R600 
EF_AMDGPU_ARCH_GCN 
EF_AMDGPU_ARCH 

Definition at line 651 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 660 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 665 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
SHN_UNDEF 
SHN_LORESERVE 
SHN_LOPROC 
SHN_HIPROC 
SHN_LOOS 
SHN_HIOS 
SHN_ABS 
SHN_COMMON 
SHN_XINDEX 
SHN_HIRESERVE 

Definition at line 700 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
SHT_NULL 
SHT_PROGBITS 
SHT_SYMTAB 
SHT_STRTAB 
SHT_RELA 
SHT_HASH 
SHT_DYNAMIC 
SHT_NOTE 
SHT_NOBITS 
SHT_REL 
SHT_SHLIB 
SHT_DYNSYM 
SHT_INIT_ARRAY 
SHT_FINI_ARRAY 
SHT_PREINIT_ARRAY 
SHT_GROUP 
SHT_SYMTAB_SHNDX 
SHT_LOOS 
SHT_ANDROID_REL 
SHT_ANDROID_RELA 
SHT_LLVM_ODRTAB 
SHT_GNU_ATTRIBUTES 
SHT_GNU_HASH 
SHT_GNU_verdef 
SHT_GNU_verneed 
SHT_GNU_versym 
SHT_HIOS 
SHT_LOPROC 
SHT_ARM_EXIDX 
SHT_ARM_PREEMPTMAP 
SHT_ARM_ATTRIBUTES 
SHT_ARM_DEBUGOVERLAY 
SHT_ARM_OVERLAYSECTION 
SHT_HEX_ORDERED 
SHT_X86_64_UNWIND 
SHT_MIPS_REGINFO 
SHT_MIPS_OPTIONS 
SHT_MIPS_DWARF 
SHT_MIPS_ABIFLAGS 
SHT_HIPROC 
SHT_LOUSER 
SHT_HIUSER 

Definition at line 714 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
SHF_WRITE 
SHF_ALLOC 
SHF_EXECINSTR 
SHF_MERGE 
SHF_STRINGS 
SHF_INFO_LINK 
SHF_LINK_ORDER 
SHF_OS_NONCONFORMING 
SHF_GROUP 
SHF_TLS 
SHF_COMPRESSED 
SHF_EXCLUDE 
SHF_MASKOS 
SHF_MASKPROC 
XCORE_SHF_DP_SECTION 

All sections with the "d" flag are grouped together by the linker to form the data section and the dp register is set to the start of the section by the boot code.

XCORE_SHF_CP_SECTION 

All sections with the "c" flag are grouped together by the linker to form the constant pool and the cp register is set to the start of the constant pool by the boot code.

SHF_X86_64_LARGE 
SHF_HEX_GPREL 
SHF_MIPS_NODUPES 
SHF_MIPS_NAMES 
SHF_MIPS_LOCAL 
SHF_MIPS_NOSTRIP 
SHF_MIPS_GPREL 
SHF_MIPS_MERGE 
SHF_MIPS_ADDR 
SHF_MIPS_STRING 
SHF_ARM_PURECODE 

Definition at line 769 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
GRP_COMDAT 
GRP_MASKOS 
GRP_MASKPROC 

Definition at line 867 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
SYMENTRY_SIZE32 
SYMENTRY_SIZE64 

Definition at line 914 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STB_LOCAL 
STB_GLOBAL 
STB_WEAK 
STB_GNU_UNIQUE 
STB_LOOS 
STB_HIOS 
STB_LOPROC 
STB_HIPROC 

Definition at line 920 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STT_NOTYPE 
STT_OBJECT 
STT_FUNC 
STT_SECTION 
STT_FILE 
STT_COMMON 
STT_TLS 
STT_GNU_IFUNC 
STT_LOOS 
STT_HIOS 
STT_LOPROC 
STT_HIPROC 
STT_AMDGPU_HSA_KERNEL 

Definition at line 932 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STV_DEFAULT 
STV_INTERNAL 
STV_HIDDEN 
STV_PROTECTED 

Definition at line 950 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STN_UNDEF 

Definition at line 958 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
RSS_UNDEF 
RSS_GP 
RSS_GP0 
RSS_LOC 

Definition at line 961 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
PT_NULL 
PT_LOAD 
PT_DYNAMIC 
PT_INTERP 
PT_NOTE 
PT_SHLIB 
PT_PHDR 
PT_TLS 
PT_LOOS 
PT_HIOS 
PT_LOPROC 
PT_HIPROC 
PT_GNU_EH_FRAME 
PT_SUNW_EH_FRAME 
PT_SUNW_UNWIND 
PT_GNU_STACK 
PT_GNU_RELRO 
PT_OPENBSD_RANDOMIZE 
PT_OPENBSD_WXNEEDED 
PT_OPENBSD_BOOTDATA 
PT_ARM_ARCHEXT 
PT_ARM_EXIDX 
PT_ARM_UNWIND 
PT_MIPS_REGINFO 
PT_MIPS_RTPROC 
PT_MIPS_OPTIONS 
PT_MIPS_ABIFLAGS 
PT_WEBASSEMBLY_FUNCTIONS 

Definition at line 1059 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
PF_X 
PF_W 
PF_R 
PF_MASKOS 
PF_MASKPROC 

Definition at line 1103 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
DT_NULL 
DT_NEEDED 
DT_PLTRELSZ 
DT_PLTGOT 
DT_HASH 
DT_STRTAB 
DT_SYMTAB 
DT_RELA 
DT_RELASZ 
DT_RELAENT 
DT_STRSZ 
DT_SYMENT 
DT_INIT 
DT_FINI 
DT_SONAME 
DT_RPATH 
DT_SYMBOLIC 
DT_REL 
DT_RELSZ 
DT_RELENT 
DT_PLTREL 
DT_DEBUG 
DT_TEXTREL 
DT_JMPREL 
DT_BIND_NOW 
DT_INIT_ARRAY 
DT_FINI_ARRAY 
DT_INIT_ARRAYSZ 
DT_FINI_ARRAYSZ 
DT_RUNPATH 
DT_FLAGS 
DT_ENCODING 
DT_PREINIT_ARRAY 
DT_PREINIT_ARRAYSZ 
DT_LOOS 
DT_HIOS 
DT_LOPROC 
DT_HIPROC 
DT_ANDROID_REL 
DT_ANDROID_RELSZ 
DT_ANDROID_RELA 
DT_ANDROID_RELASZ 
DT_GNU_HASH 
DT_TLSDESC_PLT 
DT_TLSDESC_GOT 
DT_RELACOUNT 
DT_RELCOUNT 
DT_FLAGS_1 
DT_VERSYM 
DT_VERDEF 
DT_VERDEFNUM 
DT_VERNEED 
DT_VERNEEDNUM 
DT_HEXAGON_SYMSZ 
DT_HEXAGON_VER 
DT_HEXAGON_PLT 
DT_MIPS_RLD_VERSION 
DT_MIPS_TIME_STAMP 
DT_MIPS_ICHECKSUM 
DT_MIPS_IVERSION 
DT_MIPS_FLAGS 
DT_MIPS_BASE_ADDRESS 
DT_MIPS_MSYM 
DT_MIPS_CONFLICT 
DT_MIPS_LIBLIST 
DT_MIPS_LOCAL_GOTNO 
DT_MIPS_CONFLICTNO 
DT_MIPS_LIBLISTNO 
DT_MIPS_SYMTABNO 
DT_MIPS_UNREFEXTNO 
DT_MIPS_GOTSYM 
DT_MIPS_HIPAGENO 
DT_MIPS_RLD_MAP 
DT_MIPS_DELTA_CLASS 
DT_MIPS_DELTA_CLASS_NO 
DT_MIPS_DELTA_INSTANCE 
DT_MIPS_DELTA_INSTANCE_NO 
DT_MIPS_DELTA_RELOC 
DT_MIPS_DELTA_RELOC_NO 
DT_MIPS_DELTA_SYM 
DT_MIPS_DELTA_SYM_NO 
DT_MIPS_DELTA_CLASSSYM 
DT_MIPS_DELTA_CLASSSYM_NO 
DT_MIPS_CXX_FLAGS 
DT_MIPS_PIXIE_INIT 
DT_MIPS_SYMBOL_LIB 
DT_MIPS_LOCALPAGE_GOTIDX 
DT_MIPS_LOCAL_GOTIDX 
DT_MIPS_HIDDEN_GOTIDX 
DT_MIPS_PROTECTED_GOTIDX 
DT_MIPS_OPTIONS 
DT_MIPS_INTERFACE 
DT_MIPS_DYNSTR_ALIGN 
DT_MIPS_INTERFACE_SIZE 
DT_MIPS_RLD_TEXT_RESOLVE_ADDR 
DT_MIPS_PERF_SUFFIX 
DT_MIPS_COMPACT_SIZE 
DT_MIPS_GP_VALUE 
DT_MIPS_AUX_DYNAMIC 
DT_MIPS_PLTGOT 
DT_MIPS_RWPLT 
DT_MIPS_RLD_MAP_REL 
DT_AUXILIARY 
DT_FILTER 

Definition at line 1130 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
DF_ORIGIN 
DF_SYMBOLIC 
DF_TEXTREL 
DF_BIND_NOW 
DF_STATIC_TLS 

Definition at line 1282 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
DF_1_NOW 
DF_1_GLOBAL 
DF_1_GROUP 
DF_1_NODELETE 
DF_1_LOADFLTR 
DF_1_INITFIRST 
DF_1_NOOPEN 
DF_1_ORIGIN 
DF_1_DIRECT 
DF_1_TRANS 
DF_1_INTERPOSE 
DF_1_NODEFLIB 
DF_1_NODUMP 
DF_1_CONFALT 
DF_1_ENDFILTEE 
DF_1_DISPRELDNE 
DF_1_DISPRELPND 
DF_1_NODIRECT 
DF_1_IGNMULDEF 
DF_1_NOKSYMS 
DF_1_NOHDR 
DF_1_EDITED 
DF_1_NORELOC 
DF_1_SYMINTPOSE 
DF_1_GLOBAUDIT 
DF_1_SINGLETON 

Definition at line 1291 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
RHF_NONE 
RHF_QUICKSTART 
RHF_NOTPOT 
RHS_NO_LIBRARY_REPLACEMENT 
RHF_NO_MOVE 
RHF_SGI_ONLY 
RHF_GUARANTEE_INIT 
RHF_DELTA_C_PLUS_PLUS 
RHF_GUARANTEE_START_INIT 
RHF_PIXIE 
RHF_DEFAULT_DELAY_LOAD 
RHF_REQUICKSTART 
RHF_REQUICKSTARTED 
RHF_CORD 
RHF_NO_UNRES_UNDEF 
RHF_RLD_ORDER_SAFE 

Definition at line 1321 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_DEF_NONE 
VER_DEF_CURRENT 

Definition at line 1346 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_FLG_BASE 
VER_FLG_WEAK 
VER_FLG_INFO 

Definition at line 1349 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_NDX_LOCAL 
VER_NDX_GLOBAL 
VERSYM_VERSION 
VERSYM_HIDDEN 

Definition at line 1352 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_NEED_NONE 
VER_NEED_CURRENT 

Definition at line 1360 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_FREEBSD_THRMISC 
NT_FREEBSD_PROCSTAT_PROC 
NT_FREEBSD_PROCSTAT_FILES 
NT_FREEBSD_PROCSTAT_VMMAP 
NT_FREEBSD_PROCSTAT_GROUPS 
NT_FREEBSD_PROCSTAT_UMASK 
NT_FREEBSD_PROCSTAT_RLIMIT 
NT_FREEBSD_PROCSTAT_OSREL 
NT_FREEBSD_PROCSTAT_PSSTRINGS 
NT_FREEBSD_PROCSTAT_AUXV 

Definition at line 1363 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_GNU_ABI_TAG 
NT_GNU_HWCAP 
NT_GNU_BUILD_ID 
NT_GNU_GOLD_VERSION 

Definition at line 1376 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_AMD_AMDGPU_HSA_METADATA 
NT_AMD_AMDGPU_ISA 
NT_AMD_AMDGPU_PAL_METADATA 

Definition at line 1384 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
GNU_ABI_TAG_LINUX 
GNU_ABI_TAG_HURD 
GNU_ABI_TAG_SOLARIS 
GNU_ABI_TAG_FREEBSD 
GNU_ABI_TAG_NETBSD 
GNU_ABI_TAG_SYLLABLE 
GNU_ABI_TAG_NACL 

Definition at line 1391 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
RELOCATION_GROUPED_BY_INFO_FLAG 
RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG 
RELOCATION_GROUPED_BY_ADDEND_FLAG 
RELOCATION_GROUP_HAS_ADDEND_FLAG 

Definition at line 1402 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFCOMPRESS_ZLIB 
ELFCOMPRESS_LOOS 
ELFCOMPRESS_HIOS 
ELFCOMPRESS_LOPROC 
ELFCOMPRESS_HIPROC 

Definition at line 1425 of file ELF.h.

Function Documentation

◆ decodePPC64LocalEntryOffset()

static int64_t llvm::ELF::decodePPC64LocalEntryOffset ( unsigned  Other)
inlinestatic

◆ encodePPC64LocalEntryOffset()

static unsigned llvm::ELF::encodePPC64LocalEntryOffset ( int64_t  Offset)
inlinestatic

Definition at line 402 of file ELF.h.

References STO_PPC64_LOCAL_BIT.

Referenced by createPPCMCAsmInfo().

Variable Documentation

◆ ElfMagic

const char llvm::ELF::ElfMagic[] = {0x7f, 'E', 'L', 'F', '\0'}
static

Definition at line 44 of file ELF.h.

Referenced by llvm::object::Elf_Ehdr_Impl< ELFT >::checkMagic().