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

Classes

struct  Elf32_Chdr
 
struct  Elf32_Dyn
 
struct  Elf32_Ehdr
 
struct  Elf32_Nhdr
 
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_Nhdr
 
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
 
typedef Elf32_Word Elf32_Relr
 
typedef Elf64_Xword Elf64_Relr
 

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
}
 
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_ABI_FLOAT_SOFT = 0x00000200U, EF_ARM_VFP_FLOAT = 0x00000400U, EF_ARM_ABI_FLOAT_HARD = 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_MACH_V65 = 0x00000065,
  EF_HEXAGON_MACH_V66 = 0x00000066, 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, EF_HEXAGON_ISA_V65 = 0x00000065, EF_HEXAGON_ISA_V66 = 0x00000066
}
 
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  : unsigned {
  EF_AMDGPU_MACH = 0x0ff, EF_AMDGPU_MACH_NONE = 0x000, EF_AMDGPU_MACH_R600_R600 = 0x001, EF_AMDGPU_MACH_R600_R630 = 0x002,
  EF_AMDGPU_MACH_R600_RS880 = 0x003, EF_AMDGPU_MACH_R600_RV670 = 0x004, EF_AMDGPU_MACH_R600_RV710 = 0x005, EF_AMDGPU_MACH_R600_RV730 = 0x006,
  EF_AMDGPU_MACH_R600_RV770 = 0x007, EF_AMDGPU_MACH_R600_CEDAR = 0x008, EF_AMDGPU_MACH_R600_CYPRESS = 0x009, EF_AMDGPU_MACH_R600_JUNIPER = 0x00a,
  EF_AMDGPU_MACH_R600_REDWOOD = 0x00b, EF_AMDGPU_MACH_R600_SUMO = 0x00c, EF_AMDGPU_MACH_R600_BARTS = 0x00d, EF_AMDGPU_MACH_R600_CAICOS = 0x00e,
  EF_AMDGPU_MACH_R600_CAYMAN = 0x00f, EF_AMDGPU_MACH_R600_TURKS = 0x010, EF_AMDGPU_MACH_R600_RESERVED_FIRST = 0x011, EF_AMDGPU_MACH_R600_RESERVED_LAST = 0x01f,
  EF_AMDGPU_MACH_R600_FIRST = EF_AMDGPU_MACH_R600_R600, EF_AMDGPU_MACH_R600_LAST = EF_AMDGPU_MACH_R600_TURKS, EF_AMDGPU_MACH_AMDGCN_GFX600 = 0x020, EF_AMDGPU_MACH_AMDGCN_GFX601 = 0x021,
  EF_AMDGPU_MACH_AMDGCN_GFX700 = 0x022, EF_AMDGPU_MACH_AMDGCN_GFX701 = 0x023, EF_AMDGPU_MACH_AMDGCN_GFX702 = 0x024, EF_AMDGPU_MACH_AMDGCN_GFX703 = 0x025,
  EF_AMDGPU_MACH_AMDGCN_GFX704 = 0x026, EF_AMDGPU_MACH_AMDGCN_GFX801 = 0x028, EF_AMDGPU_MACH_AMDGCN_GFX802 = 0x029, EF_AMDGPU_MACH_AMDGCN_GFX803 = 0x02a,
  EF_AMDGPU_MACH_AMDGCN_GFX810 = 0x02b, EF_AMDGPU_MACH_AMDGCN_GFX900 = 0x02c, EF_AMDGPU_MACH_AMDGCN_GFX902 = 0x02d, EF_AMDGPU_MACH_AMDGCN_GFX904 = 0x02e,
  EF_AMDGPU_MACH_AMDGCN_GFX906 = 0x02f, EF_AMDGPU_MACH_AMDGCN_GFX909 = 0x031, EF_AMDGPU_MACH_AMDGCN_RESERVED0 = 0x027, EF_AMDGPU_MACH_AMDGCN_RESERVED1 = 0x030,
  EF_AMDGPU_MACH_AMDGCN_FIRST = EF_AMDGPU_MACH_AMDGCN_GFX600, EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX909, EF_AMDGPU_XNACK = 0x100, EF_AMDGPU_SRAM_ECC = 0x200
}
 
enum  
 
enum  
 
enum  : unsigned {
  EF_MSP430_MACH_MSP430x11 = 11, EF_MSP430_MACH_MSP430x11x1 = 110, EF_MSP430_MACH_MSP430x12 = 12, EF_MSP430_MACH_MSP430x13 = 13,
  EF_MSP430_MACH_MSP430x14 = 14, EF_MSP430_MACH_MSP430x15 = 15, EF_MSP430_MACH_MSP430x16 = 16, EF_MSP430_MACH_MSP430x20 = 20,
  EF_MSP430_MACH_MSP430x22 = 22, EF_MSP430_MACH_MSP430x23 = 23, EF_MSP430_MACH_MSP430x24 = 24, EF_MSP430_MACH_MSP430x26 = 26,
  EF_MSP430_MACH_MSP430x31 = 31, EF_MSP430_MACH_MSP430x32 = 32, EF_MSP430_MACH_MSP430x33 = 33, EF_MSP430_MACH_MSP430x41 = 41,
  EF_MSP430_MACH_MSP430x42 = 42, EF_MSP430_MACH_MSP430x43 = 43, EF_MSP430_MACH_MSP430x44 = 44, EF_MSP430_MACH_MSP430X = 45,
  EF_MSP430_MACH_MSP430x46 = 46, EF_MSP430_MACH_MSP430x47 = 47, EF_MSP430_MACH_MSP430x54 = 54
}
 
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_RELR = 19, SHT_LOOS = 0x60000000, SHT_ANDROID_REL = 0x60000001,
  SHT_ANDROID_RELA = 0x60000002, SHT_LLVM_ODRTAB = 0x6fff4c00, SHT_LLVM_LINKER_OPTIONS = 0x6fff4c01, SHT_LLVM_CALL_GRAPH_PROFILE = 0x6fff4c02,
  SHT_LLVM_ADDRSIG = 0x6fff4c03, SHT_ANDROID_RELR = 0x6fffff00, 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_MSP430_ATTRIBUTES = 0x70000003U, 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
}
 
enum  : unsigned {
  PF_X = 1, PF_W = 2, PF_R = 4, PF_MASKOS = 0x0ff00000,
  PF_MASKPROC = 0xf0000000
}
 
enum  { DYNAMIC_TAG, DYNAMIC_TAG }
 
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,
  NT_GNU_PROPERTY_TYPE_0 = 5
}
 
enum  : unsigned { GNU_PROPERTY_STACK_SIZE = 1, GNU_PROPERTY_NO_COPY_ON_PROTECTED = 2, GNU_PROPERTY_X86_FEATURE_1_AND = 0xc0000002 }
 
enum  { GNU_PROPERTY_X86_FEATURE_1_IBT = 1 << 0, GNU_PROPERTY_X86_FEATURE_1_SHSTK = 1 << 1 }
 
enum  { NT_AMD_AMDGPU_HSA_METADATA = 10, NT_AMD_AMDGPU_ISA = 11, NT_AMD_AMDGPU_PAL_METADATA = 12 }
 
enum  { NT_AMDGPU_METADATA = 32 }
 
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'}
 
constexpr const charELF_NOTE_GNU = "GNU"
 

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_Relr

Definition at line 1111 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_Relr

Definition at line 1147 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 : unsigned
Enumerator
GNU_PROPERTY_STACK_SIZE 
GNU_PROPERTY_NO_COPY_ON_PROTECTED 
GNU_PROPERTY_X86_FEATURE_1_AND 

Definition at line 1352 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
GNU_PROPERTY_X86_FEATURE_1_IBT 
GNU_PROPERTY_X86_FEATURE_1_SHSTK 

Definition at line 1359 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 1365 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_AMDGPU_METADATA 

Definition at line 1373 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 1378 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 1391 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFCOMPRESS_ZLIB 
ELFCOMPRESS_LOOS 
ELFCOMPRESS_HIOS 
ELFCOMPRESS_LOPROC 
ELFCOMPRESS_HIPROC 

Definition at line 1428 of file ELF.h.

◆ 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 

Definition at line 128 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFCLASSNONE 
ELFCLASS32 
ELFCLASS64 

Definition at line 318 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFDATANONE 
ELFDATA2LSB 
ELFDATA2MSB 

Definition at line 325 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 332 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 365 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 370 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELF_RELOC 

Definition at line 375 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EF_PPC64_ABI 

Definition at line 380 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STO_PPC64_LOCAL_BIT 
STO_PPC64_LOCAL_MASK 

Definition at line 389 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 405 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 410 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_ARM_SOFT_FLOAT 
EF_ARM_ABI_FLOAT_SOFT 
EF_ARM_VFP_FLOAT 
EF_ARM_ABI_FLOAT_HARD 
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 415 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 430 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 435 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 451 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 456 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 478 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 483 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 545 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 550 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 559 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_MACH_V65 
EF_HEXAGON_MACH_V66 
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 
EF_HEXAGON_ISA_V65 
EF_HEXAGON_ISA_V66 

Definition at line 575 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 602 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 611 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 616 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 621 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 632 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 637 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 642 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_AMDGPU_MACH 
EF_AMDGPU_MACH_NONE 
EF_AMDGPU_MACH_R600_R600 
EF_AMDGPU_MACH_R600_R630 
EF_AMDGPU_MACH_R600_RS880 
EF_AMDGPU_MACH_R600_RV670 
EF_AMDGPU_MACH_R600_RV710 
EF_AMDGPU_MACH_R600_RV730 
EF_AMDGPU_MACH_R600_RV770 
EF_AMDGPU_MACH_R600_CEDAR 
EF_AMDGPU_MACH_R600_CYPRESS 
EF_AMDGPU_MACH_R600_JUNIPER 
EF_AMDGPU_MACH_R600_REDWOOD 
EF_AMDGPU_MACH_R600_SUMO 
EF_AMDGPU_MACH_R600_BARTS 
EF_AMDGPU_MACH_R600_CAICOS 
EF_AMDGPU_MACH_R600_CAYMAN 
EF_AMDGPU_MACH_R600_TURKS 
EF_AMDGPU_MACH_R600_RESERVED_FIRST 
EF_AMDGPU_MACH_R600_RESERVED_LAST 
EF_AMDGPU_MACH_R600_FIRST 
EF_AMDGPU_MACH_R600_LAST 
EF_AMDGPU_MACH_AMDGCN_GFX600 
EF_AMDGPU_MACH_AMDGCN_GFX601 
EF_AMDGPU_MACH_AMDGCN_GFX700 
EF_AMDGPU_MACH_AMDGCN_GFX701 
EF_AMDGPU_MACH_AMDGCN_GFX702 
EF_AMDGPU_MACH_AMDGCN_GFX703 
EF_AMDGPU_MACH_AMDGCN_GFX704 
EF_AMDGPU_MACH_AMDGCN_GFX801 
EF_AMDGPU_MACH_AMDGCN_GFX802 
EF_AMDGPU_MACH_AMDGCN_GFX803 
EF_AMDGPU_MACH_AMDGCN_GFX810 
EF_AMDGPU_MACH_AMDGCN_GFX900 
EF_AMDGPU_MACH_AMDGCN_GFX902 
EF_AMDGPU_MACH_AMDGCN_GFX904 
EF_AMDGPU_MACH_AMDGCN_GFX906 
EF_AMDGPU_MACH_AMDGCN_GFX909 
EF_AMDGPU_MACH_AMDGCN_RESERVED0 
EF_AMDGPU_MACH_AMDGCN_RESERVED1 
EF_AMDGPU_MACH_AMDGCN_FIRST 
EF_AMDGPU_MACH_AMDGCN_LAST 
EF_AMDGPU_XNACK 
EF_AMDGPU_SRAM_ECC 

Definition at line 647 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 725 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 730 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_MSP430_MACH_MSP430x11 
EF_MSP430_MACH_MSP430x11x1 
EF_MSP430_MACH_MSP430x12 
EF_MSP430_MACH_MSP430x13 
EF_MSP430_MACH_MSP430x14 
EF_MSP430_MACH_MSP430x15 
EF_MSP430_MACH_MSP430x16 
EF_MSP430_MACH_MSP430x20 
EF_MSP430_MACH_MSP430x22 
EF_MSP430_MACH_MSP430x23 
EF_MSP430_MACH_MSP430x24 
EF_MSP430_MACH_MSP430x26 
EF_MSP430_MACH_MSP430x31 
EF_MSP430_MACH_MSP430x32 
EF_MSP430_MACH_MSP430x33 
EF_MSP430_MACH_MSP430x41 
EF_MSP430_MACH_MSP430x42 
EF_MSP430_MACH_MSP430x43 
EF_MSP430_MACH_MSP430x44 
EF_MSP430_MACH_MSP430X 
EF_MSP430_MACH_MSP430x46 
EF_MSP430_MACH_MSP430x47 
EF_MSP430_MACH_MSP430x54 

Definition at line 735 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 762 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 797 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_RELR 
SHT_LOOS 
SHT_ANDROID_REL 
SHT_ANDROID_RELA 
SHT_LLVM_ODRTAB 
SHT_LLVM_LINKER_OPTIONS 
SHT_LLVM_CALL_GRAPH_PROFILE 
SHT_LLVM_ADDRSIG 
SHT_ANDROID_RELR 
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_MSP430_ATTRIBUTES 
SHT_HIPROC 
SHT_LOUSER 
SHT_HIUSER 

Definition at line 811 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 878 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
GRP_COMDAT 
GRP_MASKOS 
GRP_MASKPROC 

Definition at line 976 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
SYMENTRY_SIZE32 
SYMENTRY_SIZE64 

Definition at line 1023 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 1029 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 1041 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STV_DEFAULT 
STV_INTERNAL 
STV_HIDDEN 
STV_PROTECTED 

Definition at line 1059 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STN_UNDEF 

Definition at line 1067 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
RSS_UNDEF 
RSS_GP 
RSS_GP0 
RSS_LOC 

Definition at line 1070 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 

Definition at line 1174 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
PF_X 
PF_W 
PF_R 
PF_MASKOS 
PF_MASKPROC 

Definition at line 1215 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
DYNAMIC_TAG 
DYNAMIC_TAG 

Definition at line 1242 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
DF_ORIGIN 
DF_SYMBOLIC 
DF_TEXTREL 
DF_BIND_NOW 
DF_STATIC_TLS 

Definition at line 1249 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 1258 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 1288 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_DEF_NONE 
VER_DEF_CURRENT 

Definition at line 1313 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_FLG_BASE 
VER_FLG_WEAK 
VER_FLG_INFO 

Definition at line 1316 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_NDX_LOCAL 
VER_NDX_GLOBAL 
VERSYM_VERSION 
VERSYM_HIDDEN 

Definition at line 1319 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_NEED_NONE 
VER_NEED_CURRENT 

Definition at line 1327 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 1330 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_GNU_ABI_TAG 
NT_GNU_HWCAP 
NT_GNU_BUILD_ID 
NT_GNU_GOLD_VERSION 
NT_GNU_PROPERTY_TYPE_0 

Definition at line 1343 of file ELF.h.

Function Documentation

◆ decodePPC64LocalEntryOffset()

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

Definition at line 393 of file ELF.h.

References STO_PPC64_LOCAL_BIT, and STO_PPC64_LOCAL_MASK.

Referenced by createPPCMCAsmInfo().

◆ encodePPC64LocalEntryOffset()

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

Definition at line 397 of file ELF.h.

References STO_PPC64_LOCAL_BIT.

Referenced by createPPCMCAsmInfo().

Variable Documentation

◆ ELF_NOTE_GNU

constexpr const char* llvm::ELF::ELF_NOTE_GNU = "GNU"

Definition at line 1388 of file ELF.h.

◆ 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().