LLVM 20.0.0git
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
 
struct  Elf_Crel
 

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_LOOS = 0xfe00 , ET_HIOS = 0xfeff , 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_MICROBLAZE = 189 , 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_VE = 251 ,
  EM_CSKY = 252 , EM_LOONGARCH = 258
}
 
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_CUDA = 51 , ELFOSABI_FIRST_ARCH = 64 ,
  ELFOSABI_AMDGPU_HSA = 64 , ELFOSABI_AMDGPU_PAL = 65 , ELFOSABI_AMDGPU_MESA3D = 66 , ELFOSABI_ARM = 97 ,
  ELFOSABI_ARM_FDPIC = 65 , ELFOSABI_C6000_ELFABI = 64 , ELFOSABI_C6000_LINUX = 65 , ELFOSABI_STANDALONE = 255 ,
  ELFOSABI_LAST_ARCH = 255
}
 
enum  {
  ELFABIVERSION_AMDGPU_HSA_V2 = 0 , ELFABIVERSION_AMDGPU_HSA_V3 = 1 , ELFABIVERSION_AMDGPU_HSA_V4 = 2 , ELFABIVERSION_AMDGPU_HSA_V5 = 3 ,
  ELFABIVERSION_AMDGPU_HSA_V6 = 4
}
 
enum  
 
enum  
 
enum  
 
enum  { EF_PPC64_ABI = 3 }
 
enum  { STO_PPC64_LOCAL_BIT = 5 , STO_PPC64_LOCAL_MASK = (7 << STO_PPC64_LOCAL_BIT) }
 
enum  
 
enum  
 
enum  { STO_AARCH64_VARIANT_PCS = 0x80 }
 
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_BE8 = 0x00800000U , 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 , EF_AVR_ARCH_MASK = 0x7f , EF_AVR_LINKRELAX_PREPARED = 0x80
}
 
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  {
  SHN_MIPS_ACOMMON = 0xff00 , SHN_MIPS_TEXT = 0xff01 , SHN_MIPS_DATA = 0xff02 , SHN_MIPS_SCOMMON = 0xff03 ,
  SHN_MIPS_SUNDEFINED = 0xff04
}
 
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_MACH_V67 = 0x00000067 , EF_HEXAGON_MACH_V67T = 0x00008067 , EF_HEXAGON_MACH_V68 = 0x00000068 ,
  EF_HEXAGON_MACH_V69 = 0x00000069 , EF_HEXAGON_MACH_V71 = 0x00000071 , EF_HEXAGON_MACH_V71T = 0x00008071 , EF_HEXAGON_MACH_V73 = 0x00000073 ,
  EF_HEXAGON_MACH = 0x000003ff , 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 , EF_HEXAGON_ISA_V67 = 0x00000067 ,
  EF_HEXAGON_ISA_V68 = 0x00000068 , EF_HEXAGON_ISA_V69 = 0x00000069 , EF_HEXAGON_ISA_V71 = 0x00000071 , EF_HEXAGON_ISA_V73 = 0x00000073 ,
  EF_HEXAGON_ISA_V75 = 0x00000075 , EF_HEXAGON_ISA = 0x000003ff
}
 
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 , EF_RISCV_TSO = 0x0010
}
 
enum  
 
enum  { STO_RISCV_VARIANT_CC = 0x80 }
 
enum  
 
enum  : unsigned {
  EF_SPARC_EXT_MASK = 0xffff00 , EF_SPARC_32PLUS = 0x000100 , EF_SPARC_SUN_US1 = 0x000200 , EF_SPARC_HAL_R1 = 0x000400 ,
  EF_SPARC_SUN_US3 = 0x000800 , EF_SPARCV9_MM = 0x3 , EF_SPARCV9_TSO = 0x0 , EF_SPARCV9_PSO = 0x1 ,
  EF_SPARCV9_RMO = 0x2
}
 
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_RESERVED_0X27 = 0x027 , 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_GFX908 = 0x030 , EF_AMDGPU_MACH_AMDGCN_GFX909 = 0x031 ,
  EF_AMDGPU_MACH_AMDGCN_GFX90C = 0x032 , EF_AMDGPU_MACH_AMDGCN_GFX1010 = 0x033 , EF_AMDGPU_MACH_AMDGCN_GFX1011 = 0x034 , EF_AMDGPU_MACH_AMDGCN_GFX1012 = 0x035 ,
  EF_AMDGPU_MACH_AMDGCN_GFX1030 = 0x036 , EF_AMDGPU_MACH_AMDGCN_GFX1031 = 0x037 , EF_AMDGPU_MACH_AMDGCN_GFX1032 = 0x038 , EF_AMDGPU_MACH_AMDGCN_GFX1033 = 0x039 ,
  EF_AMDGPU_MACH_AMDGCN_GFX602 = 0x03a , EF_AMDGPU_MACH_AMDGCN_GFX705 = 0x03b , EF_AMDGPU_MACH_AMDGCN_GFX805 = 0x03c , EF_AMDGPU_MACH_AMDGCN_GFX1035 = 0x03d ,
  EF_AMDGPU_MACH_AMDGCN_GFX1034 = 0x03e , EF_AMDGPU_MACH_AMDGCN_GFX90A = 0x03f , EF_AMDGPU_MACH_AMDGCN_GFX940 = 0x040 , EF_AMDGPU_MACH_AMDGCN_GFX1100 = 0x041 ,
  EF_AMDGPU_MACH_AMDGCN_GFX1013 = 0x042 , EF_AMDGPU_MACH_AMDGCN_GFX1150 = 0x043 , EF_AMDGPU_MACH_AMDGCN_GFX1103 = 0x044 , EF_AMDGPU_MACH_AMDGCN_GFX1036 = 0x045 ,
  EF_AMDGPU_MACH_AMDGCN_GFX1101 = 0x046 , EF_AMDGPU_MACH_AMDGCN_GFX1102 = 0x047 , EF_AMDGPU_MACH_AMDGCN_GFX1200 = 0x048 , EF_AMDGPU_MACH_AMDGCN_RESERVED_0X49 = 0x049 ,
  EF_AMDGPU_MACH_AMDGCN_GFX1151 = 0x04a , EF_AMDGPU_MACH_AMDGCN_GFX941 = 0x04b , EF_AMDGPU_MACH_AMDGCN_GFX942 = 0x04c , EF_AMDGPU_MACH_AMDGCN_RESERVED_0X4D = 0x04d ,
  EF_AMDGPU_MACH_AMDGCN_GFX1201 = 0x04e , EF_AMDGPU_MACH_AMDGCN_GFX950 = 0x04f , EF_AMDGPU_MACH_AMDGCN_RESERVED_0X50 = 0x050 , EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC = 0x051 ,
  EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC = 0x052 , EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC = 0x053 , EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC = 0x054 , EF_AMDGPU_MACH_AMDGCN_GFX1152 = 0x055 ,
  EF_AMDGPU_MACH_AMDGCN_RESERVED_0X56 = 0x056 , EF_AMDGPU_MACH_AMDGCN_RESERVED_0X57 = 0x057 , EF_AMDGPU_MACH_AMDGCN_GFX1153 = 0x058 , EF_AMDGPU_MACH_AMDGCN_GFX12_GENERIC = 0x059 ,
  EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC = 0x05f , EF_AMDGPU_MACH_AMDGCN_FIRST = EF_AMDGPU_MACH_AMDGCN_GFX600 , EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC , EF_AMDGPU_FEATURE_XNACK_V2 = 0x01 ,
  EF_AMDGPU_FEATURE_TRAP_HANDLER_V2 = 0x02 , EF_AMDGPU_FEATURE_XNACK_V3 = 0x100 , EF_AMDGPU_FEATURE_SRAMECC_V3 = 0x200 , EF_AMDGPU_FEATURE_XNACK_V4 = 0x300 ,
  EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4 = 0x000 , EF_AMDGPU_FEATURE_XNACK_ANY_V4 = 0x100 , EF_AMDGPU_FEATURE_XNACK_OFF_V4 = 0x200 , EF_AMDGPU_FEATURE_XNACK_ON_V4 = 0x300 ,
  EF_AMDGPU_FEATURE_SRAMECC_V4 = 0xc00 , EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4 = 0x000 , EF_AMDGPU_FEATURE_SRAMECC_ANY_V4 = 0x400 , EF_AMDGPU_FEATURE_SRAMECC_OFF_V4 = 0x800 ,
  EF_AMDGPU_FEATURE_SRAMECC_ON_V4 = 0xc00 , EF_AMDGPU_GENERIC_VERSION = 0xff000000 , EF_AMDGPU_GENERIC_VERSION_OFFSET = 24 , EF_AMDGPU_GENERIC_VERSION_MIN = 1 ,
  EF_AMDGPU_GENERIC_VERSION_MAX = 0xff
}
 
enum  
 
enum  : unsigned {
  EF_CUDA_SM = 0xff , EF_CUDA_SM20 = 0x14 , EF_CUDA_SM21 = 0x15 , EF_CUDA_SM30 = 0x1e ,
  EF_CUDA_SM32 = 0x20 , EF_CUDA_SM35 = 0x23 , EF_CUDA_SM37 = 0x25 , EF_CUDA_SM50 = 0x32 ,
  EF_CUDA_SM52 = 0x34 , EF_CUDA_SM53 = 0x35 , EF_CUDA_SM60 = 0x3c , EF_CUDA_SM61 = 0x3d ,
  EF_CUDA_SM62 = 0x3e , EF_CUDA_SM70 = 0x46 , EF_CUDA_SM72 = 0x48 , EF_CUDA_SM75 = 0x4b ,
  EF_CUDA_SM80 = 0x50 , EF_CUDA_SM86 = 0x56 , EF_CUDA_SM87 = 0x57 , EF_CUDA_SM89 = 0x59 ,
  EF_CUDA_SM90 = 0x5a , EF_CUDA_TEXMODE_UNIFIED = 0x100 , EF_CUDA_TEXMODE_INDEPENDANT = 0x200 , EF_CUDA_64BIT_ADDRESS = 0x400 ,
  EF_CUDA_ACCELERATORS = 0x800 , EF_CUDA_SW_FLAG_V2 = 0x1000 , EF_CUDA_VIRTUAL_SM = 0xff0000
}
 
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  
 
enum  : unsigned {
  EF_CSKY_801 = 0xa , EF_CSKY_802 = 0x10 , EF_CSKY_803 = 0x9 , EF_CSKY_805 = 0x11 ,
  EF_CSKY_807 = 0x6 , EF_CSKY_810 = 0x8 , EF_CSKY_860 = 0xb , EF_CSKY_800 = 0x1f ,
  EF_CSKY_FLOAT = 0x2000 , EF_CSKY_DSP = 0x4000 , EF_CSKY_ABIV2 = 0x20000000 , EF_CSKY_EFV1 = 0x1000000 ,
  EF_CSKY_EFV2 = 0x2000000 , EF_CSKY_EFV3 = 0x3000000
}
 
enum  
 
enum  : unsigned {
  EF_LOONGARCH_ABI_SOFT_FLOAT = 0x1 , EF_LOONGARCH_ABI_SINGLE_FLOAT = 0x2 , EF_LOONGARCH_ABI_DOUBLE_FLOAT = 0x3 , EF_LOONGARCH_ABI_MODIFIER_MASK = 0x7 ,
  EF_LOONGARCH_OBJABI_V0 = 0x0 , EF_LOONGARCH_OBJABI_V1 = 0x40 , EF_LOONGARCH_OBJABI_MASK = 0xC0
}
 
enum  
 
enum  : unsigned { EF_XTENSA_MACH = 0x0000000f , EF_XTENSA_MACH_NONE = 0x00000000 , EF_XTENSA_XT_INSN = 0x00000100 , EF_XTENSA_XT_LIT = 0x00000200 }
 
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_CREL = 0x40000014 , SHT_LOOS = 0x60000000 ,
  SHT_ANDROID_REL = 0x60000001 , SHT_ANDROID_RELA = 0x60000002 , SHT_LLVM_ODRTAB = 0x6fff4c00 , SHT_LLVM_LINKER_OPTIONS = 0x6fff4c01 ,
  SHT_LLVM_ADDRSIG = 0x6fff4c03 , SHT_LLVM_DEPENDENT_LIBRARIES , SHT_LLVM_SYMPART = 0x6fff4c05 , SHT_LLVM_PART_EHDR = 0x6fff4c06 ,
  SHT_LLVM_PART_PHDR = 0x6fff4c07 , SHT_LLVM_BB_ADDR_MAP_V0 , SHT_LLVM_CALL_GRAPH_PROFILE = 0x6fff4c09 , SHT_LLVM_BB_ADDR_MAP = 0x6fff4c0a ,
  SHT_LLVM_OFFLOADING = 0x6fff4c0b , SHT_LLVM_LTO = 0x6fff4c0c , SHT_LLVM_JT_SIZES = 0x6fff4c0d , 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_AARCH64_AUTH_RELR = 0x70000004U , SHT_AARCH64_MEMTAG_GLOBALS_STATIC = 0x70000007U , SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC = 0x70000008U , 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_RISCV_ATTRIBUTES = 0x70000003U , SHT_CSKY_ATTRIBUTES = 0x70000001U ,
  SHT_HEXAGON_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_GNU_RETAIN = 0x200000 ,
  SHF_EXCLUDE = 0x80000000U , SHF_MASKOS = 0x0ff00000 , SHF_SUNW_NODISCARD = 0x00100000 , 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_GNU_PROPERTY = 0x6474e553 , PT_OPENBSD_MUTABLE = 0x65a3dbe5 , PT_OPENBSD_RANDOMIZE = 0x65a3dbe6 ,
  PT_OPENBSD_WXNEEDED = 0x65a3dbe7 , PT_OPENBSD_NOBTCFI = 0x65a3dbe8 , PT_OPENBSD_SYSCALLS = 0x65a3dbe9 , PT_OPENBSD_BOOTDATA = 0x65a41be6 ,
  PT_ARM_ARCHEXT = 0x70000000 , PT_ARM_EXIDX = 0x70000001 , PT_ARM_UNWIND = 0x70000001 , PT_AARCH64_MEMTAG_MTE = 0x70000002 ,
  PT_MIPS_REGINFO = 0x70000000 , PT_MIPS_RTPROC = 0x70000001 , PT_MIPS_OPTIONS = 0x70000002 , PT_MIPS_ABIFLAGS = 0x70000003 ,
  PT_RISCV_ATTRIBUTES = 0x70000003
}
 
enum  : unsigned {
  PF_X = 1 , PF_W = 2 , PF_R = 4 , PF_MASKOS = 0x0ff00000 ,
  PF_MASKPROC = 0xf0000000
}
 
enum  
 
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 , DF_1_PIE = 0x08000000
}
 
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  : unsigned { NT_VERSION = 1 , NT_ARCH = 2 , NT_GNU_BUILD_ATTRIBUTE_OPEN = 0x100 , NT_GNU_BUILD_ATTRIBUTE_FUNC = 0x101 }
 
enum  : unsigned {
  NT_PRSTATUS = 1 , NT_FPREGSET = 2 , NT_PRPSINFO = 3 , NT_TASKSTRUCT = 4 ,
  NT_AUXV = 6 , NT_PSTATUS = 10 , NT_FPREGS = 12 , NT_PSINFO = 13 ,
  NT_LWPSTATUS = 16 , NT_LWPSINFO = 17 , NT_WIN32PSTATUS = 18 , NT_PPC_VMX = 0x100 ,
  NT_PPC_VSX = 0x102 , NT_PPC_TAR = 0x103 , NT_PPC_PPR = 0x104 , NT_PPC_DSCR = 0x105 ,
  NT_PPC_EBB = 0x106 , NT_PPC_PMU = 0x107 , NT_PPC_TM_CGPR = 0x108 , NT_PPC_TM_CFPR = 0x109 ,
  NT_PPC_TM_CVMX = 0x10a , NT_PPC_TM_CVSX = 0x10b , NT_PPC_TM_SPR = 0x10c , NT_PPC_TM_CTAR = 0x10d ,
  NT_PPC_TM_CPPR = 0x10e , NT_PPC_TM_CDSCR = 0x10f , NT_386_TLS = 0x200 , NT_386_IOPERM = 0x201 ,
  NT_X86_XSTATE = 0x202 , NT_S390_HIGH_GPRS = 0x300 , NT_S390_TIMER = 0x301 , NT_S390_TODCMP = 0x302 ,
  NT_S390_TODPREG = 0x303 , NT_S390_CTRS = 0x304 , NT_S390_PREFIX = 0x305 , NT_S390_LAST_BREAK = 0x306 ,
  NT_S390_SYSTEM_CALL = 0x307 , NT_S390_TDB = 0x308 , NT_S390_VXRS_LOW = 0x309 , NT_S390_VXRS_HIGH = 0x30a ,
  NT_S390_GS_CB = 0x30b , NT_S390_GS_BC = 0x30c , NT_ARM_VFP = 0x400 , NT_ARM_TLS = 0x401 ,
  NT_ARM_HW_BREAK = 0x402 , NT_ARM_HW_WATCH = 0x403 , NT_ARM_SVE = 0x405 , NT_ARM_PAC_MASK = 0x406 ,
  NT_ARM_TAGGED_ADDR_CTRL = 0x409 , NT_ARM_SSVE = 0x40b , NT_ARM_ZA = 0x40c , NT_ARM_ZT = 0x40d ,
  NT_ARM_FPMR = 0x40e , NT_ARM_GCS = 0x410 , NT_FILE = 0x46494c45 , NT_PRXFPREG = 0x46e62b7f ,
  NT_SIGINFO = 0x53494749
}
 
enum  { NT_LLVM_HWASAN_GLOBALS = 3 }
 
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 , FDO_PACKAGING_METADATA = 0xcafe1a7e
}
 
enum  { NT_ANDROID_TYPE_IDENT = 1 , NT_ANDROID_TYPE_KUSER = 3 , NT_ANDROID_TYPE_MEMTAG = 4 }
 
enum  {
  NT_MEMTAG_LEVEL_NONE = 0 , NT_MEMTAG_LEVEL_ASYNC = 1 , NT_MEMTAG_LEVEL_SYNC = 2 , NT_MEMTAG_LEVEL_MASK = 3 ,
  NT_MEMTAG_HEAP = 4 , NT_MEMTAG_STACK = 8
}
 
enum  : unsigned {
  GNU_PROPERTY_STACK_SIZE = 1 , GNU_PROPERTY_NO_COPY_ON_PROTECTED = 2 , GNU_PROPERTY_AARCH64_FEATURE_1_AND = 0xc0000000 , GNU_PROPERTY_AARCH64_FEATURE_PAUTH = 0xc0000001 ,
  GNU_PROPERTY_X86_FEATURE_1_AND = 0xc0000002 , GNU_PROPERTY_X86_UINT32_OR_LO = 0xc0008000 , GNU_PROPERTY_X86_FEATURE_2_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 1 , GNU_PROPERTY_X86_ISA_1_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 2 ,
  GNU_PROPERTY_X86_UINT32_OR_AND_LO = 0xc0010000 , GNU_PROPERTY_X86_FEATURE_2_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1 , GNU_PROPERTY_X86_ISA_1_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2
}
 
enum  : unsigned { GNU_PROPERTY_AARCH64_FEATURE_1_BTI = 1 << 0 , GNU_PROPERTY_AARCH64_FEATURE_1_PAC = 1 << 1 , GNU_PROPERTY_AARCH64_FEATURE_1_GCS = 1 << 2 }
 
enum  : unsigned { AARCH64_PAUTH_PLATFORM_INVALID = 0x0 , AARCH64_PAUTH_PLATFORM_BAREMETAL = 0x1 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX = 0x10000002 }
 
enum  : unsigned {
  AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INTRINSICS = 0 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_CALLS = 1 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_RETURNS = 2 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_AUTHTRAPS = 3 ,
  AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_VPTRADDRDISCR = 4 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_VPTRTYPEDISCR = 5 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INITFINI = 6 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INITFINIADDRDISC = 7 ,
  AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_GOT = 8 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_GOTOS = 9 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_TYPEINFOVPTRDISCR = 10 , AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_FPTRTYPEDISCR = 11 ,
  AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_LAST
}
 
enum  : unsigned {
  GNU_PROPERTY_X86_FEATURE_1_IBT = 1 << 0 , GNU_PROPERTY_X86_FEATURE_1_SHSTK = 1 << 1 , GNU_PROPERTY_X86_FEATURE_2_X86 = 1 << 0 , GNU_PROPERTY_X86_FEATURE_2_X87 = 1 << 1 ,
  GNU_PROPERTY_X86_FEATURE_2_MMX = 1 << 2 , GNU_PROPERTY_X86_FEATURE_2_XMM = 1 << 3 , GNU_PROPERTY_X86_FEATURE_2_YMM = 1 << 4 , GNU_PROPERTY_X86_FEATURE_2_ZMM = 1 << 5 ,
  GNU_PROPERTY_X86_FEATURE_2_FXSR = 1 << 6 , GNU_PROPERTY_X86_FEATURE_2_XSAVE = 1 << 7 , GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT = 1 << 8 , GNU_PROPERTY_X86_FEATURE_2_XSAVEC = 1 << 9 ,
  GNU_PROPERTY_X86_ISA_1_BASELINE = 1 << 0 , GNU_PROPERTY_X86_ISA_1_V2 = 1 << 1 , GNU_PROPERTY_X86_ISA_1_V3 = 1 << 2 , GNU_PROPERTY_X86_ISA_1_V4 = 1 << 3
}
 
enum  { NT_FREEBSD_ABI_TAG = 1 , NT_FREEBSD_NOINIT_TAG = 2 , NT_FREEBSD_ARCH_TAG = 3 , NT_FREEBSD_FEATURE_CTL = 4 }
 
enum  {
  NT_FREEBSD_FCTL_ASLR_DISABLE = 0x00000001 , NT_FREEBSD_FCTL_PROTMAX_DISABLE = 0x00000002 , NT_FREEBSD_FCTL_STKGAP_DISABLE = 0x00000004 , NT_FREEBSD_FCTL_WXNEEDED = 0x00000008 ,
  NT_FREEBSD_FCTL_LA48 = 0x00000010 , NT_FREEBSD_FCTL_ASG_DISABLE = 0x00000020
}
 
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_NETBSDCORE_PROCINFO = 1 , NT_NETBSDCORE_AUXV = 2 , NT_NETBSDCORE_LWPSTATUS = 24 }
 
enum  {
  NT_OPENBSD_PROCINFO = 10 , NT_OPENBSD_AUXV = 11 , NT_OPENBSD_REGS = 20 , NT_OPENBSD_FPREGS = 21 ,
  NT_OPENBSD_XFPREGS = 22 , NT_OPENBSD_WCOOKIE = 23
}
 
enum  { SHN_AMDGPU_LDS = 0xff00 }
 
enum  {
  NT_AMD_HSA_CODE_OBJECT_VERSION = 1 , NT_AMD_HSA_HSAIL = 2 , NT_AMD_HSA_ISA_VERSION = 3 , NT_AMD_HSA_METADATA = 10 ,
  NT_AMD_HSA_ISA_NAME = 11 , NT_AMD_PAL_METADATA = 12
}
 
enum  { NT_AMDGPU_METADATA = 32 }
 
enum  : unsigned { NT_LLVM_OPENMP_OFFLOAD_VERSION = 1 , NT_LLVM_OPENMP_OFFLOAD_PRODUCER = 2 , NT_LLVM_OPENMP_OFFLOAD_PRODUCER_VERSION = 3 }
 
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_ZSTD = 2 , ELFCOMPRESS_LOOS = 0x60000000 , ELFCOMPRESS_HIOS = 0x6fffffff ,
  ELFCOMPRESS_LOPROC = 0x70000000 , ELFCOMPRESS_HIPROC = 0x7fffffff
}
 

Functions

static int64_t decodePPC64LocalEntryOffset (unsigned Other)
 
uint16_t convertArchNameToEMachine (StringRef Arch)
 Convert an architecture name into ELF's e_machine value.
 
StringRef convertEMachineToArchName (uint16_t EMachine)
 Convert an ELF's e_machine value into an architecture name.
 
uint8_t convertNameToOSABI (StringRef Name)
 
StringRef convertOSABIToName (uint8_t OSABI)
 
template<bool Is64, class RelocsTy , class F >
void encodeCrel (raw_ostream &OS, RelocsTy Relocs, F ToCrel)
 

Variables

static const char ElfMagic [] = {0x7f, 'E', 'L', 'F', '\0'}
 
constexpr const charELF_NOTE_GNU = "GNU"
 
constexpr unsigned CREL_HDR_ADDEND = 4
 

Typedef Documentation

◆ Elf32_Addr

Definition at line 30 of file ELF.h.

◆ Elf32_Half

Definition at line 32 of file ELF.h.

◆ Elf32_Off

using llvm::ELF::Elf32_Off = typedef uint32_t

Definition at line 31 of file ELF.h.

◆ Elf32_Relr

Definition at line 1422 of file ELF.h.

◆ Elf32_Sword

using llvm::ELF::Elf32_Sword = typedef int32_t

Definition at line 34 of file ELF.h.

◆ Elf32_Word

Definition at line 33 of file ELF.h.

◆ Elf64_Addr

Definition at line 36 of file ELF.h.

◆ Elf64_Half

Definition at line 38 of file ELF.h.

◆ Elf64_Off

using llvm::ELF::Elf64_Off = typedef uint64_t

Definition at line 37 of file ELF.h.

◆ Elf64_Relr

Definition at line 1466 of file ELF.h.

◆ Elf64_Sword

using llvm::ELF::Elf64_Sword = typedef int32_t

Definition at line 40 of file ELF.h.

◆ Elf64_Sxword

using llvm::ELF::Elf64_Sxword = typedef int64_t

Definition at line 42 of file ELF.h.

◆ Elf64_Word

Definition at line 39 of file ELF.h.

◆ Elf64_Xword

Definition at line 41 of file ELF.h.

Enumeration Type Documentation

◆ 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_GNU_RETAIN 
SHF_EXCLUDE 
SHF_MASKOS 
SHF_SUNW_NODISCARD 
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 1183 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
GRP_COMDAT 
GRP_MASKOS 
GRP_MASKPROC 

Definition at line 1287 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
SYMENTRY_SIZE32 
SYMENTRY_SIZE64 

Definition at line 1334 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 1340 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 1352 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STV_DEFAULT 
STV_INTERNAL 
STV_HIDDEN 
STV_PROTECTED 

Definition at line 1370 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STN_UNDEF 

Definition at line 1378 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
RSS_UNDEF 
RSS_GP 
RSS_GP0 
RSS_LOC 

Definition at line 1381 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_GNU_PROPERTY 
PT_OPENBSD_MUTABLE 
PT_OPENBSD_RANDOMIZE 
PT_OPENBSD_WXNEEDED 
PT_OPENBSD_NOBTCFI 
PT_OPENBSD_SYSCALLS 
PT_OPENBSD_BOOTDATA 
PT_ARM_ARCHEXT 
PT_ARM_EXIDX 
PT_ARM_UNWIND 
PT_AARCH64_MEMTAG_MTE 
PT_MIPS_REGINFO 
PT_MIPS_RTPROC 
PT_MIPS_OPTIONS 
PT_MIPS_ABIFLAGS 
PT_RISCV_ATTRIBUTES 

Definition at line 1493 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
PF_X 
PF_W 
PF_R 
PF_MASKOS 
PF_MASKPROC 

Definition at line 1543 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 1570 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
DF_ORIGIN 
DF_SYMBOLIC 
DF_TEXTREL 
DF_BIND_NOW 
DF_STATIC_TLS 

Definition at line 1577 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 
DF_1_PIE 

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

◆ anonymous enum

anonymous enum
Enumerator
VER_DEF_NONE 
VER_DEF_CURRENT 

Definition at line 1642 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_FLG_BASE 
VER_FLG_WEAK 
VER_FLG_INFO 

Definition at line 1645 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_NDX_LOCAL 
VER_NDX_GLOBAL 
VERSYM_VERSION 
VERSYM_HIDDEN 

Definition at line 1648 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
VER_NEED_NONE 
VER_NEED_CURRENT 

Definition at line 1656 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
NT_VERSION 
NT_ARCH 
NT_GNU_BUILD_ATTRIBUTE_OPEN 
NT_GNU_BUILD_ATTRIBUTE_FUNC 

Definition at line 1661 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
NT_PRSTATUS 
NT_FPREGSET 
NT_PRPSINFO 
NT_TASKSTRUCT 
NT_AUXV 
NT_PSTATUS 
NT_FPREGS 
NT_PSINFO 
NT_LWPSTATUS 
NT_LWPSINFO 
NT_WIN32PSTATUS 
NT_PPC_VMX 
NT_PPC_VSX 
NT_PPC_TAR 
NT_PPC_PPR 
NT_PPC_DSCR 
NT_PPC_EBB 
NT_PPC_PMU 
NT_PPC_TM_CGPR 
NT_PPC_TM_CFPR 
NT_PPC_TM_CVMX 
NT_PPC_TM_CVSX 
NT_PPC_TM_SPR 
NT_PPC_TM_CTAR 
NT_PPC_TM_CPPR 
NT_PPC_TM_CDSCR 
NT_386_TLS 
NT_386_IOPERM 
NT_X86_XSTATE 
NT_S390_HIGH_GPRS 
NT_S390_TIMER 
NT_S390_TODCMP 
NT_S390_TODPREG 
NT_S390_CTRS 
NT_S390_PREFIX 
NT_S390_LAST_BREAK 
NT_S390_SYSTEM_CALL 
NT_S390_TDB 
NT_S390_VXRS_LOW 
NT_S390_VXRS_HIGH 
NT_S390_GS_CB 
NT_S390_GS_BC 
NT_ARM_VFP 
NT_ARM_TLS 
NT_ARM_HW_BREAK 
NT_ARM_HW_WATCH 
NT_ARM_SVE 
NT_ARM_PAC_MASK 
NT_ARM_TAGGED_ADDR_CTRL 
NT_ARM_SSVE 
NT_ARM_ZA 
NT_ARM_ZT 
NT_ARM_FPMR 
NT_ARM_GCS 
NT_FILE 
NT_PRXFPREG 
NT_SIGINFO 

Definition at line 1669 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_LLVM_HWASAN_GLOBALS 

Definition at line 1735 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 
FDO_PACKAGING_METADATA 

Definition at line 1740 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_ANDROID_TYPE_IDENT 
NT_ANDROID_TYPE_KUSER 
NT_ANDROID_TYPE_MEMTAG 

Definition at line 1750 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_MEMTAG_LEVEL_NONE 
NT_MEMTAG_LEVEL_ASYNC 
NT_MEMTAG_LEVEL_SYNC 
NT_MEMTAG_LEVEL_MASK 
NT_MEMTAG_HEAP 
NT_MEMTAG_STACK 

Definition at line 1757 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
GNU_PROPERTY_STACK_SIZE 
GNU_PROPERTY_NO_COPY_ON_PROTECTED 
GNU_PROPERTY_AARCH64_FEATURE_1_AND 
GNU_PROPERTY_AARCH64_FEATURE_PAUTH 
GNU_PROPERTY_X86_FEATURE_1_AND 
GNU_PROPERTY_X86_UINT32_OR_LO 
GNU_PROPERTY_X86_FEATURE_2_NEEDED 
GNU_PROPERTY_X86_ISA_1_NEEDED 
GNU_PROPERTY_X86_UINT32_OR_AND_LO 
GNU_PROPERTY_X86_FEATURE_2_USED 
GNU_PROPERTY_X86_ISA_1_USED 

Definition at line 1775 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
GNU_PROPERTY_AARCH64_FEATURE_1_BTI 
GNU_PROPERTY_AARCH64_FEATURE_1_PAC 
GNU_PROPERTY_AARCH64_FEATURE_1_GCS 

Definition at line 1792 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
AARCH64_PAUTH_PLATFORM_INVALID 
AARCH64_PAUTH_PLATFORM_BAREMETAL 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX 

Definition at line 1799 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INTRINSICS 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_CALLS 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_RETURNS 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_AUTHTRAPS 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_VPTRADDRDISCR 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_VPTRTYPEDISCR 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INITFINI 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INITFINIADDRDISC 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_GOT 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_GOTOS 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_TYPEINFOVPTRDISCR 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_FPTRTYPEDISCR 
AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_LAST 

Definition at line 1806 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
GNU_PROPERTY_X86_FEATURE_1_IBT 
GNU_PROPERTY_X86_FEATURE_1_SHSTK 
GNU_PROPERTY_X86_FEATURE_2_X86 
GNU_PROPERTY_X86_FEATURE_2_X87 
GNU_PROPERTY_X86_FEATURE_2_MMX 
GNU_PROPERTY_X86_FEATURE_2_XMM 
GNU_PROPERTY_X86_FEATURE_2_YMM 
GNU_PROPERTY_X86_FEATURE_2_ZMM 
GNU_PROPERTY_X86_FEATURE_2_FXSR 
GNU_PROPERTY_X86_FEATURE_2_XSAVE 
GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT 
GNU_PROPERTY_X86_FEATURE_2_XSAVEC 
GNU_PROPERTY_X86_ISA_1_BASELINE 
GNU_PROPERTY_X86_ISA_1_V2 
GNU_PROPERTY_X86_ISA_1_V3 
GNU_PROPERTY_X86_ISA_1_V4 

Definition at line 1824 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_FREEBSD_ABI_TAG 
NT_FREEBSD_NOINIT_TAG 
NT_FREEBSD_ARCH_TAG 
NT_FREEBSD_FEATURE_CTL 

Definition at line 1846 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_FREEBSD_FCTL_ASLR_DISABLE 
NT_FREEBSD_FCTL_PROTMAX_DISABLE 
NT_FREEBSD_FCTL_STKGAP_DISABLE 
NT_FREEBSD_FCTL_WXNEEDED 
NT_FREEBSD_FCTL_LA48 
NT_FREEBSD_FCTL_ASG_DISABLE 

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

◆ anonymous enum

anonymous enum
Enumerator
NT_NETBSDCORE_PROCINFO 
NT_NETBSDCORE_AUXV 
NT_NETBSDCORE_LWPSTATUS 

Definition at line 1878 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_OPENBSD_PROCINFO 
NT_OPENBSD_AUXV 
NT_OPENBSD_REGS 
NT_OPENBSD_FPREGS 
NT_OPENBSD_XFPREGS 
NT_OPENBSD_WCOOKIE 

Definition at line 1885 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
SHN_AMDGPU_LDS 

Definition at line 1895 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_AMD_HSA_CODE_OBJECT_VERSION 
NT_AMD_HSA_HSAIL 
NT_AMD_HSA_ISA_VERSION 
NT_AMD_HSA_METADATA 
NT_AMD_HSA_ISA_NAME 
NT_AMD_PAL_METADATA 

Definition at line 1900 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
NT_AMDGPU_METADATA 

Definition at line 1911 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
NT_LLVM_OPENMP_OFFLOAD_VERSION 
NT_LLVM_OPENMP_OFFLOAD_PRODUCER 
NT_LLVM_OPENMP_OFFLOAD_PRODUCER_VERSION 

Definition at line 1917 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 1923 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 1936 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFCOMPRESS_ZLIB 
ELFCOMPRESS_ZSTD 
ELFCOMPRESS_LOOS 
ELFCOMPRESS_HIOS 
ELFCOMPRESS_LOPROC 
ELFCOMPRESS_HIPROC 

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

◆ anonymous enum

anonymous enum
Enumerator
ET_NONE 
ET_REL 
ET_EXEC 
ET_DYN 
ET_CORE 
ET_LOOS 
ET_HIOS 
ET_LOPROC 
ET_HIPROC 

Definition at line 115 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EV_NONE 
EV_CURRENT 

Definition at line 128 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_MICROBLAZE 
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_VE 
EM_CSKY 
EM_LOONGARCH 

Definition at line 133 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFCLASSNONE 
ELFCLASS32 
ELFCLASS64 

Definition at line 327 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFDATANONE 
ELFDATA2LSB 
ELFDATA2MSB 

Definition at line 334 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_CUDA 
ELFOSABI_FIRST_ARCH 
ELFOSABI_AMDGPU_HSA 
ELFOSABI_AMDGPU_PAL 
ELFOSABI_AMDGPU_MESA3D 
ELFOSABI_ARM 
ELFOSABI_ARM_FDPIC 
ELFOSABI_C6000_ELFABI 
ELFOSABI_C6000_LINUX 
ELFOSABI_STANDALONE 
ELFOSABI_LAST_ARCH 

Definition at line 341 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
ELFABIVERSION_AMDGPU_HSA_V2 
ELFABIVERSION_AMDGPU_HSA_V3 
ELFABIVERSION_AMDGPU_HSA_V4 
ELFABIVERSION_AMDGPU_HSA_V5 
ELFABIVERSION_AMDGPU_HSA_V6 

Definition at line 374 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 387 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 392 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 397 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
EF_PPC64_ABI 

Definition at line 402 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STO_PPC64_LOCAL_BIT 
STO_PPC64_LOCAL_MASK 

Definition at line 411 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 421 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 426 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STO_AARCH64_VARIANT_PCS 

Definition at line 431 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_BE8 
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 437 of file ELF.h.

◆ anonymous enum

anonymous enum

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

◆ anonymous enum

anonymous enum

Definition at line 474 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 
EF_AVR_ARCH_MASK 
EF_AVR_LINKRELAX_PREPARED 

Definition at line 479 of file ELF.h.

◆ anonymous enum

anonymous enum

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

◆ anonymous enum

anonymous enum
Enumerator
SHN_MIPS_ACOMMON 
SHN_MIPS_TEXT 
SHN_MIPS_DATA 
SHN_MIPS_SCOMMON 
SHN_MIPS_SUNDEFINED 

Definition at line 573 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 582 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 587 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 596 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_MACH_V67 
EF_HEXAGON_MACH_V67T 
EF_HEXAGON_MACH_V68 
EF_HEXAGON_MACH_V69 
EF_HEXAGON_MACH_V71 
EF_HEXAGON_MACH_V71T 
EF_HEXAGON_MACH_V73 
EF_HEXAGON_MACH 
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 
EF_HEXAGON_ISA_V67 
EF_HEXAGON_ISA_V68 
EF_HEXAGON_ISA_V69 
EF_HEXAGON_ISA_V71 
EF_HEXAGON_ISA_V73 
EF_HEXAGON_ISA_V75 
EF_HEXAGON_ISA 

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

◆ anonymous enum

anonymous enum

Definition at line 663 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 668 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 
EF_RISCV_TSO 

Definition at line 673 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 685 of file ELF.h.

◆ anonymous enum

anonymous enum
Enumerator
STO_RISCV_VARIANT_CC 

Definition at line 689 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 696 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_SPARC_EXT_MASK 
EF_SPARC_32PLUS 
EF_SPARC_SUN_US1 
EF_SPARC_HAL_R1 
EF_SPARC_SUN_US3 
EF_SPARCV9_MM 
EF_SPARCV9_TSO 
EF_SPARCV9_PSO 
EF_SPARCV9_RMO 

Definition at line 701 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 722 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_RESERVED_0X27 
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_GFX908 
EF_AMDGPU_MACH_AMDGCN_GFX909 
EF_AMDGPU_MACH_AMDGCN_GFX90C 
EF_AMDGPU_MACH_AMDGCN_GFX1010 
EF_AMDGPU_MACH_AMDGCN_GFX1011 
EF_AMDGPU_MACH_AMDGCN_GFX1012 
EF_AMDGPU_MACH_AMDGCN_GFX1030 
EF_AMDGPU_MACH_AMDGCN_GFX1031 
EF_AMDGPU_MACH_AMDGCN_GFX1032 
EF_AMDGPU_MACH_AMDGCN_GFX1033 
EF_AMDGPU_MACH_AMDGCN_GFX602 
EF_AMDGPU_MACH_AMDGCN_GFX705 
EF_AMDGPU_MACH_AMDGCN_GFX805 
EF_AMDGPU_MACH_AMDGCN_GFX1035 
EF_AMDGPU_MACH_AMDGCN_GFX1034 
EF_AMDGPU_MACH_AMDGCN_GFX90A 
EF_AMDGPU_MACH_AMDGCN_GFX940 
EF_AMDGPU_MACH_AMDGCN_GFX1100 
EF_AMDGPU_MACH_AMDGCN_GFX1013 
EF_AMDGPU_MACH_AMDGCN_GFX1150 
EF_AMDGPU_MACH_AMDGCN_GFX1103 
EF_AMDGPU_MACH_AMDGCN_GFX1036 
EF_AMDGPU_MACH_AMDGCN_GFX1101 
EF_AMDGPU_MACH_AMDGCN_GFX1102 
EF_AMDGPU_MACH_AMDGCN_GFX1200 
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X49 
EF_AMDGPU_MACH_AMDGCN_GFX1151 
EF_AMDGPU_MACH_AMDGCN_GFX941 
EF_AMDGPU_MACH_AMDGCN_GFX942 
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X4D 
EF_AMDGPU_MACH_AMDGCN_GFX1201 
EF_AMDGPU_MACH_AMDGCN_GFX950 
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X50 
EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC 
EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC 
EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC 
EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC 
EF_AMDGPU_MACH_AMDGCN_GFX1152 
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X56 
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X57 
EF_AMDGPU_MACH_AMDGCN_GFX1153 
EF_AMDGPU_MACH_AMDGCN_GFX12_GENERIC 
EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC 
EF_AMDGPU_MACH_AMDGCN_FIRST 
EF_AMDGPU_MACH_AMDGCN_LAST 
EF_AMDGPU_FEATURE_XNACK_V2 
EF_AMDGPU_FEATURE_TRAP_HANDLER_V2 
EF_AMDGPU_FEATURE_XNACK_V3 
EF_AMDGPU_FEATURE_SRAMECC_V3 
EF_AMDGPU_FEATURE_XNACK_V4 
EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4 
EF_AMDGPU_FEATURE_XNACK_ANY_V4 
EF_AMDGPU_FEATURE_XNACK_OFF_V4 
EF_AMDGPU_FEATURE_XNACK_ON_V4 
EF_AMDGPU_FEATURE_SRAMECC_V4 
EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4 
EF_AMDGPU_FEATURE_SRAMECC_ANY_V4 
EF_AMDGPU_FEATURE_SRAMECC_OFF_V4 
EF_AMDGPU_FEATURE_SRAMECC_ON_V4 
EF_AMDGPU_GENERIC_VERSION 
EF_AMDGPU_GENERIC_VERSION_OFFSET 
EF_AMDGPU_GENERIC_VERSION_MIN 
EF_AMDGPU_GENERIC_VERSION_MAX 

Definition at line 727 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 888 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_CUDA_SM 
EF_CUDA_SM20 
EF_CUDA_SM21 
EF_CUDA_SM30 
EF_CUDA_SM32 
EF_CUDA_SM35 
EF_CUDA_SM37 
EF_CUDA_SM50 
EF_CUDA_SM52 
EF_CUDA_SM53 
EF_CUDA_SM60 
EF_CUDA_SM61 
EF_CUDA_SM62 
EF_CUDA_SM70 
EF_CUDA_SM72 
EF_CUDA_SM75 
EF_CUDA_SM80 
EF_CUDA_SM86 
EF_CUDA_SM87 
EF_CUDA_SM89 
EF_CUDA_SM90 
EF_CUDA_TEXMODE_UNIFIED 
EF_CUDA_TEXMODE_INDEPENDANT 
EF_CUDA_64BIT_ADDRESS 
EF_CUDA_ACCELERATORS 
EF_CUDA_SW_FLAG_V2 
EF_CUDA_VIRTUAL_SM 

Definition at line 893 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 936 of file ELF.h.

◆ anonymous enum

anonymous enum

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

◆ anonymous enum

anonymous enum

Definition at line 973 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 978 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_CSKY_801 
EF_CSKY_802 
EF_CSKY_803 
EF_CSKY_805 
EF_CSKY_807 
EF_CSKY_810 
EF_CSKY_860 
EF_CSKY_800 
EF_CSKY_FLOAT 
EF_CSKY_DSP 
EF_CSKY_ABIV2 
EF_CSKY_EFV1 
EF_CSKY_EFV2 
EF_CSKY_EFV3 

Definition at line 983 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 1001 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_LOONGARCH_ABI_SOFT_FLOAT 
EF_LOONGARCH_ABI_SINGLE_FLOAT 
EF_LOONGARCH_ABI_DOUBLE_FLOAT 
EF_LOONGARCH_ABI_MODIFIER_MASK 
EF_LOONGARCH_OBJABI_V0 
EF_LOONGARCH_OBJABI_V1 
EF_LOONGARCH_OBJABI_MASK 

Definition at line 1006 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 1024 of file ELF.h.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
EF_XTENSA_MACH 
EF_XTENSA_MACH_NONE 
EF_XTENSA_XT_INSN 
EF_XTENSA_XT_LIT 

Definition at line 1029 of file ELF.h.

◆ anonymous enum

anonymous enum

Definition at line 1039 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 1074 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_CREL 
SHT_LOOS 
SHT_ANDROID_REL 
SHT_ANDROID_RELA 
SHT_LLVM_ODRTAB 
SHT_LLVM_LINKER_OPTIONS 
SHT_LLVM_ADDRSIG 
SHT_LLVM_DEPENDENT_LIBRARIES 
SHT_LLVM_SYMPART 
SHT_LLVM_PART_EHDR 
SHT_LLVM_PART_PHDR 
SHT_LLVM_BB_ADDR_MAP_V0 
SHT_LLVM_CALL_GRAPH_PROFILE 
SHT_LLVM_BB_ADDR_MAP 
SHT_LLVM_OFFLOADING 
SHT_LLVM_LTO 
SHT_LLVM_JT_SIZES 
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_AARCH64_AUTH_RELR 
SHT_AARCH64_MEMTAG_GLOBALS_STATIC 
SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC 
SHT_HEX_ORDERED 
SHT_X86_64_UNWIND 
SHT_MIPS_REGINFO 
SHT_MIPS_OPTIONS 
SHT_MIPS_DWARF 
SHT_MIPS_ABIFLAGS 
SHT_MSP430_ATTRIBUTES 
SHT_RISCV_ATTRIBUTES 
SHT_CSKY_ATTRIBUTES 
SHT_HEXAGON_ATTRIBUTES 
SHT_HIPROC 
SHT_LOUSER 
SHT_HIUSER 

Definition at line 1088 of file ELF.h.

Function Documentation

◆ convertArchNameToEMachine()

uint16_t llvm::ELF::convertArchNameToEMachine ( StringRef  Arch)

Convert an architecture name into ELF's e_machine value.

Definition at line 16 of file ELF.cpp.

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

Referenced by llvm::ifs::readIFSFromBuffer().

◆ convertEMachineToArchName()

StringRef llvm::ELF::convertEMachineToArchName ( uint16_t  EMachine)

Convert an ELF's e_machine value into an architecture name.

Definition at line 204 of file ELF.cpp.

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

Referenced by llvm::ifs::writeIFSToOutputStream().

◆ convertNameToOSABI()

uint8_t llvm::ELF::convertNameToOSABI ( StringRef  Name)

◆ convertOSABIToName()

StringRef llvm::ELF::convertOSABIToName ( uint8_t  OSABI)

◆ decodePPC64LocalEntryOffset()

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

Definition at line 415 of file ELF.h.

References llvm::Other, STO_PPC64_LOCAL_BIT, and STO_PPC64_LOCAL_MASK.

Referenced by llvm::RuntimeDyldELF::processRelocationRef().

◆ encodeCrel()

template<bool Is64, class RelocsTy , class F >
void llvm::ELF::encodeCrel ( raw_ostream OS,
RelocsTy  Relocs,
F  ToCrel 
)

Variable Documentation

◆ CREL_HDR_ADDEND

constexpr unsigned llvm::ELF::CREL_HDR_ADDEND = 4
constexpr

Definition at line 1982 of file ELF.h.

Referenced by llvm::object::decodeCrel(), and encodeCrel().

◆ ELF_NOTE_GNU

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

Definition at line 1933 of file ELF.h.

◆ ElfMagic

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