LLVM  15.0.0git
ELF.h
Go to the documentation of this file.
1 //===- llvm/BinaryFormat/ELF.h - ELF constants and structures ---*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This header contains common, non-processor-specific data structures and
10 // constants for the ELF file format.
11 //
12 // The details of the ELF32 bits in this file are largely based on the Tool
13 // Interface Standard (TIS) Executable and Linking Format (ELF) Specification
14 // Version 1.2, May 1995. The ELF64 stuff is based on ELF-64 Object File Format
15 // Version 1.5, Draft 2, May 1998 as well as OpenBSD header files.
16 //
17 //===----------------------------------------------------------------------===//
18 
19 #ifndef LLVM_BINARYFORMAT_ELF_H
20 #define LLVM_BINARYFORMAT_ELF_H
21 
22 #include "llvm/ADT/StringRef.h"
23 #include <cstdint>
24 #include <cstring>
25 
26 namespace llvm {
27 namespace ELF {
28 
29 using Elf32_Addr = uint32_t; // Program address
30 using Elf32_Off = uint32_t; // File offset
33 using Elf32_Sword = int32_t;
34 
39 using Elf64_Sword = int32_t;
41 using Elf64_Sxword = int64_t;
42 
43 // Object file magic string.
44 static const char ElfMagic[] = {0x7f, 'E', 'L', 'F', '\0'};
45 
46 // e_ident size and indices.
47 enum {
48  EI_MAG0 = 0, // File identification index.
49  EI_MAG1 = 1, // File identification index.
50  EI_MAG2 = 2, // File identification index.
51  EI_MAG3 = 3, // File identification index.
52  EI_CLASS = 4, // File class.
53  EI_DATA = 5, // Data encoding.
54  EI_VERSION = 6, // File version.
55  EI_OSABI = 7, // OS/ABI identification.
56  EI_ABIVERSION = 8, // ABI version.
57  EI_PAD = 9, // Start of padding bytes.
58  EI_NIDENT = 16 // Number of bytes in e_ident.
59 };
60 
61 struct Elf32_Ehdr {
62  unsigned char e_ident[EI_NIDENT]; // ELF Identification bytes
63  Elf32_Half e_type; // Type of file (see ET_* below)
64  Elf32_Half e_machine; // Required architecture for this file (see EM_*)
65  Elf32_Word e_version; // Must be equal to 1
66  Elf32_Addr e_entry; // Address to jump to in order to start program
67  Elf32_Off e_phoff; // Program header table's file offset, in bytes
68  Elf32_Off e_shoff; // Section header table's file offset, in bytes
69  Elf32_Word e_flags; // Processor-specific flags
70  Elf32_Half e_ehsize; // Size of ELF header, in bytes
71  Elf32_Half e_phentsize; // Size of an entry in the program header table
72  Elf32_Half e_phnum; // Number of entries in the program header table
73  Elf32_Half e_shentsize; // Size of an entry in the section header table
74  Elf32_Half e_shnum; // Number of entries in the section header table
75  Elf32_Half e_shstrndx; // Sect hdr table index of sect name string table
76 
77  bool checkMagic() const {
78  return (memcmp(e_ident, ElfMagic, strlen(ElfMagic))) == 0;
79  }
80 
81  unsigned char getFileClass() const { return e_ident[EI_CLASS]; }
82  unsigned char getDataEncoding() const { return e_ident[EI_DATA]; }
83 };
84 
85 // 64-bit ELF header. Fields are the same as for ELF32, but with different
86 // types (see above).
87 struct Elf64_Ehdr {
88  unsigned char e_ident[EI_NIDENT];
102 
103  bool checkMagic() const {
104  return (memcmp(e_ident, ElfMagic, strlen(ElfMagic))) == 0;
105  }
106 
107  unsigned char getFileClass() const { return e_ident[EI_CLASS]; }
108  unsigned char getDataEncoding() const { return e_ident[EI_DATA]; }
109 };
110 
111 // File types.
112 // See current registered ELF types at:
113 // http://www.sco.com/developers/gabi/latest/ch4.eheader.html
114 enum {
115  ET_NONE = 0, // No file type
116  ET_REL = 1, // Relocatable file
117  ET_EXEC = 2, // Executable file
118  ET_DYN = 3, // Shared object file
119  ET_CORE = 4, // Core file
120  ET_LOOS = 0xfe00, // Beginning of operating system-specific codes
121  ET_HIOS = 0xfeff, // Operating system-specific
122  ET_LOPROC = 0xff00, // Beginning of processor-specific codes
123  ET_HIPROC = 0xffff // Processor-specific
124 };
125 
126 // Versioning
127 enum { EV_NONE = 0, EV_CURRENT = 1 };
128 
129 // Machine architectures
130 // See current registered ELF machine architectures at:
131 // http://www.uxsglobal.com/developers/gabi/latest/ch4.eheader.html
132 enum {
133  EM_NONE = 0, // No machine
134  EM_M32 = 1, // AT&T WE 32100
135  EM_SPARC = 2, // SPARC
136  EM_386 = 3, // Intel 386
137  EM_68K = 4, // Motorola 68000
138  EM_88K = 5, // Motorola 88000
139  EM_IAMCU = 6, // Intel MCU
140  EM_860 = 7, // Intel 80860
141  EM_MIPS = 8, // MIPS R3000
142  EM_S370 = 9, // IBM System/370
143  EM_MIPS_RS3_LE = 10, // MIPS RS3000 Little-endian
144  EM_PARISC = 15, // Hewlett-Packard PA-RISC
145  EM_VPP500 = 17, // Fujitsu VPP500
146  EM_SPARC32PLUS = 18, // Enhanced instruction set SPARC
147  EM_960 = 19, // Intel 80960
148  EM_PPC = 20, // PowerPC
149  EM_PPC64 = 21, // PowerPC64
150  EM_S390 = 22, // IBM System/390
151  EM_SPU = 23, // IBM SPU/SPC
152  EM_V800 = 36, // NEC V800
153  EM_FR20 = 37, // Fujitsu FR20
154  EM_RH32 = 38, // TRW RH-32
155  EM_RCE = 39, // Motorola RCE
156  EM_ARM = 40, // ARM
157  EM_ALPHA = 41, // DEC Alpha
158  EM_SH = 42, // Hitachi SH
159  EM_SPARCV9 = 43, // SPARC V9
160  EM_TRICORE = 44, // Siemens TriCore
161  EM_ARC = 45, // Argonaut RISC Core
162  EM_H8_300 = 46, // Hitachi H8/300
163  EM_H8_300H = 47, // Hitachi H8/300H
164  EM_H8S = 48, // Hitachi H8S
165  EM_H8_500 = 49, // Hitachi H8/500
166  EM_IA_64 = 50, // Intel IA-64 processor architecture
167  EM_MIPS_X = 51, // Stanford MIPS-X
168  EM_COLDFIRE = 52, // Motorola ColdFire
169  EM_68HC12 = 53, // Motorola M68HC12
170  EM_MMA = 54, // Fujitsu MMA Multimedia Accelerator
171  EM_PCP = 55, // Siemens PCP
172  EM_NCPU = 56, // Sony nCPU embedded RISC processor
173  EM_NDR1 = 57, // Denso NDR1 microprocessor
174  EM_STARCORE = 58, // Motorola Star*Core processor
175  EM_ME16 = 59, // Toyota ME16 processor
176  EM_ST100 = 60, // STMicroelectronics ST100 processor
177  EM_TINYJ = 61, // Advanced Logic Corp. TinyJ embedded processor family
178  EM_X86_64 = 62, // AMD x86-64 architecture
179  EM_PDSP = 63, // Sony DSP Processor
180  EM_PDP10 = 64, // Digital Equipment Corp. PDP-10
181  EM_PDP11 = 65, // Digital Equipment Corp. PDP-11
182  EM_FX66 = 66, // Siemens FX66 microcontroller
183  EM_ST9PLUS = 67, // STMicroelectronics ST9+ 8/16 bit microcontroller
184  EM_ST7 = 68, // STMicroelectronics ST7 8-bit microcontroller
185  EM_68HC16 = 69, // Motorola MC68HC16 Microcontroller
186  EM_68HC11 = 70, // Motorola MC68HC11 Microcontroller
187  EM_68HC08 = 71, // Motorola MC68HC08 Microcontroller
188  EM_68HC05 = 72, // Motorola MC68HC05 Microcontroller
189  EM_SVX = 73, // Silicon Graphics SVx
190  EM_ST19 = 74, // STMicroelectronics ST19 8-bit microcontroller
191  EM_VAX = 75, // Digital VAX
192  EM_CRIS = 76, // Axis Communications 32-bit embedded processor
193  EM_JAVELIN = 77, // Infineon Technologies 32-bit embedded processor
194  EM_FIREPATH = 78, // Element 14 64-bit DSP Processor
195  EM_ZSP = 79, // LSI Logic 16-bit DSP Processor
196  EM_MMIX = 80, // Donald Knuth's educational 64-bit processor
197  EM_HUANY = 81, // Harvard University machine-independent object files
198  EM_PRISM = 82, // SiTera Prism
199  EM_AVR = 83, // Atmel AVR 8-bit microcontroller
200  EM_FR30 = 84, // Fujitsu FR30
201  EM_D10V = 85, // Mitsubishi D10V
202  EM_D30V = 86, // Mitsubishi D30V
203  EM_V850 = 87, // NEC v850
204  EM_M32R = 88, // Mitsubishi M32R
205  EM_MN10300 = 89, // Matsushita MN10300
206  EM_MN10200 = 90, // Matsushita MN10200
207  EM_PJ = 91, // picoJava
208  EM_OPENRISC = 92, // OpenRISC 32-bit embedded processor
209  EM_ARC_COMPACT = 93, // ARC International ARCompact processor (old
210  // spelling/synonym: EM_ARC_A5)
211  EM_XTENSA = 94, // Tensilica Xtensa Architecture
212  EM_VIDEOCORE = 95, // Alphamosaic VideoCore processor
213  EM_TMM_GPP = 96, // Thompson Multimedia General Purpose Processor
214  EM_NS32K = 97, // National Semiconductor 32000 series
215  EM_TPC = 98, // Tenor Network TPC processor
216  EM_SNP1K = 99, // Trebia SNP 1000 processor
217  EM_ST200 = 100, // STMicroelectronics (www.st.com) ST200
218  EM_IP2K = 101, // Ubicom IP2xxx microcontroller family
219  EM_MAX = 102, // MAX Processor
220  EM_CR = 103, // National Semiconductor CompactRISC microprocessor
221  EM_F2MC16 = 104, // Fujitsu F2MC16
222  EM_MSP430 = 105, // Texas Instruments embedded microcontroller msp430
223  EM_BLACKFIN = 106, // Analog Devices Blackfin (DSP) processor
224  EM_SE_C33 = 107, // S1C33 Family of Seiko Epson processors
225  EM_SEP = 108, // Sharp embedded microprocessor
226  EM_ARCA = 109, // Arca RISC Microprocessor
227  EM_UNICORE = 110, // Microprocessor series from PKU-Unity Ltd. and MPRC
228  // of Peking University
229  EM_EXCESS = 111, // eXcess: 16/32/64-bit configurable embedded CPU
230  EM_DXP = 112, // Icera Semiconductor Inc. Deep Execution Processor
231  EM_ALTERA_NIOS2 = 113, // Altera Nios II soft-core processor
232  EM_CRX = 114, // National Semiconductor CompactRISC CRX
233  EM_XGATE = 115, // Motorola XGATE embedded processor
234  EM_C166 = 116, // Infineon C16x/XC16x processor
235  EM_M16C = 117, // Renesas M16C series microprocessors
236  EM_DSPIC30F = 118, // Microchip Technology dsPIC30F Digital Signal
237  // Controller
238  EM_CE = 119, // Freescale Communication Engine RISC core
239  EM_M32C = 120, // Renesas M32C series microprocessors
240  EM_TSK3000 = 131, // Altium TSK3000 core
241  EM_RS08 = 132, // Freescale RS08 embedded processor
242  EM_SHARC = 133, // Analog Devices SHARC family of 32-bit DSP
243  // processors
244  EM_ECOG2 = 134, // Cyan Technology eCOG2 microprocessor
245  EM_SCORE7 = 135, // Sunplus S+core7 RISC processor
246  EM_DSP24 = 136, // New Japan Radio (NJR) 24-bit DSP Processor
247  EM_VIDEOCORE3 = 137, // Broadcom VideoCore III processor
248  EM_LATTICEMICO32 = 138, // RISC processor for Lattice FPGA architecture
249  EM_SE_C17 = 139, // Seiko Epson C17 family
250  EM_TI_C6000 = 140, // The Texas Instruments TMS320C6000 DSP family
251  EM_TI_C2000 = 141, // The Texas Instruments TMS320C2000 DSP family
252  EM_TI_C5500 = 142, // The Texas Instruments TMS320C55x DSP family
253  EM_MMDSP_PLUS = 160, // STMicroelectronics 64bit VLIW Data Signal Processor
254  EM_CYPRESS_M8C = 161, // Cypress M8C microprocessor
255  EM_R32C = 162, // Renesas R32C series microprocessors
256  EM_TRIMEDIA = 163, // NXP Semiconductors TriMedia architecture family
257  EM_HEXAGON = 164, // Qualcomm Hexagon processor
258  EM_8051 = 165, // Intel 8051 and variants
259  EM_STXP7X = 166, // STMicroelectronics STxP7x family of configurable
260  // and extensible RISC processors
261  EM_NDS32 = 167, // Andes Technology compact code size embedded RISC
262  // processor family
263  EM_ECOG1 = 168, // Cyan Technology eCOG1X family
264  EM_ECOG1X = 168, // Cyan Technology eCOG1X family
265  EM_MAXQ30 = 169, // Dallas Semiconductor MAXQ30 Core Micro-controllers
266  EM_XIMO16 = 170, // New Japan Radio (NJR) 16-bit DSP Processor
267  EM_MANIK = 171, // M2000 Reconfigurable RISC Microprocessor
268  EM_CRAYNV2 = 172, // Cray Inc. NV2 vector architecture
269  EM_RX = 173, // Renesas RX family
270  EM_METAG = 174, // Imagination Technologies META processor
271  // architecture
272  EM_MCST_ELBRUS = 175, // MCST Elbrus general purpose hardware architecture
273  EM_ECOG16 = 176, // Cyan Technology eCOG16 family
274  EM_CR16 = 177, // National Semiconductor CompactRISC CR16 16-bit
275  // microprocessor
276  EM_ETPU = 178, // Freescale Extended Time Processing Unit
277  EM_SLE9X = 179, // Infineon Technologies SLE9X core
278  EM_L10M = 180, // Intel L10M
279  EM_K10M = 181, // Intel K10M
280  EM_AARCH64 = 183, // ARM AArch64
281  EM_AVR32 = 185, // Atmel Corporation 32-bit microprocessor family
282  EM_STM8 = 186, // STMicroeletronics STM8 8-bit microcontroller
283  EM_TILE64 = 187, // Tilera TILE64 multicore architecture family
284  EM_TILEPRO = 188, // Tilera TILEPro multicore architecture family
285  EM_MICROBLAZE = 189, // Xilinx MicroBlaze 32-bit RISC soft processor core
286  EM_CUDA = 190, // NVIDIA CUDA architecture
287  EM_TILEGX = 191, // Tilera TILE-Gx multicore architecture family
288  EM_CLOUDSHIELD = 192, // CloudShield architecture family
289  EM_COREA_1ST = 193, // KIPO-KAIST Core-A 1st generation processor family
290  EM_COREA_2ND = 194, // KIPO-KAIST Core-A 2nd generation processor family
291  EM_ARC_COMPACT2 = 195, // Synopsys ARCompact V2
292  EM_OPEN8 = 196, // Open8 8-bit RISC soft processor core
293  EM_RL78 = 197, // Renesas RL78 family
294  EM_VIDEOCORE5 = 198, // Broadcom VideoCore V processor
295  EM_78KOR = 199, // Renesas 78KOR family
296  EM_56800EX = 200, // Freescale 56800EX Digital Signal Controller (DSC)
297  EM_BA1 = 201, // Beyond BA1 CPU architecture
298  EM_BA2 = 202, // Beyond BA2 CPU architecture
299  EM_XCORE = 203, // XMOS xCORE processor family
300  EM_MCHP_PIC = 204, // Microchip 8-bit PIC(r) family
301  EM_INTEL205 = 205, // Reserved by Intel
302  EM_INTEL206 = 206, // Reserved by Intel
303  EM_INTEL207 = 207, // Reserved by Intel
304  EM_INTEL208 = 208, // Reserved by Intel
305  EM_INTEL209 = 209, // Reserved by Intel
306  EM_KM32 = 210, // KM211 KM32 32-bit processor
307  EM_KMX32 = 211, // KM211 KMX32 32-bit processor
308  EM_KMX16 = 212, // KM211 KMX16 16-bit processor
309  EM_KMX8 = 213, // KM211 KMX8 8-bit processor
310  EM_KVARC = 214, // KM211 KVARC processor
311  EM_CDP = 215, // Paneve CDP architecture family
312  EM_COGE = 216, // Cognitive Smart Memory Processor
313  EM_COOL = 217, // iCelero CoolEngine
314  EM_NORC = 218, // Nanoradio Optimized RISC
315  EM_CSR_KALIMBA = 219, // CSR Kalimba architecture family
316  EM_AMDGPU = 224, // AMD GPU architecture
317  EM_RISCV = 243, // RISC-V
318  EM_LANAI = 244, // Lanai 32-bit processor
319  EM_BPF = 247, // Linux kernel bpf virtual machine
320  EM_VE = 251, // NEC SX-Aurora VE
321  EM_CSKY = 252, // C-SKY 32-bit processor
322  EM_LOONGARCH = 258, // LoongArch
323 };
324 
325 // Object file classes.
326 enum {
328  ELFCLASS32 = 1, // 32-bit object file
329  ELFCLASS64 = 2 // 64-bit object file
330 };
331 
332 // Object file byte orderings.
333 enum {
334  ELFDATANONE = 0, // Invalid data encoding.
335  ELFDATA2LSB = 1, // Little-endian object file
336  ELFDATA2MSB = 2 // Big-endian object file
337 };
338 
339 // OS ABI identification.
340 enum {
341  ELFOSABI_NONE = 0, // UNIX System V ABI
342  ELFOSABI_HPUX = 1, // HP-UX operating system
343  ELFOSABI_NETBSD = 2, // NetBSD
344  ELFOSABI_GNU = 3, // GNU/Linux
345  ELFOSABI_LINUX = 3, // Historical alias for ELFOSABI_GNU.
346  ELFOSABI_HURD = 4, // GNU/Hurd
347  ELFOSABI_SOLARIS = 6, // Solaris
348  ELFOSABI_AIX = 7, // AIX
349  ELFOSABI_IRIX = 8, // IRIX
350  ELFOSABI_FREEBSD = 9, // FreeBSD
351  ELFOSABI_TRU64 = 10, // TRU64 UNIX
352  ELFOSABI_MODESTO = 11, // Novell Modesto
353  ELFOSABI_OPENBSD = 12, // OpenBSD
354  ELFOSABI_OPENVMS = 13, // OpenVMS
355  ELFOSABI_NSK = 14, // Hewlett-Packard Non-Stop Kernel
356  ELFOSABI_AROS = 15, // AROS
357  ELFOSABI_FENIXOS = 16, // FenixOS
358  ELFOSABI_CLOUDABI = 17, // Nuxi CloudABI
359  ELFOSABI_FIRST_ARCH = 64, // First architecture-specific OS ABI
360  ELFOSABI_AMDGPU_HSA = 64, // AMD HSA runtime
361  ELFOSABI_AMDGPU_PAL = 65, // AMD PAL runtime
362  ELFOSABI_AMDGPU_MESA3D = 66, // AMD GCN GPUs (GFX6+) for MESA runtime
363  ELFOSABI_ARM = 97, // ARM
364  ELFOSABI_C6000_ELFABI = 64, // Bare-metal TMS320C6000
365  ELFOSABI_C6000_LINUX = 65, // Linux TMS320C6000
366  ELFOSABI_STANDALONE = 255, // Standalone (embedded) application
367  ELFOSABI_LAST_ARCH = 255 // Last Architecture-specific OS ABI
368 };
369 
370 // AMDGPU OS ABI Version identification.
371 enum {
372  // ELFABIVERSION_AMDGPU_HSA_V1 does not exist because OS ABI identification
373  // was never defined for V1.
378 };
379 
380 #define ELF_RELOC(name, value) name = value,
381 
382 // X86_64 relocations.
383 enum {
384 #include "ELFRelocs/x86_64.def"
385 };
386 
387 // i386 relocations.
388 enum {
389 #include "ELFRelocs/i386.def"
390 };
391 
392 // ELF Relocation types for PPC32
393 enum {
394 #include "ELFRelocs/PowerPC.def"
395 };
396 
397 // Specific e_flags for PPC64
398 enum {
399  // e_flags bits specifying ABI:
400  // 1 for original ABI using function descriptors,
401  // 2 for revised ABI without function descriptors,
402  // 0 for unspecified or not using any features affected by the differences.
404 };
405 
406 // Special values for the st_other field in the symbol table entry for PPC64.
407 enum {
410 };
411 static inline int64_t decodePPC64LocalEntryOffset(unsigned Other) {
412  unsigned Val = (Other & STO_PPC64_LOCAL_MASK) >> STO_PPC64_LOCAL_BIT;
413  return ((1 << Val) >> 2) << 2;
414 }
415 
416 // ELF Relocation types for PPC64
417 enum {
418 #include "ELFRelocs/PowerPC64.def"
419 };
420 
421 // ELF Relocation types for AArch64
422 enum {
423 #include "ELFRelocs/AArch64.def"
424 };
425 
426 // Special values for the st_other field in the symbol table entry for AArch64.
427 enum {
428  // Symbol may follow different calling convention than base PCS.
430 };
431 
432 // ARM Specific e_flags
433 enum : unsigned {
434  EF_ARM_SOFT_FLOAT = 0x00000200U, // Legacy pre EABI_VER5
435  EF_ARM_ABI_FLOAT_SOFT = 0x00000200U, // EABI_VER5
436  EF_ARM_VFP_FLOAT = 0x00000400U, // Legacy pre EABI_VER5
437  EF_ARM_ABI_FLOAT_HARD = 0x00000400U, // EABI_VER5
438  EF_ARM_EABI_UNKNOWN = 0x00000000U,
439  EF_ARM_EABI_VER1 = 0x01000000U,
440  EF_ARM_EABI_VER2 = 0x02000000U,
441  EF_ARM_EABI_VER3 = 0x03000000U,
442  EF_ARM_EABI_VER4 = 0x04000000U,
443  EF_ARM_EABI_VER5 = 0x05000000U,
444  EF_ARM_EABIMASK = 0xFF000000U
445 };
446 
447 // ELF Relocation types for ARM
448 enum {
449 #include "ELFRelocs/ARM.def"
450 };
451 
452 // ARC Specific e_flags
453 enum : unsigned {
454  EF_ARC_MACH_MSK = 0x000000ff,
455  EF_ARC_OSABI_MSK = 0x00000f00,
456  E_ARC_MACH_ARC600 = 0x00000002,
457  E_ARC_MACH_ARC601 = 0x00000004,
458  E_ARC_MACH_ARC700 = 0x00000003,
459  EF_ARC_CPU_ARCV2EM = 0x00000005,
460  EF_ARC_CPU_ARCV2HS = 0x00000006,
461  E_ARC_OSABI_ORIG = 0x00000000,
462  E_ARC_OSABI_V2 = 0x00000200,
463  E_ARC_OSABI_V3 = 0x00000300,
464  E_ARC_OSABI_V4 = 0x00000400,
465  EF_ARC_PIC = 0x00000100
466 };
467 
468 // ELF Relocation types for ARC
469 enum {
470 #include "ELFRelocs/ARC.def"
471 };
472 
473 // AVR specific e_flags
474 enum : unsigned {
493 
494  EF_AVR_ARCH_MASK = 0x7f, // EF_AVR_ARCH_xxx selection mask
495 
496  EF_AVR_LINKRELAX_PREPARED = 0x80, // The file is prepared for linker
497  // relaxation to be applied
498 };
499 
500 // ELF Relocation types for AVR
501 enum {
502 #include "ELFRelocs/AVR.def"
503 };
504 
505 // Mips Specific e_flags
506 enum : unsigned {
507  EF_MIPS_NOREORDER = 0x00000001, // Don't reorder instructions
508  EF_MIPS_PIC = 0x00000002, // Position independent code
509  EF_MIPS_CPIC = 0x00000004, // Call object with Position independent code
510  EF_MIPS_ABI2 = 0x00000020, // File uses N32 ABI
511  EF_MIPS_32BITMODE = 0x00000100, // Code compiled for a 64-bit machine
512  // in 32-bit mode
513  EF_MIPS_FP64 = 0x00000200, // Code compiled for a 32-bit machine
514  // but uses 64-bit FP registers
515  EF_MIPS_NAN2008 = 0x00000400, // Uses IEE 754-2008 NaN encoding
516 
517  // ABI flags
518  EF_MIPS_ABI_O32 = 0x00001000, // This file follows the first MIPS 32 bit ABI
519  EF_MIPS_ABI_O64 = 0x00002000, // O32 ABI extended for 64-bit architecture.
520  EF_MIPS_ABI_EABI32 = 0x00003000, // EABI in 32 bit mode.
521  EF_MIPS_ABI_EABI64 = 0x00004000, // EABI in 64 bit mode.
522  EF_MIPS_ABI = 0x0000f000, // Mask for selecting EF_MIPS_ABI_ variant.
523 
524  // MIPS machine variant
525  EF_MIPS_MACH_NONE = 0x00000000, // A standard MIPS implementation.
526  EF_MIPS_MACH_3900 = 0x00810000, // Toshiba R3900
527  EF_MIPS_MACH_4010 = 0x00820000, // LSI R4010
528  EF_MIPS_MACH_4100 = 0x00830000, // NEC VR4100
529  EF_MIPS_MACH_4650 = 0x00850000, // MIPS R4650
530  EF_MIPS_MACH_4120 = 0x00870000, // NEC VR4120
531  EF_MIPS_MACH_4111 = 0x00880000, // NEC VR4111/VR4181
532  EF_MIPS_MACH_SB1 = 0x008a0000, // Broadcom SB-1
533  EF_MIPS_MACH_OCTEON = 0x008b0000, // Cavium Networks Octeon
534  EF_MIPS_MACH_XLR = 0x008c0000, // RMI Xlr
535  EF_MIPS_MACH_OCTEON2 = 0x008d0000, // Cavium Networks Octeon2
536  EF_MIPS_MACH_OCTEON3 = 0x008e0000, // Cavium Networks Octeon3
537  EF_MIPS_MACH_5400 = 0x00910000, // NEC VR5400
538  EF_MIPS_MACH_5900 = 0x00920000, // MIPS R5900
539  EF_MIPS_MACH_5500 = 0x00980000, // NEC VR5500
540  EF_MIPS_MACH_9000 = 0x00990000, // Unknown
541  EF_MIPS_MACH_LS2E = 0x00a00000, // ST Microelectronics Loongson 2E
542  EF_MIPS_MACH_LS2F = 0x00a10000, // ST Microelectronics Loongson 2F
543  EF_MIPS_MACH_LS3A = 0x00a20000, // Loongson 3A
544  EF_MIPS_MACH = 0x00ff0000, // EF_MIPS_MACH_xxx selection mask
545 
546  // ARCH_ASE
547  EF_MIPS_MICROMIPS = 0x02000000, // microMIPS
548  EF_MIPS_ARCH_ASE_M16 = 0x04000000, // Has Mips-16 ISA extensions
549  EF_MIPS_ARCH_ASE_MDMX = 0x08000000, // Has MDMX multimedia extensions
550  EF_MIPS_ARCH_ASE = 0x0f000000, // Mask for EF_MIPS_ARCH_ASE_xxx flags
551 
552  // ARCH
553  EF_MIPS_ARCH_1 = 0x00000000, // MIPS1 instruction set
554  EF_MIPS_ARCH_2 = 0x10000000, // MIPS2 instruction set
555  EF_MIPS_ARCH_3 = 0x20000000, // MIPS3 instruction set
556  EF_MIPS_ARCH_4 = 0x30000000, // MIPS4 instruction set
557  EF_MIPS_ARCH_5 = 0x40000000, // MIPS5 instruction set
558  EF_MIPS_ARCH_32 = 0x50000000, // MIPS32 instruction set per linux not elf.h
559  EF_MIPS_ARCH_64 = 0x60000000, // MIPS64 instruction set per linux not elf.h
560  EF_MIPS_ARCH_32R2 = 0x70000000, // mips32r2, mips32r3, mips32r5
561  EF_MIPS_ARCH_64R2 = 0x80000000, // mips64r2, mips64r3, mips64r5
562  EF_MIPS_ARCH_32R6 = 0x90000000, // mips32r6
563  EF_MIPS_ARCH_64R6 = 0xa0000000, // mips64r6
564  EF_MIPS_ARCH = 0xf0000000 // Mask for applying EF_MIPS_ARCH_ variant
565 };
566 
567 // MIPS-specific section indexes
568 enum {
569  SHN_MIPS_ACOMMON = 0xff00, // Common symbols which are defined and allocated
570  SHN_MIPS_TEXT = 0xff01, // Not ABI compliant
571  SHN_MIPS_DATA = 0xff02, // Not ABI compliant
572  SHN_MIPS_SCOMMON = 0xff03, // Common symbols for global data area
573  SHN_MIPS_SUNDEFINED = 0xff04 // Undefined symbols for global data area
574 };
575 
576 // ELF Relocation types for Mips
577 enum {
578 #include "ELFRelocs/Mips.def"
579 };
580 
581 // Special values for the st_other field in the symbol table entry for MIPS.
582 enum {
583  STO_MIPS_OPTIONAL = 0x04, // Symbol whose definition is optional
584  STO_MIPS_PLT = 0x08, // PLT entry related dynamic table record
585  STO_MIPS_PIC = 0x20, // PIC func in an object mixes PIC/non-PIC
586  STO_MIPS_MICROMIPS = 0x80, // MIPS Specific ISA for MicroMips
587  STO_MIPS_MIPS16 = 0xf0 // MIPS Specific ISA for Mips16
588 };
589 
590 // .MIPS.options section descriptor kinds
591 enum {
592  ODK_NULL = 0, // Undefined
593  ODK_REGINFO = 1, // Register usage information
594  ODK_EXCEPTIONS = 2, // Exception processing options
595  ODK_PAD = 3, // Section padding options
596  ODK_HWPATCH = 4, // Hardware patches applied
597  ODK_FILL = 5, // Linker fill value
598  ODK_TAGS = 6, // Space for tool identification
599  ODK_HWAND = 7, // Hardware AND patches applied
600  ODK_HWOR = 8, // Hardware OR patches applied
601  ODK_GP_GROUP = 9, // GP group to use for text/data sections
602  ODK_IDENT = 10, // ID information
603  ODK_PAGESIZE = 11 // Page size information
604 };
605 
606 // Hexagon-specific e_flags
607 enum {
608  // Object processor version flags, bits[11:0]
609  EF_HEXAGON_MACH_V2 = 0x00000001, // Hexagon V2
610  EF_HEXAGON_MACH_V3 = 0x00000002, // Hexagon V3
611  EF_HEXAGON_MACH_V4 = 0x00000003, // Hexagon V4
612  EF_HEXAGON_MACH_V5 = 0x00000004, // Hexagon V5
613  EF_HEXAGON_MACH_V55 = 0x00000005, // Hexagon V55
614  EF_HEXAGON_MACH_V60 = 0x00000060, // Hexagon V60
615  EF_HEXAGON_MACH_V62 = 0x00000062, // Hexagon V62
616  EF_HEXAGON_MACH_V65 = 0x00000065, // Hexagon V65
617  EF_HEXAGON_MACH_V66 = 0x00000066, // Hexagon V66
618  EF_HEXAGON_MACH_V67 = 0x00000067, // Hexagon V67
619  EF_HEXAGON_MACH_V67T = 0x00008067, // Hexagon V67T
620  EF_HEXAGON_MACH_V68 = 0x00000068, // Hexagon V68
621  EF_HEXAGON_MACH_V69 = 0x00000069, // Hexagon V69
622  EF_HEXAGON_MACH = 0x000003ff, // Hexagon V..
623 
624  // Highest ISA version flags
625  EF_HEXAGON_ISA_MACH = 0x00000000, // Same as specified in bits[11:0]
626  // of e_flags
627  EF_HEXAGON_ISA_V2 = 0x00000010, // Hexagon V2 ISA
628  EF_HEXAGON_ISA_V3 = 0x00000020, // Hexagon V3 ISA
629  EF_HEXAGON_ISA_V4 = 0x00000030, // Hexagon V4 ISA
630  EF_HEXAGON_ISA_V5 = 0x00000040, // Hexagon V5 ISA
631  EF_HEXAGON_ISA_V55 = 0x00000050, // Hexagon V55 ISA
632  EF_HEXAGON_ISA_V60 = 0x00000060, // Hexagon V60 ISA
633  EF_HEXAGON_ISA_V62 = 0x00000062, // Hexagon V62 ISA
634  EF_HEXAGON_ISA_V65 = 0x00000065, // Hexagon V65 ISA
635  EF_HEXAGON_ISA_V66 = 0x00000066, // Hexagon V66 ISA
636  EF_HEXAGON_ISA_V67 = 0x00000067, // Hexagon V67 ISA
637  EF_HEXAGON_ISA_V68 = 0x00000068, // Hexagon V68 ISA
638  EF_HEXAGON_ISA_V69 = 0x00000069, // Hexagon V69 ISA
639  EF_HEXAGON_ISA = 0x000003ff, // Hexagon V.. ISA
640 };
641 
642 // Hexagon-specific section indexes for common small data
643 enum {
644  SHN_HEXAGON_SCOMMON = 0xff00, // Other access sizes
645  SHN_HEXAGON_SCOMMON_1 = 0xff01, // Byte-sized access
646  SHN_HEXAGON_SCOMMON_2 = 0xff02, // Half-word-sized access
647  SHN_HEXAGON_SCOMMON_4 = 0xff03, // Word-sized access
648  SHN_HEXAGON_SCOMMON_8 = 0xff04 // Double-word-size access
649 };
650 
651 // ELF Relocation types for Hexagon
652 enum {
653 #include "ELFRelocs/Hexagon.def"
654 };
655 
656 // ELF Relocation type for Lanai.
657 enum {
658 #include "ELFRelocs/Lanai.def"
659 };
660 
661 // RISCV Specific e_flags
662 enum : unsigned {
663  EF_RISCV_RVC = 0x0001,
669  EF_RISCV_RVE = 0x0008,
670  EF_RISCV_TSO = 0x0010,
671 };
672 
673 // ELF Relocation types for RISC-V
674 enum {
675 #include "ELFRelocs/RISCV.def"
676 };
677 
678 enum {
679  // Symbol may follow different calling convention than the standard calling
680  // convention.
682 };
683 
684 // ELF Relocation types for S390/zSeries
685 enum {
686 #include "ELFRelocs/SystemZ.def"
687 };
688 
689 // ELF Relocation type for Sparc.
690 enum {
691 #include "ELFRelocs/Sparc.def"
692 };
693 
694 // AMDGPU specific e_flags.
695 enum : unsigned {
696  // Processor selection mask for EF_AMDGPU_MACH_* values.
697  EF_AMDGPU_MACH = 0x0ff,
698 
699  // Not specified processor.
701 
702  // R600-based processors.
703 
704  // Radeon HD 2000/3000 Series (R600).
709  // Radeon HD 4000 Series (R700).
713  // Radeon HD 5000 Series (Evergreen).
719  // Radeon HD 6000 Series (Northern Islands).
724 
725  // Reserved for R600-based processors.
728 
729  // First/last R600-based processors.
732 
733  // AMDGCN-based processors.
774 
775  // First/last AMDGCN-based processors.
778 
779  // Indicates if the "xnack" target feature is enabled for all code contained
780  // in the object.
781  //
782  // Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V2.
784  // Indicates if the trap handler is enabled for all code contained
785  // in the object.
786  //
787  // Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V2.
789 
790  // Indicates if the "xnack" target feature is enabled for all code contained
791  // in the object.
792  //
793  // Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V3.
795  // Indicates if the "sramecc" target feature is enabled for all code
796  // contained in the object.
797  //
798  // Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V3.
800 
801  // XNACK selection mask for EF_AMDGPU_FEATURE_XNACK_* values.
802  //
803  // Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V4.
805  // XNACK is not supported.
807  // XNACK is any/default/unspecified.
809  // XNACK is off.
811  // XNACK is on.
813 
814  // SRAMECC selection mask for EF_AMDGPU_FEATURE_SRAMECC_* values.
815  //
816  // Only valid for ELFOSABI_AMDGPU_HSA and ELFABIVERSION_AMDGPU_HSA_V4.
818  // SRAMECC is not supported.
820  // SRAMECC is any/default/unspecified.
822  // SRAMECC is off.
824  // SRAMECC is on.
826 };
827 
828 // ELF Relocation types for AMDGPU
829 enum {
830 #include "ELFRelocs/AMDGPU.def"
831 };
832 
833 // ELF Relocation types for BPF
834 enum {
835 #include "ELFRelocs/BPF.def"
836 };
837 
838 // ELF Relocation types for M68k
839 enum {
840 #include "ELFRelocs/M68k.def"
841 };
842 
843 // MSP430 specific e_flags
844 enum : unsigned {
868 };
869 
870 // ELF Relocation types for MSP430
871 enum {
872 #include "ELFRelocs/MSP430.def"
873 };
874 
875 // ELF Relocation type for VE.
876 enum {
877 #include "ELFRelocs/VE.def"
878 };
879 
880 // CSKY Specific e_flags
881 enum : unsigned {
882  EF_CSKY_801 = 0xa,
883  EF_CSKY_802 = 0x10,
884  EF_CSKY_803 = 0x9,
885  EF_CSKY_805 = 0x11,
886  EF_CSKY_807 = 0x6,
887  EF_CSKY_810 = 0x8,
888  EF_CSKY_860 = 0xb,
889  EF_CSKY_800 = 0x1f,
890  EF_CSKY_FLOAT = 0x2000,
891  EF_CSKY_DSP = 0x4000,
892  EF_CSKY_ABIV2 = 0x20000000,
893  EF_CSKY_EFV1 = 0x1000000,
894  EF_CSKY_EFV2 = 0x2000000,
895  EF_CSKY_EFV3 = 0x3000000
896 };
897 
898 // ELF Relocation types for CSKY
899 enum {
900 #include "ELFRelocs/CSKY.def"
901 };
902 
903 // ELF Relocation types for LoongArch
904 enum {
905 #include "ELFRelocs/LoongArch.def"
906 };
907 
908 #undef ELF_RELOC
909 
910 // Section header.
911 struct Elf32_Shdr {
912  Elf32_Word sh_name; // Section name (index into string table)
913  Elf32_Word sh_type; // Section type (SHT_*)
914  Elf32_Word sh_flags; // Section flags (SHF_*)
915  Elf32_Addr sh_addr; // Address where section is to be loaded
916  Elf32_Off sh_offset; // File offset of section data, in bytes
917  Elf32_Word sh_size; // Size of section, in bytes
918  Elf32_Word sh_link; // Section type-specific header table index link
919  Elf32_Word sh_info; // Section type-specific extra information
920  Elf32_Word sh_addralign; // Section address alignment
921  Elf32_Word sh_entsize; // Size of records contained within the section
922 };
923 
924 // Section header for ELF64 - same fields as ELF32, different types.
925 struct Elf64_Shdr {
936 };
937 
938 // Special section indices.
939 enum {
940  SHN_UNDEF = 0, // Undefined, missing, irrelevant, or meaningless
941  SHN_LORESERVE = 0xff00, // Lowest reserved index
942  SHN_LOPROC = 0xff00, // Lowest processor-specific index
943  SHN_HIPROC = 0xff1f, // Highest processor-specific index
944  SHN_LOOS = 0xff20, // Lowest operating system-specific index
945  SHN_HIOS = 0xff3f, // Highest operating system-specific index
946  SHN_ABS = 0xfff1, // Symbol has absolute value; does not need relocation
947  SHN_COMMON = 0xfff2, // FORTRAN COMMON or C external global variables
948  SHN_XINDEX = 0xffff, // Mark that the index is >= SHN_LORESERVE
949  SHN_HIRESERVE = 0xffff // Highest reserved index
950 };
951 
952 // Section types.
953 enum : unsigned {
954  SHT_NULL = 0, // No associated section (inactive entry).
955  SHT_PROGBITS = 1, // Program-defined contents.
956  SHT_SYMTAB = 2, // Symbol table.
957  SHT_STRTAB = 3, // String table.
958  SHT_RELA = 4, // Relocation entries; explicit addends.
959  SHT_HASH = 5, // Symbol hash table.
960  SHT_DYNAMIC = 6, // Information for dynamic linking.
961  SHT_NOTE = 7, // Information about the file.
962  SHT_NOBITS = 8, // Data occupies no space in the file.
963  SHT_REL = 9, // Relocation entries; no explicit addends.
964  SHT_SHLIB = 10, // Reserved.
965  SHT_DYNSYM = 11, // Symbol table.
966  SHT_INIT_ARRAY = 14, // Pointers to initialization functions.
967  SHT_FINI_ARRAY = 15, // Pointers to termination functions.
968  SHT_PREINIT_ARRAY = 16, // Pointers to pre-init functions.
969  SHT_GROUP = 17, // Section group.
970  SHT_SYMTAB_SHNDX = 18, // Indices for SHN_XINDEX entries.
971  // Experimental support for SHT_RELR sections. For details, see proposal
972  // at https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg
973  SHT_RELR = 19, // Relocation entries; only offsets.
974  SHT_LOOS = 0x60000000, // Lowest operating system-specific type.
975  // Android packed relocation section types.
976  // https://android.googlesource.com/platform/bionic/+/6f12bfece5dcc01325e0abba56a46b1bcf991c69/tools/relocation_packer/src/elf_file.cc#37
977  SHT_ANDROID_REL = 0x60000001,
978  SHT_ANDROID_RELA = 0x60000002,
979  SHT_LLVM_ODRTAB = 0x6fff4c00, // LLVM ODR table.
980  SHT_LLVM_LINKER_OPTIONS = 0x6fff4c01, // LLVM Linker Options.
981  SHT_LLVM_ADDRSIG = 0x6fff4c03, // List of address-significant symbols
982  // for safe ICF.
984  0x6fff4c04, // LLVM Dependent Library Specifiers.
985  SHT_LLVM_SYMPART = 0x6fff4c05, // Symbol partition specification.
986  SHT_LLVM_PART_EHDR = 0x6fff4c06, // ELF header for loadable partition.
987  SHT_LLVM_PART_PHDR = 0x6fff4c07, // Phdrs for loadable partition.
988  SHT_LLVM_BB_ADDR_MAP = 0x6fff4c08, // LLVM Basic Block Address Map.
989  SHT_LLVM_CALL_GRAPH_PROFILE = 0x6fff4c09, // LLVM Call Graph Profile.
990  // Android's experimental support for SHT_RELR sections.
991  // https://android.googlesource.com/platform/bionic/+/b7feec74547f84559a1467aca02708ff61346d2a/libc/include/elf.h#512
992  SHT_ANDROID_RELR = 0x6fffff00, // Relocation entries; only offsets.
993  SHT_GNU_ATTRIBUTES = 0x6ffffff5, // Object attributes.
994  SHT_GNU_HASH = 0x6ffffff6, // GNU-style hash table.
995  SHT_GNU_verdef = 0x6ffffffd, // GNU version definitions.
996  SHT_GNU_verneed = 0x6ffffffe, // GNU version references.
997  SHT_GNU_versym = 0x6fffffff, // GNU symbol versions table.
998  SHT_HIOS = 0x6fffffff, // Highest operating system-specific type.
999  SHT_LOPROC = 0x70000000, // Lowest processor arch-specific type.
1000  // Fixme: All this is duplicated in MCSectionELF. Why??
1001  // Exception Index table
1002  SHT_ARM_EXIDX = 0x70000001U,
1003  // BPABI DLL dynamic linking pre-emption map
1004  SHT_ARM_PREEMPTMAP = 0x70000002U,
1005  // Object file compatibility attributes
1006  SHT_ARM_ATTRIBUTES = 0x70000003U,
1007  SHT_ARM_DEBUGOVERLAY = 0x70000004U,
1008  SHT_ARM_OVERLAYSECTION = 0x70000005U,
1009  SHT_HEX_ORDERED = 0x70000000, // Link editor is to sort the entries in
1010  // this section based on their sizes
1011  SHT_X86_64_UNWIND = 0x70000001, // Unwind information
1012 
1013  SHT_MIPS_REGINFO = 0x70000006, // Register usage information
1014  SHT_MIPS_OPTIONS = 0x7000000d, // General options
1015  SHT_MIPS_DWARF = 0x7000001e, // DWARF debugging section.
1016  SHT_MIPS_ABIFLAGS = 0x7000002a, // ABI information.
1017 
1018  SHT_MSP430_ATTRIBUTES = 0x70000003U,
1019 
1020  SHT_RISCV_ATTRIBUTES = 0x70000003U,
1021 
1022  SHT_CSKY_ATTRIBUTES = 0x70000001U,
1023 
1024  SHT_HIPROC = 0x7fffffff, // Highest processor arch-specific type.
1025  SHT_LOUSER = 0x80000000, // Lowest type reserved for applications.
1026  SHT_HIUSER = 0xffffffff // Highest type reserved for applications.
1027 };
1028 
1029 // Section flags.
1030 enum : unsigned {
1031  // Section data should be writable during execution.
1032  SHF_WRITE = 0x1,
1033 
1034  // Section occupies memory during program execution.
1035  SHF_ALLOC = 0x2,
1036 
1037  // Section contains executable machine instructions.
1039 
1040  // The data in this section may be merged.
1041  SHF_MERGE = 0x10,
1042 
1043  // The data in this section is null-terminated strings.
1044  SHF_STRINGS = 0x20,
1045 
1046  // A field in this section holds a section header table index.
1047  SHF_INFO_LINK = 0x40U,
1048 
1049  // Adds special ordering requirements for link editors.
1051 
1052  // This section requires special OS-specific processing to avoid incorrect
1053  // behavior.
1055 
1056  // This section is a member of a section group.
1057  SHF_GROUP = 0x200U,
1058 
1059  // This section holds Thread-Local Storage.
1060  SHF_TLS = 0x400U,
1061 
1062  // Identifies a section containing compressed data.
1063  SHF_COMPRESSED = 0x800U,
1064 
1065  // This section should not be garbage collected by the linker.
1066  SHF_GNU_RETAIN = 0x200000,
1067 
1068  // This section is excluded from the final executable or shared library.
1069  SHF_EXCLUDE = 0x80000000U,
1070 
1071  // Start of target-specific flags.
1072 
1073  SHF_MASKOS = 0x0ff00000,
1074 
1075  // Solaris equivalent of SHF_GNU_RETAIN.
1076  SHF_SUNW_NODISCARD = 0x00100000,
1077 
1078  // Bits indicating processor-specific flags.
1079  SHF_MASKPROC = 0xf0000000,
1080 
1081  /// All sections with the "d" flag are grouped together by the linker to form
1082  /// the data section and the dp register is set to the start of the section by
1083  /// the boot code.
1084  XCORE_SHF_DP_SECTION = 0x10000000,
1085 
1086  /// All sections with the "c" flag are grouped together by the linker to form
1087  /// the constant pool and the cp register is set to the start of the constant
1088  /// pool by the boot code.
1089  XCORE_SHF_CP_SECTION = 0x20000000,
1090 
1091  // If an object file section does not have this flag set, then it may not hold
1092  // more than 2GB and can be freely referred to in objects using smaller code
1093  // models. Otherwise, only objects using larger code models can refer to them.
1094  // For example, a medium code model object can refer to data in a section that
1095  // sets this flag besides being able to refer to data in a section that does
1096  // not set it; likewise, a small code model object can refer only to code in a
1097  // section that does not set this flag.
1098  SHF_X86_64_LARGE = 0x10000000,
1099 
1100  // All sections with the GPREL flag are grouped into a global data area
1101  // for faster accesses
1102  SHF_HEX_GPREL = 0x10000000,
1103 
1104  // Section contains text/data which may be replicated in other sections.
1105  // Linker must retain only one copy.
1106  SHF_MIPS_NODUPES = 0x01000000,
1107 
1108  // Linker must generate implicit hidden weak names.
1109  SHF_MIPS_NAMES = 0x02000000,
1110 
1111  // Section data local to process.
1112  SHF_MIPS_LOCAL = 0x04000000,
1113 
1114  // Do not strip this section.
1115  SHF_MIPS_NOSTRIP = 0x08000000,
1116 
1117  // Section must be part of global data area.
1118  SHF_MIPS_GPREL = 0x10000000,
1119 
1120  // This section should be merged.
1121  SHF_MIPS_MERGE = 0x20000000,
1122 
1123  // Address size to be inferred from section entry size.
1124  SHF_MIPS_ADDR = 0x40000000,
1125 
1126  // Section data is string data by default.
1127  SHF_MIPS_STRING = 0x80000000,
1128 
1129  // Make code section unreadable when in execute-only mode
1130  SHF_ARM_PURECODE = 0x20000000
1131 };
1132 
1133 // Section Group Flags
1134 enum : unsigned {
1135  GRP_COMDAT = 0x1,
1136  GRP_MASKOS = 0x0ff00000,
1137  GRP_MASKPROC = 0xf0000000
1138 };
1139 
1140 // Symbol table entries for ELF32.
1141 struct Elf32_Sym {
1142  Elf32_Word st_name; // Symbol name (index into string table)
1143  Elf32_Addr st_value; // Value or address associated with the symbol
1144  Elf32_Word st_size; // Size of the symbol
1145  unsigned char st_info; // Symbol's type and binding attributes
1146  unsigned char st_other; // Must be zero; reserved
1147  Elf32_Half st_shndx; // Which section (header table index) it's defined in
1148 
1149  // These accessors and mutators correspond to the ELF32_ST_BIND,
1150  // ELF32_ST_TYPE, and ELF32_ST_INFO macros defined in the ELF specification:
1151  unsigned char getBinding() const { return st_info >> 4; }
1152  unsigned char getType() const { return st_info & 0x0f; }
1153  void setBinding(unsigned char b) { setBindingAndType(b, getType()); }
1154  void setType(unsigned char t) { setBindingAndType(getBinding(), t); }
1155  void setBindingAndType(unsigned char b, unsigned char t) {
1156  st_info = (b << 4) + (t & 0x0f);
1157  }
1158 };
1159 
1160 // Symbol table entries for ELF64.
1161 struct Elf64_Sym {
1162  Elf64_Word st_name; // Symbol name (index into string table)
1163  unsigned char st_info; // Symbol's type and binding attributes
1164  unsigned char st_other; // Must be zero; reserved
1165  Elf64_Half st_shndx; // Which section (header tbl index) it's defined in
1166  Elf64_Addr st_value; // Value or address associated with the symbol
1167  Elf64_Xword st_size; // Size of the symbol
1168 
1169  // These accessors and mutators are identical to those defined for ELF32
1170  // symbol table entries.
1171  unsigned char getBinding() const { return st_info >> 4; }
1172  unsigned char getType() const { return st_info & 0x0f; }
1173  void setBinding(unsigned char b) { setBindingAndType(b, getType()); }
1174  void setType(unsigned char t) { setBindingAndType(getBinding(), t); }
1175  void setBindingAndType(unsigned char b, unsigned char t) {
1176  st_info = (b << 4) + (t & 0x0f);
1177  }
1178 };
1179 
1180 // The size (in bytes) of symbol table entries.
1181 enum {
1182  SYMENTRY_SIZE32 = 16, // 32-bit symbol entry size
1183  SYMENTRY_SIZE64 = 24 // 64-bit symbol entry size.
1184 };
1185 
1186 // Symbol bindings.
1187 enum {
1188  STB_LOCAL = 0, // Local symbol, not visible outside obj file containing def
1189  STB_GLOBAL = 1, // Global symbol, visible to all object files being combined
1190  STB_WEAK = 2, // Weak symbol, like global but lower-precedence
1192  STB_LOOS = 10, // Lowest operating system-specific binding type
1193  STB_HIOS = 12, // Highest operating system-specific binding type
1194  STB_LOPROC = 13, // Lowest processor-specific binding type
1195  STB_HIPROC = 15 // Highest processor-specific binding type
1196 };
1197 
1198 // Symbol types.
1199 enum {
1200  STT_NOTYPE = 0, // Symbol's type is not specified
1201  STT_OBJECT = 1, // Symbol is a data object (variable, array, etc.)
1202  STT_FUNC = 2, // Symbol is executable code (function, etc.)
1203  STT_SECTION = 3, // Symbol refers to a section
1204  STT_FILE = 4, // Local, absolute symbol that refers to a file
1205  STT_COMMON = 5, // An uninitialized common block
1206  STT_TLS = 6, // Thread local data object
1207  STT_GNU_IFUNC = 10, // GNU indirect function
1208  STT_LOOS = 10, // Lowest operating system-specific symbol type
1209  STT_HIOS = 12, // Highest operating system-specific symbol type
1210  STT_LOPROC = 13, // Lowest processor-specific symbol type
1211  STT_HIPROC = 15, // Highest processor-specific symbol type
1212 
1213  // AMDGPU symbol types
1215 };
1216 
1217 enum {
1218  STV_DEFAULT = 0, // Visibility is specified by binding type
1219  STV_INTERNAL = 1, // Defined by processor supplements
1220  STV_HIDDEN = 2, // Not visible to other components
1221  STV_PROTECTED = 3 // Visible in other components but not preemptable
1222 };
1223 
1224 // Symbol number.
1225 enum { STN_UNDEF = 0 };
1226 
1227 // Special relocation symbols used in the MIPS64 ELF relocation entries
1228 enum {
1229  RSS_UNDEF = 0, // None
1230  RSS_GP = 1, // Value of gp
1231  RSS_GP0 = 2, // Value of gp used to create object being relocated
1232  RSS_LOC = 3 // Address of location being relocated
1233 };
1234 
1235 // Relocation entry, without explicit addend.
1236 struct Elf32_Rel {
1237  Elf32_Addr r_offset; // Location (file byte offset, or program virtual addr)
1238  Elf32_Word r_info; // Symbol table index and type of relocation to apply
1239 
1240  // These accessors and mutators correspond to the ELF32_R_SYM, ELF32_R_TYPE,
1241  // and ELF32_R_INFO macros defined in the ELF specification:
1242  Elf32_Word getSymbol() const { return (r_info >> 8); }
1243  unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
1245  void setType(unsigned char t) { setSymbolAndType(getSymbol(), t); }
1246  void setSymbolAndType(Elf32_Word s, unsigned char t) {
1247  r_info = (s << 8) + t;
1248  }
1249 };
1250 
1251 // Relocation entry with explicit addend.
1252 struct Elf32_Rela {
1253  Elf32_Addr r_offset; // Location (file byte offset, or program virtual addr)
1254  Elf32_Word r_info; // Symbol table index and type of relocation to apply
1255  Elf32_Sword r_addend; // Compute value for relocatable field by adding this
1256 
1257  // These accessors and mutators correspond to the ELF32_R_SYM, ELF32_R_TYPE,
1258  // and ELF32_R_INFO macros defined in the ELF specification:
1259  Elf32_Word getSymbol() const { return (r_info >> 8); }
1260  unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
1262  void setType(unsigned char t) { setSymbolAndType(getSymbol(), t); }
1263  void setSymbolAndType(Elf32_Word s, unsigned char t) {
1264  r_info = (s << 8) + t;
1265  }
1266 };
1267 
1268 // Relocation entry without explicit addend or info (relative relocations only).
1269 typedef Elf32_Word Elf32_Relr; // offset/bitmap for relative relocations
1270 
1271 // Relocation entry, without explicit addend.
1272 struct Elf64_Rel {
1273  Elf64_Addr r_offset; // Location (file byte offset, or program virtual addr).
1274  Elf64_Xword r_info; // Symbol table index and type of relocation to apply.
1275 
1276  // These accessors and mutators correspond to the ELF64_R_SYM, ELF64_R_TYPE,
1277  // and ELF64_R_INFO macros defined in the ELF specification:
1278  Elf64_Word getSymbol() const { return (r_info >> 32); }
1279  Elf64_Word getType() const { return (Elf64_Word)(r_info & 0xffffffffL); }
1283  r_info = ((Elf64_Xword)s << 32) + (t & 0xffffffffL);
1284  }
1285 };
1286 
1287 // Relocation entry with explicit addend.
1288 struct Elf64_Rela {
1289  Elf64_Addr r_offset; // Location (file byte offset, or program virtual addr).
1290  Elf64_Xword r_info; // Symbol table index and type of relocation to apply.
1291  Elf64_Sxword r_addend; // Compute value for relocatable field by adding this.
1292 
1293  // These accessors and mutators correspond to the ELF64_R_SYM, ELF64_R_TYPE,
1294  // and ELF64_R_INFO macros defined in the ELF specification:
1295  Elf64_Word getSymbol() const { return (r_info >> 32); }
1296  Elf64_Word getType() const { return (Elf64_Word)(r_info & 0xffffffffL); }
1300  r_info = ((Elf64_Xword)s << 32) + (t & 0xffffffffL);
1301  }
1302 };
1303 
1304 // Relocation entry without explicit addend or info (relative relocations only).
1305 typedef Elf64_Xword Elf64_Relr; // offset/bitmap for relative relocations
1306 
1307 // Program header for ELF32.
1308 struct Elf32_Phdr {
1309  Elf32_Word p_type; // Type of segment
1310  Elf32_Off p_offset; // File offset where segment is located, in bytes
1311  Elf32_Addr p_vaddr; // Virtual address of beginning of segment
1312  Elf32_Addr p_paddr; // Physical address of beginning of segment (OS-specific)
1313  Elf32_Word p_filesz; // Num. of bytes in file image of segment (may be zero)
1314  Elf32_Word p_memsz; // Num. of bytes in mem image of segment (may be zero)
1315  Elf32_Word p_flags; // Segment flags
1316  Elf32_Word p_align; // Segment alignment constraint
1317 };
1318 
1319 // Program header for ELF64.
1320 struct Elf64_Phdr {
1321  Elf64_Word p_type; // Type of segment
1322  Elf64_Word p_flags; // Segment flags
1323  Elf64_Off p_offset; // File offset where segment is located, in bytes
1324  Elf64_Addr p_vaddr; // Virtual address of beginning of segment
1325  Elf64_Addr p_paddr; // Physical addr of beginning of segment (OS-specific)
1326  Elf64_Xword p_filesz; // Num. of bytes in file image of segment (may be zero)
1327  Elf64_Xword p_memsz; // Num. of bytes in mem image of segment (may be zero)
1328  Elf64_Xword p_align; // Segment alignment constraint
1329 };
1330 
1331 // Segment types.
1332 enum {
1333  PT_NULL = 0, // Unused segment.
1334  PT_LOAD = 1, // Loadable segment.
1335  PT_DYNAMIC = 2, // Dynamic linking information.
1336  PT_INTERP = 3, // Interpreter pathname.
1337  PT_NOTE = 4, // Auxiliary information.
1338  PT_SHLIB = 5, // Reserved.
1339  PT_PHDR = 6, // The program header table itself.
1340  PT_TLS = 7, // The thread-local storage template.
1341  PT_LOOS = 0x60000000, // Lowest operating system-specific pt entry type.
1342  PT_HIOS = 0x6fffffff, // Highest operating system-specific pt entry type.
1343  PT_LOPROC = 0x70000000, // Lowest processor-specific program hdr entry type.
1344  PT_HIPROC = 0x7fffffff, // Highest processor-specific program hdr entry type.
1345 
1346  // x86-64 program header types.
1347  // These all contain stack unwind tables.
1348  PT_GNU_EH_FRAME = 0x6474e550,
1349  PT_SUNW_EH_FRAME = 0x6474e550,
1350  PT_SUNW_UNWIND = 0x6464e550,
1351 
1352  PT_GNU_STACK = 0x6474e551, // Indicates stack executability.
1353  PT_GNU_RELRO = 0x6474e552, // Read-only after relocation.
1354  PT_GNU_PROPERTY = 0x6474e553, // .note.gnu.property notes sections.
1355 
1356  PT_OPENBSD_RANDOMIZE = 0x65a3dbe6, // Fill with random data.
1357  PT_OPENBSD_WXNEEDED = 0x65a3dbe7, // Program does W^X violations.
1358  PT_OPENBSD_BOOTDATA = 0x65a41be6, // Section for boot arguments.
1359 
1360  // ARM program header types.
1361  PT_ARM_ARCHEXT = 0x70000000, // Platform architecture compatibility info
1362  // These all contain stack unwind tables.
1363  PT_ARM_EXIDX = 0x70000001,
1364  PT_ARM_UNWIND = 0x70000001,
1365 
1366  // MIPS program header types.
1367  PT_MIPS_REGINFO = 0x70000000, // Register usage information.
1368  PT_MIPS_RTPROC = 0x70000001, // Runtime procedure table.
1369  PT_MIPS_OPTIONS = 0x70000002, // Options segment.
1370  PT_MIPS_ABIFLAGS = 0x70000003, // Abiflags segment.
1371 };
1372 
1373 // Segment flag bits.
1374 enum : unsigned {
1375  PF_X = 1, // Execute
1376  PF_W = 2, // Write
1377  PF_R = 4, // Read
1378  PF_MASKOS = 0x0ff00000, // Bits for operating system-specific semantics.
1379  PF_MASKPROC = 0xf0000000 // Bits for processor-specific semantics.
1380 };
1381 
1382 // Dynamic table entry for ELF32.
1383 struct Elf32_Dyn {
1384  Elf32_Sword d_tag; // Type of dynamic table entry.
1385  union {
1386  Elf32_Word d_val; // Integer value of entry.
1387  Elf32_Addr d_ptr; // Pointer value of entry.
1388  } d_un;
1389 };
1390 
1391 // Dynamic table entry for ELF64.
1392 struct Elf64_Dyn {
1393  Elf64_Sxword d_tag; // Type of dynamic table entry.
1394  union {
1395  Elf64_Xword d_val; // Integer value of entry.
1396  Elf64_Addr d_ptr; // Pointer value of entry.
1397  } d_un;
1398 };
1399 
1400 // Dynamic table entry tags.
1401 enum {
1402 #define DYNAMIC_TAG(name, value) DT_##name = value,
1403 #include "DynamicTags.def"
1404 #undef DYNAMIC_TAG
1405 };
1406 
1407 // DT_FLAGS values.
1408 enum {
1409  DF_ORIGIN = 0x01, // The object may reference $ORIGIN.
1410  DF_SYMBOLIC = 0x02, // Search the shared lib before searching the exe.
1411  DF_TEXTREL = 0x04, // Relocations may modify a non-writable segment.
1412  DF_BIND_NOW = 0x08, // Process all relocations on load.
1413  DF_STATIC_TLS = 0x10 // Reject attempts to load dynamically.
1414 };
1415 
1416 // State flags selectable in the `d_un.d_val' element of the DT_FLAGS_1 entry.
1417 enum {
1418  DF_1_NOW = 0x00000001, // Set RTLD_NOW for this object.
1419  DF_1_GLOBAL = 0x00000002, // Set RTLD_GLOBAL for this object.
1420  DF_1_GROUP = 0x00000004, // Set RTLD_GROUP for this object.
1421  DF_1_NODELETE = 0x00000008, // Set RTLD_NODELETE for this object.
1422  DF_1_LOADFLTR = 0x00000010, // Trigger filtee loading at runtime.
1423  DF_1_INITFIRST = 0x00000020, // Set RTLD_INITFIRST for this object.
1424  DF_1_NOOPEN = 0x00000040, // Set RTLD_NOOPEN for this object.
1425  DF_1_ORIGIN = 0x00000080, // $ORIGIN must be handled.
1426  DF_1_DIRECT = 0x00000100, // Direct binding enabled.
1427  DF_1_TRANS = 0x00000200,
1428  DF_1_INTERPOSE = 0x00000400, // Object is used to interpose.
1429  DF_1_NODEFLIB = 0x00000800, // Ignore default lib search path.
1430  DF_1_NODUMP = 0x00001000, // Object can't be dldump'ed.
1431  DF_1_CONFALT = 0x00002000, // Configuration alternative created.
1432  DF_1_ENDFILTEE = 0x00004000, // Filtee terminates filters search.
1433  DF_1_DISPRELDNE = 0x00008000, // Disp reloc applied at build time.
1434  DF_1_DISPRELPND = 0x00010000, // Disp reloc applied at run-time.
1435  DF_1_NODIRECT = 0x00020000, // Object has no-direct binding.
1436  DF_1_IGNMULDEF = 0x00040000,
1437  DF_1_NOKSYMS = 0x00080000,
1438  DF_1_NOHDR = 0x00100000,
1439  DF_1_EDITED = 0x00200000, // Object is modified after built.
1440  DF_1_NORELOC = 0x00400000,
1441  DF_1_SYMINTPOSE = 0x00800000, // Object has individual interposers.
1442  DF_1_GLOBAUDIT = 0x01000000, // Global auditing required.
1443  DF_1_SINGLETON = 0x02000000, // Singleton symbols are used.
1444  DF_1_PIE = 0x08000000, // Object is a position-independent executable.
1445 };
1446 
1447 // DT_MIPS_FLAGS values.
1448 enum {
1449  RHF_NONE = 0x00000000, // No flags.
1450  RHF_QUICKSTART = 0x00000001, // Uses shortcut pointers.
1451  RHF_NOTPOT = 0x00000002, // Hash size is not a power of two.
1452  RHS_NO_LIBRARY_REPLACEMENT = 0x00000004, // Ignore LD_LIBRARY_PATH.
1453  RHF_NO_MOVE = 0x00000008, // DSO address may not be relocated.
1454  RHF_SGI_ONLY = 0x00000010, // SGI specific features.
1455  RHF_GUARANTEE_INIT = 0x00000020, // Guarantee that .init will finish
1456  // executing before any non-init
1457  // code in DSO is called.
1458  RHF_DELTA_C_PLUS_PLUS = 0x00000040, // Contains Delta C++ code.
1459  RHF_GUARANTEE_START_INIT = 0x00000080, // Guarantee that .init will start
1460  // executing before any non-init
1461  // code in DSO is called.
1462  RHF_PIXIE = 0x00000100, // Generated by pixie.
1463  RHF_DEFAULT_DELAY_LOAD = 0x00000200, // Delay-load DSO by default.
1464  RHF_REQUICKSTART = 0x00000400, // Object may be requickstarted
1465  RHF_REQUICKSTARTED = 0x00000800, // Object has been requickstarted
1466  RHF_CORD = 0x00001000, // Generated by cord.
1467  RHF_NO_UNRES_UNDEF = 0x00002000, // Object contains no unresolved
1468  // undef symbols.
1469  RHF_RLD_ORDER_SAFE = 0x00004000 // Symbol table is in a safe order.
1470 };
1471 
1472 // ElfXX_VerDef structure version (GNU versioning)
1473 enum { VER_DEF_NONE = 0, VER_DEF_CURRENT = 1 };
1474 
1475 // VerDef Flags (ElfXX_VerDef::vd_flags)
1476 enum { VER_FLG_BASE = 0x1, VER_FLG_WEAK = 0x2, VER_FLG_INFO = 0x4 };
1477 
1478 // Special constants for the version table. (SHT_GNU_versym/.gnu.version)
1479 enum {
1480  VER_NDX_LOCAL = 0, // Unversioned local symbol
1481  VER_NDX_GLOBAL = 1, // Unversioned global symbol
1482  VERSYM_VERSION = 0x7fff, // Version Index mask
1483  VERSYM_HIDDEN = 0x8000 // Hidden bit (non-default version)
1484 };
1485 
1486 // ElfXX_VerNeed structure version (GNU versioning)
1488 
1489 // SHT_NOTE section types.
1490 
1491 // Generic note types.
1492 enum : unsigned {
1494  NT_ARCH = 2,
1497 };
1498 
1499 // Core note types.
1500 enum : unsigned {
1505  NT_AUXV = 6,
1512 
1513  NT_PPC_VMX = 0x100,
1514  NT_PPC_VSX = 0x102,
1515  NT_PPC_TAR = 0x103,
1516  NT_PPC_PPR = 0x104,
1517  NT_PPC_DSCR = 0x105,
1518  NT_PPC_EBB = 0x106,
1519  NT_PPC_PMU = 0x107,
1524  NT_PPC_TM_SPR = 0x10c,
1528 
1529  NT_386_TLS = 0x200,
1530  NT_386_IOPERM = 0x201,
1531  NT_X86_XSTATE = 0x202,
1532 
1534  NT_S390_TIMER = 0x301,
1537  NT_S390_CTRS = 0x304,
1541  NT_S390_TDB = 0x308,
1544  NT_S390_GS_CB = 0x30b,
1545  NT_S390_GS_BC = 0x30c,
1546 
1547  NT_ARM_VFP = 0x400,
1548  NT_ARM_TLS = 0x401,
1551  NT_ARM_SVE = 0x405,
1553 
1554  NT_FILE = 0x46494c45,
1555  NT_PRXFPREG = 0x46e62b7f,
1556  NT_SIGINFO = 0x53494749,
1557 };
1558 
1559 // LLVM-specific notes.
1560 enum {
1562 };
1563 
1564 // GNU note types.
1565 enum {
1571 };
1572 
1573 // Android note types.
1574 enum {
1578 };
1579 
1580 // Memory tagging values used in NT_ANDROID_TYPE_MEMTAG notes.
1581 enum {
1582  // Enumeration to determine the tagging mode. In Android-land, 'SYNC' means
1583  // running all threads in MTE Synchronous mode, and 'ASYNC' means to use the
1584  // kernels auto-upgrade feature to allow for either MTE Asynchronous,
1585  // Asymmetric, or Synchronous mode. This allows silicon vendors to specify, on
1586  // a per-cpu basis what 'ASYNC' should mean. Generally, the expectation is
1587  // "pick the most precise mode that's very fast".
1592  // Bits indicating whether the loader should prepare for MTE to be enabled on
1593  // the heap and/or stack.
1596 };
1597 
1598 // Property types used in GNU_PROPERTY_TYPE_0 notes.
1599 enum : unsigned {
1604 
1608 
1612 };
1613 
1614 // aarch64 processor feature bits.
1615 enum : unsigned {
1618 };
1619 
1620 // x86 processor feature bits.
1621 enum : unsigned {
1624 
1635 
1640 };
1641 
1642 // FreeBSD note types.
1643 enum {
1648 };
1649 
1650 // NT_FREEBSD_FEATURE_CTL values (see FreeBSD's sys/sys/elf_common.h).
1651 enum {
1656  NT_FREEBSD_FCTL_LA48 = 0x00000010,
1658 };
1659 
1660 // FreeBSD core note types.
1661 enum {
1672 };
1673 
1674 // NetBSD core note types.
1675 enum {
1679 };
1680 
1681 // OpenBSD core note types.
1682 enum {
1689 };
1690 
1691 // AMDGPU-specific section indices.
1692 enum {
1693  SHN_AMDGPU_LDS = 0xff00, // Variable in LDS; symbol encoded like SHN_COMMON
1694 };
1695 
1696 // AMD vendor specific notes. (Code Object V2)
1697 enum {
1701  // Note types with values between 4 and 9 (inclusive) are reserved.
1705 };
1706 
1707 // AMDGPU vendor specific notes. (Code Object V3)
1708 enum {
1709  // Note types with values between 0 and 31 (inclusive) are reserved.
1711 };
1712 
1713 // LLVMOMPOFFLOAD specific notes.
1714 enum : unsigned {
1718 };
1719 
1720 enum {
1728 };
1729 
1730 constexpr const char *ELF_NOTE_GNU = "GNU";
1731 
1732 // Android packed relocation group flags.
1733 enum {
1738 };
1739 
1740 // Compressed section header for ELF32.
1741 struct Elf32_Chdr {
1745 };
1746 
1747 // Compressed section header for ELF64.
1748 struct Elf64_Chdr {
1753 };
1754 
1755 // Note header for ELF32.
1756 struct Elf32_Nhdr {
1760 };
1761 
1762 // Note header for ELF64.
1763 struct Elf64_Nhdr {
1767 };
1768 
1769 // Legal values for ch_type field of compressed section header.
1770 enum {
1771  ELFCOMPRESS_ZLIB = 1, // ZLIB/DEFLATE algorithm.
1772  ELFCOMPRESS_LOOS = 0x60000000, // Start of OS-specific.
1773  ELFCOMPRESS_HIOS = 0x6fffffff, // End of OS-specific.
1774  ELFCOMPRESS_LOPROC = 0x70000000, // Start of processor-specific.
1775  ELFCOMPRESS_HIPROC = 0x7fffffff // End of processor-specific.
1776 };
1777 
1778 /// Convert an architecture name into ELF's e_machine value.
1780 
1781 /// Convert an ELF's e_machine value into an architecture name.
1783 
1784 } // end namespace ELF
1785 } // end namespace llvm
1786 
1787 #endif // LLVM_BINARYFORMAT_ELF_H
llvm::ELF::DF_1_GLOBAUDIT
@ DF_1_GLOBAUDIT
Definition: ELF.h:1442
llvm::ELF::EF_AMDGPU_MACH_R600_SUMO
@ EF_AMDGPU_MACH_R600_SUMO
Definition: ELF.h:718
llvm::ELF::SHT_HEX_ORDERED
@ SHT_HEX_ORDERED
Definition: ELF.h:1009
llvm::ELF::EF_AMDGPU_MACH
@ EF_AMDGPU_MACH
Definition: ELF.h:697
llvm::ELF::SHT_HIPROC
@ SHT_HIPROC
Definition: ELF.h:1024
llvm::ELF::GNU_PROPERTY_X86_FEATURE_1_AND
@ GNU_PROPERTY_X86_FEATURE_1_AND
Definition: ELF.h:1603
llvm::ELF::Elf64_Dyn::d_ptr
Elf64_Addr d_ptr
Definition: ELF.h:1396
llvm::ELF::EF_MSP430_MACH_MSP430x11x1
@ EF_MSP430_MACH_MSP430x11x1
Definition: ELF.h:846
llvm::ELF::PT_HIPROC
@ PT_HIPROC
Definition: ELF.h:1344
llvm::ELF::ODK_IDENT
@ ODK_IDENT
Definition: ELF.h:602
llvm::ELF::NT_MEMTAG_LEVEL_SYNC
@ NT_MEMTAG_LEVEL_SYNC
Definition: ELF.h:1590
llvm::ELF::NT_FREEBSD_FCTL_ASLR_DISABLE
@ NT_FREEBSD_FCTL_ASLR_DISABLE
Definition: ELF.h:1652
llvm::ELF::EF_MSP430_MACH_MSP430x11
@ EF_MSP430_MACH_MSP430x11
Definition: ELF.h:845
llvm::ELF::EM_MMDSP_PLUS
@ EM_MMDSP_PLUS
Definition: ELF.h:253
llvm::ELF::EM_RX
@ EM_RX
Definition: ELF.h:269
llvm::ELF::GNU_PROPERTY_AARCH64_FEATURE_1_BTI
@ GNU_PROPERTY_AARCH64_FEATURE_1_BTI
Definition: ELF.h:1616
llvm::ELF::STT_FUNC
@ STT_FUNC
Definition: ELF.h:1202
llvm::ELF::Elf32_Chdr::ch_addralign
Elf32_Word ch_addralign
Definition: ELF.h:1744
llvm::ELF::Elf64_Phdr::p_align
Elf64_Xword p_align
Definition: ELF.h:1328
llvm::ELF::Elf64_Sym::st_shndx
Elf64_Half st_shndx
Definition: ELF.h:1165
llvm::ELF::Elf64_Dyn::d_un
union llvm::ELF::Elf64_Dyn::@132 d_un
llvm::ELF::NT_FREEBSD_PROCSTAT_PROC
@ NT_FREEBSD_PROCSTAT_PROC
Definition: ELF.h:1663
llvm::ELF::EM_V800
@ EM_V800
Definition: ELF.h:152
llvm::ELF::STO_PPC64_LOCAL_BIT
@ STO_PPC64_LOCAL_BIT
Definition: ELF.h:408
llvm::ELF::SHF_HEX_GPREL
@ SHF_HEX_GPREL
Definition: ELF.h:1102
llvm::ELF::ET_HIPROC
@ ET_HIPROC
Definition: ELF.h:123
llvm::ELF::ODK_GP_GROUP
@ ODK_GP_GROUP
Definition: ELF.h:601
llvm::ELF::EF_HEXAGON_MACH_V3
@ EF_HEXAGON_MACH_V3
Definition: ELF.h:610
llvm::ELF::NT_FREEBSD_PROCSTAT_RLIMIT
@ NT_FREEBSD_PROCSTAT_RLIMIT
Definition: ELF.h:1668
llvm::ELF::Elf64_Shdr::sh_name
Elf64_Word sh_name
Definition: ELF.h:926
llvm::ELF::EF_AVR_ARCH_XMEGA2
@ EF_AVR_ARCH_XMEGA2
Definition: ELF.h:487
llvm::ELF::EM_CDP
@ EM_CDP
Definition: ELF.h:311
llvm::ELF::EM_COOL
@ EM_COOL
Definition: ELF.h:313
llvm::ELF::EM_PDSP
@ EM_PDSP
Definition: ELF.h:179
llvm::ELF::DF_TEXTREL
@ DF_TEXTREL
Definition: ELF.h:1411
llvm::ELF::EF_MIPS_ARCH_2
@ EF_MIPS_ARCH_2
Definition: ELF.h:554
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1031
@ EF_AMDGPU_MACH_AMDGCN_GFX1031
Definition: ELF.h:757
llvm::ELF::Elf64_Ehdr::checkMagic
bool checkMagic() const
Definition: ELF.h:103
llvm::ELF::EF_HEXAGON_ISA_V65
@ EF_HEXAGON_ISA_V65
Definition: ELF.h:634
llvm::ELF::NT_TASKSTRUCT
@ NT_TASKSTRUCT
Definition: ELF.h:1504
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::ELF::Elf32_Relr
Elf32_Word Elf32_Relr
Definition: ELF.h:1269
llvm::ELF::RHF_CORD
@ RHF_CORD
Definition: ELF.h:1466
llvm::ELF::SHT_ANDROID_REL
@ SHT_ANDROID_REL
Definition: ELF.h:977
llvm::ELF::EF_MSP430_MACH_MSP430x46
@ EF_MSP430_MACH_MSP430x46
Definition: ELF.h:865
llvm::ELF::Elf32_Rela::setType
void setType(unsigned char t)
Definition: ELF.h:1262
llvm::ELF::EF_MSP430_MACH_MSP430x16
@ EF_MSP430_MACH_MSP430x16
Definition: ELF.h:851
llvm::ELF::Elf64_Rela::setType
void setType(Elf64_Word t)
Definition: ELF.h:1298
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1030
@ EF_AMDGPU_MACH_AMDGCN_GFX1030
Definition: ELF.h:756
llvm::ELF::Elf32_Chdr::ch_size
Elf32_Word ch_size
Definition: ELF.h:1743
llvm::ELF::Elf64_Sym::getType
unsigned char getType() const
Definition: ELF.h:1172
llvm::ELF::SHF_MIPS_STRING
@ SHF_MIPS_STRING
Definition: ELF.h:1127
llvm::ELF::ELFOSABI_LINUX
@ ELFOSABI_LINUX
Definition: ELF.h:345
llvm::ELF::EM_L10M
@ EM_L10M
Definition: ELF.h:278
llvm::ELF::ELFOSABI_AMDGPU_PAL
@ ELFOSABI_AMDGPU_PAL
Definition: ELF.h:361
llvm::ELF::NT_PPC_VMX
@ NT_PPC_VMX
Definition: ELF.h:1513
llvm::ELF::Elf32_Ehdr::getDataEncoding
unsigned char getDataEncoding() const
Definition: ELF.h:82
llvm::ELF::Elf32_Rela::getType
unsigned char getType() const
Definition: ELF.h:1260
llvm::ELF::Elf32_Dyn::d_tag
Elf32_Sword d_tag
Definition: ELF.h:1384
llvm::ELF::GRP_MASKOS
@ GRP_MASKOS
Definition: ELF.h:1136
llvm::ELF::EF_HEXAGON_MACH_V65
@ EF_HEXAGON_MACH_V65
Definition: ELF.h:616
llvm::ELF::SHF_WRITE
@ SHF_WRITE
Definition: ELF.h:1032
llvm::ELF::NT_S390_TODPREG
@ NT_S390_TODPREG
Definition: ELF.h:1536
llvm::ELF::EM_MCST_ELBRUS
@ EM_MCST_ELBRUS
Definition: ELF.h:272
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1036
@ EF_AMDGPU_MACH_AMDGCN_GFX1036
Definition: ELF.h:771
llvm::ELF::EM_DSP24
@ EM_DSP24
Definition: ELF.h:246
llvm::ELF::SHN_MIPS_ACOMMON
@ SHN_MIPS_ACOMMON
Definition: ELF.h:569
llvm::ELF::EI_DATA
@ EI_DATA
Definition: ELF.h:53
llvm::ELF::SHT_LOOS
@ SHT_LOOS
Definition: ELF.h:974
llvm::ELF::EF_ARM_EABI_UNKNOWN
@ EF_ARM_EABI_UNKNOWN
Definition: ELF.h:438
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX703
@ EF_AMDGPU_MACH_AMDGCN_GFX703
Definition: ELF.h:739
llvm::ELF::EF_ARM_EABIMASK
@ EF_ARM_EABIMASK
Definition: ELF.h:444
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_ANY_V4
@ EF_AMDGPU_FEATURE_XNACK_ANY_V4
Definition: ELF.h:808
llvm::ELF::NT_WIN32PSTATUS
@ NT_WIN32PSTATUS
Definition: ELF.h:1511
llvm::ELF::Elf64_Sxword
int64_t Elf64_Sxword
Definition: ELF.h:41
llvm::ELF::GNU_PROPERTY_X86_FEATURE_1_SHSTK
@ GNU_PROPERTY_X86_FEATURE_1_SHSTK
Definition: ELF.h:1623
llvm::ELF::GNU_PROPERTY_AARCH64_FEATURE_1_PAC
@ GNU_PROPERTY_AARCH64_FEATURE_1_PAC
Definition: ELF.h:1617
llvm::ELF::SHT_CSKY_ATTRIBUTES
@ SHT_CSKY_ATTRIBUTES
Definition: ELF.h:1022
llvm::ELF::SHF_STRINGS
@ SHF_STRINGS
Definition: ELF.h:1044
llvm::ELF::EM_INTEL207
@ EM_INTEL207
Definition: ELF.h:303
llvm::ELF::Elf64_Ehdr::e_machine
Elf64_Half e_machine
Definition: ELF.h:90
llvm::ELF::EF_AVR_ARCH_XMEGA4
@ EF_AVR_ARCH_XMEGA4
Definition: ELF.h:489
llvm::ELF::Elf64_Ehdr::e_phoff
Elf64_Off e_phoff
Definition: ELF.h:93
llvm::ELF::SHT_GNU_ATTRIBUTES
@ SHT_GNU_ATTRIBUTES
Definition: ELF.h:993
llvm::ELF::NT_PSTATUS
@ NT_PSTATUS
Definition: ELF.h:1506
llvm::ELF::EF_AMDGPU_MACH_R600_RV730
@ EF_AMDGPU_MACH_R600_RV730
Definition: ELF.h:711
llvm::ELF::Elf64_Ehdr::e_phnum
Elf64_Half e_phnum
Definition: ELF.h:98
llvm::ELF::NT_PPC_TM_CGPR
@ NT_PPC_TM_CGPR
Definition: ELF.h:1520
llvm::ELF::EF_MIPS_ARCH_1
@ EF_MIPS_ARCH_1
Definition: ELF.h:553
llvm::ELF::EF_MSP430_MACH_MSP430x41
@ EF_MSP430_MACH_MSP430x41
Definition: ELF.h:860
llvm::ELF::NT_AMD_HSA_ISA_VERSION
@ NT_AMD_HSA_ISA_VERSION
Definition: ELF.h:1700
llvm::ELF::EF_MIPS_ARCH_5
@ EF_MIPS_ARCH_5
Definition: ELF.h:557
llvm::ELF::EM_M32R
@ EM_M32R
Definition: ELF.h:204
llvm::ELF::NT_ANDROID_TYPE_MEMTAG
@ NT_ANDROID_TYPE_MEMTAG
Definition: ELF.h:1577
llvm::ELF::NT_GNU_GOLD_VERSION
@ NT_GNU_GOLD_VERSION
Definition: ELF.h:1569
llvm::ELF::EF_AVR_LINKRELAX_PREPARED
@ EF_AVR_LINKRELAX_PREPARED
Definition: ELF.h:496
llvm::ELF::Elf64_Shdr::sh_addralign
Elf64_Xword sh_addralign
Definition: ELF.h:934
llvm::ELF::NT_FREEBSD_PROCSTAT_OSREL
@ NT_FREEBSD_PROCSTAT_OSREL
Definition: ELF.h:1669
llvm::ELF::Elf64_Phdr::p_memsz
Elf64_Xword p_memsz
Definition: ELF.h:1327
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX601
@ EF_AMDGPU_MACH_AMDGCN_GFX601
Definition: ELF.h:735
llvm::ELF::Elf64_Ehdr::e_flags
Elf64_Word e_flags
Definition: ELF.h:95
llvm::ELF::SHT_ARM_DEBUGOVERLAY
@ SHT_ARM_DEBUGOVERLAY
Definition: ELF.h:1007
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1011
@ EF_AMDGPU_MACH_AMDGCN_GFX1011
Definition: ELF.h:754
llvm::ELF::Elf64_Ehdr::e_ident
unsigned char e_ident[EI_NIDENT]
Definition: ELF.h:88
StringRef.h
llvm::ELF::EM_H8_300H
@ EM_H8_300H
Definition: ELF.h:163
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX90C
@ EF_AMDGPU_MACH_AMDGCN_GFX90C
Definition: ELF.h:752
llvm::ELF::DF_1_CONFALT
@ DF_1_CONFALT
Definition: ELF.h:1431
llvm::ELF::Elf32_Shdr::sh_entsize
Elf32_Word sh_entsize
Definition: ELF.h:921
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_MMX
@ GNU_PROPERTY_X86_FEATURE_2_MMX
Definition: ELF.h:1627
llvm::ELF::XCORE_SHF_DP_SECTION
@ XCORE_SHF_DP_SECTION
All sections with the "d" flag are grouped together by the linker to form the data section and the dp...
Definition: ELF.h:1084
llvm::ELF::EM_MCHP_PIC
@ EM_MCHP_PIC
Definition: ELF.h:300
llvm::ELF::Elf32_Ehdr::e_machine
Elf32_Half e_machine
Definition: ELF.h:64
llvm::ELF::Elf32_Ehdr::e_version
Elf32_Word e_version
Definition: ELF.h:65
llvm::ELF::Elf32_Sword
int32_t Elf32_Sword
Definition: ELF.h:33
llvm::ELF::SHT_PREINIT_ARRAY
@ SHT_PREINIT_ARRAY
Definition: ELF.h:968
llvm::ELF::NT_AMD_PAL_METADATA
@ NT_AMD_PAL_METADATA
Definition: ELF.h:1704
llvm::ELF::Elf32_Sym::setBindingAndType
void setBindingAndType(unsigned char b, unsigned char t)
Definition: ELF.h:1155
llvm::ELF::NT_FREEBSD_FCTL_ASG_DISABLE
@ NT_FREEBSD_FCTL_ASG_DISABLE
Definition: ELF.h:1657
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_X86
@ GNU_PROPERTY_X86_FEATURE_2_X86
Definition: ELF.h:1625
llvm::ELF::EM_MICROBLAZE
@ EM_MICROBLAZE
Definition: ELF.h:285
llvm::ELF::DF_ORIGIN
@ DF_ORIGIN
Definition: ELF.h:1409
llvm::ELF::EF_MIPS_MACH_4111
@ EF_MIPS_MACH_4111
Definition: ELF.h:531
llvm::ELF::ELFOSABI_AMDGPU_MESA3D
@ ELFOSABI_AMDGPU_MESA3D
Definition: ELF.h:362
llvm::ELF::XCORE_SHF_CP_SECTION
@ XCORE_SHF_CP_SECTION
All sections with the "c" flag are grouped together by the linker to form the constant pool and the c...
Definition: ELF.h:1089
llvm::ELF::STB_HIPROC
@ STB_HIPROC
Definition: ELF.h:1195
llvm::ELF::EM_SNP1K
@ EM_SNP1K
Definition: ELF.h:216
llvm::ELF::Elf64_Rel::getType
Elf64_Word getType() const
Definition: ELF.h:1279
llvm::ELF::NT_GNU_BUILD_ID
@ NT_GNU_BUILD_ID
Definition: ELF.h:1568
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1013
@ EF_AMDGPU_MACH_AMDGCN_GFX1013
Definition: ELF.h:768
llvm::ELF::EF_AVR_ARCH_XMEGA6
@ EF_AVR_ARCH_XMEGA6
Definition: ELF.h:491
llvm::ELF::NT_GNU_BUILD_ATTRIBUTE_FUNC
@ NT_GNU_BUILD_ATTRIBUTE_FUNC
Definition: ELF.h:1496
llvm::ELF::EF_ARM_EABI_VER5
@ EF_ARM_EABI_VER5
Definition: ELF.h:443
llvm::ELF::SHT_LOPROC
@ SHT_LOPROC
Definition: ELF.h:999
llvm::ELF::DF_1_DISPRELPND
@ DF_1_DISPRELPND
Definition: ELF.h:1434
llvm::ELF::Elf32_Sym::st_info
unsigned char st_info
Definition: ELF.h:1145
llvm::ELF::EI_PAD
@ EI_PAD
Definition: ELF.h:57
llvm::ELF::SHN_HEXAGON_SCOMMON
@ SHN_HEXAGON_SCOMMON
Definition: ELF.h:644
llvm::ELF::Elf64_Rel::getSymbol
Elf64_Word getSymbol() const
Definition: ELF.h:1278
llvm::ELF::Elf64_Chdr::ch_size
Elf64_Xword ch_size
Definition: ELF.h:1751
llvm::ELF::Elf64_Shdr::sh_type
Elf64_Word sh_type
Definition: ELF.h:927
llvm::ELF::DF_1_NOW
@ DF_1_NOW
Definition: ELF.h:1418
llvm::ELF::ODK_PAD
@ ODK_PAD
Definition: ELF.h:595
llvm::ELF::EF_CSKY_810
@ EF_CSKY_810
Definition: ELF.h:887
llvm::ELF::SHN_LOPROC
@ SHN_LOPROC
Definition: ELF.h:942
llvm::ELF::EF_HEXAGON_MACH_V69
@ EF_HEXAGON_MACH_V69
Definition: ELF.h:621
llvm::ELF::EF_MIPS_ARCH_4
@ EF_MIPS_ARCH_4
Definition: ELF.h:556
llvm::ELF::RHF_DELTA_C_PLUS_PLUS
@ RHF_DELTA_C_PLUS_PLUS
Definition: ELF.h:1458
llvm::ELF::Elf32_Nhdr::n_type
Elf32_Word n_type
Definition: ELF.h:1759
llvm::ELF::EF_CSKY_EFV2
@ EF_CSKY_EFV2
Definition: ELF.h:894
llvm::ELF::EM_HEXAGON
@ EM_HEXAGON
Definition: ELF.h:257
llvm::ELF::ET_HIOS
@ ET_HIOS
Definition: ELF.h:121
llvm::ELF::EM_R32C
@ EM_R32C
Definition: ELF.h:255
llvm::ELF::EF_AMDGPU_FEATURE_SRAMECC_OFF_V4
@ EF_AMDGPU_FEATURE_SRAMECC_OFF_V4
Definition: ELF.h:823
llvm::ELF::EM_LOONGARCH
@ EM_LOONGARCH
Definition: ELF.h:322
llvm::ELF::STT_GNU_IFUNC
@ STT_GNU_IFUNC
Definition: ELF.h:1207
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1103
@ EF_AMDGPU_MACH_AMDGCN_GFX1103
Definition: ELF.h:770
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1100
@ EF_AMDGPU_MACH_AMDGCN_GFX1100
Definition: ELF.h:767
llvm::ELF::E_ARC_MACH_ARC700
@ E_ARC_MACH_ARC700
Definition: ELF.h:458
llvm::ELF::EF_HEXAGON_ISA_V5
@ EF_HEXAGON_ISA_V5
Definition: ELF.h:630
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX805
@ EF_AMDGPU_MACH_AMDGCN_GFX805
Definition: ELF.h:762
llvm::ELF::PT_GNU_STACK
@ PT_GNU_STACK
Definition: ELF.h:1352
llvm::ELF::EF_ARC_CPU_ARCV2HS
@ EF_ARC_CPU_ARCV2HS
Definition: ELF.h:460
llvm::ELF::EM_RCE
@ EM_RCE
Definition: ELF.h:155
llvm::ELF::EF_HEXAGON_MACH_V55
@ EF_HEXAGON_MACH_V55
Definition: ELF.h:613
llvm::ELF::SHT_GNU_versym
@ SHT_GNU_versym
Definition: ELF.h:997
llvm::ELF::RHF_NOTPOT
@ RHF_NOTPOT
Definition: ELF.h:1451
memcmp
Merge contiguous icmps into a memcmp
Definition: MergeICmps.cpp:899
llvm::ELF::SHF_TLS
@ SHF_TLS
Definition: ELF.h:1060
llvm::ELF::E_ARC_OSABI_ORIG
@ E_ARC_OSABI_ORIG
Definition: ELF.h:461
llvm::ELF::ELFCOMPRESS_HIOS
@ ELFCOMPRESS_HIOS
Definition: ELF.h:1773
llvm::ELF::EF_CSKY_EFV3
@ EF_CSKY_EFV3
Definition: ELF.h:895
llvm::ELF::Elf64_Sym::setBindingAndType
void setBindingAndType(unsigned char b, unsigned char t)
Definition: ELF.h:1175
llvm::ELF::NT_ARM_HW_WATCH
@ NT_ARM_HW_WATCH
Definition: ELF.h:1550
llvm::ELF::EM_ST9PLUS
@ EM_ST9PLUS
Definition: ELF.h:183
llvm::ELF::SHN_LOOS
@ SHN_LOOS
Definition: ELF.h:944
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX602
@ EF_AMDGPU_MACH_AMDGCN_GFX602
Definition: ELF.h:760
llvm::ELF::EF_MSP430_MACH_MSP430x14
@ EF_MSP430_MACH_MSP430x14
Definition: ELF.h:849
llvm::ELF::Elf64_Nhdr::n_descsz
Elf64_Word n_descsz
Definition: ELF.h:1765
llvm::ELF::EF_AMDGPU_MACH_R600_RESERVED_LAST
@ EF_AMDGPU_MACH_R600_RESERVED_LAST
Definition: ELF.h:727
llvm::ELF::RSS_GP
@ RSS_GP
Definition: ELF.h:1230
llvm::ELF::EM_LANAI
@ EM_LANAI
Definition: ELF.h:318
llvm::ELF::SHT_SYMTAB_SHNDX
@ SHT_SYMTAB_SHNDX
Definition: ELF.h:970
llvm::ELF::PT_LOPROC
@ PT_LOPROC
Definition: ELF.h:1343
llvm::ELF::EM_MMIX
@ EM_MMIX
Definition: ELF.h:196
llvm::ELF::Elf32_Sym::getType
unsigned char getType() const
Definition: ELF.h:1152
llvm::ELF::SHT_STRTAB
@ SHT_STRTAB
Definition: ELF.h:957
llvm::ELF::EM_TI_C5500
@ EM_TI_C5500
Definition: ELF.h:252
llvm::ELF::STO_MIPS_PLT
@ STO_MIPS_PLT
Definition: ELF.h:584
llvm::ELF::EM_NONE
@ EM_NONE
Definition: ELF.h:133
llvm::ELF::EF_PPC64_ABI
@ EF_PPC64_ABI
Definition: ELF.h:403
llvm::ELF::EF_CSKY_EFV1
@ EF_CSKY_EFV1
Definition: ELF.h:893
llvm::ELF::E_ARC_MACH_ARC601
@ E_ARC_MACH_ARC601
Definition: ELF.h:457
llvm::ELF::EF_MIPS_32BITMODE
@ EF_MIPS_32BITMODE
Definition: ELF.h:511
llvm::ELF::ET_CORE
@ ET_CORE
Definition: ELF.h:119
llvm::ELF::EF_ARC_CPU_ARCV2EM
@ EF_ARC_CPU_ARCV2EM
Definition: ELF.h:459
llvm::ELF::RHF_DEFAULT_DELAY_LOAD
@ RHF_DEFAULT_DELAY_LOAD
Definition: ELF.h:1463
llvm::ELF::SHN_HIPROC
@ SHN_HIPROC
Definition: ELF.h:943
llvm::ELF::PT_GNU_PROPERTY
@ PT_GNU_PROPERTY
Definition: ELF.h:1354
llvm::ELF::PT_LOOS
@ PT_LOOS
Definition: ELF.h:1341
llvm::ELF::SHT_MIPS_DWARF
@ SHT_MIPS_DWARF
Definition: ELF.h:1015
llvm::ELF::NT_FREEBSD_PROCSTAT_GROUPS
@ NT_FREEBSD_PROCSTAT_GROUPS
Definition: ELF.h:1666
llvm::ELF::Elf64_Sym::st_info
unsigned char st_info
Definition: ELF.h:1163
llvm::ELF::SHN_HEXAGON_SCOMMON_1
@ SHN_HEXAGON_SCOMMON_1
Definition: ELF.h:645
llvm::ELF::EF_HEXAGON_ISA_V62
@ EF_HEXAGON_ISA_V62
Definition: ELF.h:633
llvm::ELF::EM_SPARCV9
@ EM_SPARCV9
Definition: ELF.h:159
llvm::ELF::EF_MIPS_PIC
@ EF_MIPS_PIC
Definition: ELF.h:508
llvm::ELF::Elf64_Xword
uint64_t Elf64_Xword
Definition: ELF.h:40
llvm::ELF::EF_MSP430_MACH_MSP430x24
@ EF_MSP430_MACH_MSP430x24
Definition: ELF.h:855
llvm::ELF::Elf64_Ehdr::e_shentsize
Elf64_Half e_shentsize
Definition: ELF.h:99
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_RESERVED_0X43
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X43
Definition: ELF.h:769
llvm::ELF::EM_CUDA
@ EM_CUDA
Definition: ELF.h:286
llvm::ELF::EF_HEXAGON_ISA_V4
@ EF_HEXAGON_ISA_V4
Definition: ELF.h:629
llvm::ELF::NT_FREEBSD_THRMISC
@ NT_FREEBSD_THRMISC
Definition: ELF.h:1662
llvm::ELF::EF_MIPS_MACH_5400
@ EF_MIPS_MACH_5400
Definition: ELF.h:537
llvm::ELF::SHT_LOUSER
@ SHT_LOUSER
Definition: ELF.h:1025
llvm::ELF::ET_NONE
@ ET_NONE
Definition: ELF.h:115
llvm::ELF::DF_1_TRANS
@ DF_1_TRANS
Definition: ELF.h:1427
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX802
@ EF_AMDGPU_MACH_AMDGCN_GFX802
Definition: ELF.h:743
llvm::ELF::EF_HEXAGON_MACH
@ EF_HEXAGON_MACH
Definition: ELF.h:622
llvm::ELF::DF_1_ENDFILTEE
@ DF_1_ENDFILTEE
Definition: ELF.h:1432
llvm::ELF::SHF_ALLOC
@ SHF_ALLOC
Definition: ELF.h:1035
llvm::ELF::ET_LOPROC
@ ET_LOPROC
Definition: ELF.h:122
llvm::ELF::DF_1_DIRECT
@ DF_1_DIRECT
Definition: ELF.h:1426
llvm::ELF::EF_MIPS_ABI_O64
@ EF_MIPS_ABI_O64
Definition: ELF.h:519
llvm::ELF::DF_1_SYMINTPOSE
@ DF_1_SYMINTPOSE
Definition: ELF.h:1441
llvm::ELF::EM_AVR
@ EM_AVR
Definition: ELF.h:199
llvm::ELF::RHS_NO_LIBRARY_REPLACEMENT
@ RHS_NO_LIBRARY_REPLACEMENT
Definition: ELF.h:1452
llvm::ELF::NT_S390_PREFIX
@ NT_S390_PREFIX
Definition: ELF.h:1538
llvm::ELF::Elf32_Sym::setBinding
void setBinding(unsigned char b)
Definition: ELF.h:1153
llvm::ELF::STT_TLS
@ STT_TLS
Definition: ELF.h:1206
llvm::ELF::RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG
@ RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG
Definition: ELF.h:1735
llvm::ELF::EF_ARM_EABI_VER3
@ EF_ARM_EABI_VER3
Definition: ELF.h:441
llvm::ELF::EF_AMDGPU_MACH_R600_RS880
@ EF_AMDGPU_MACH_R600_RS880
Definition: ELF.h:707
llvm::ELF::EM_NS32K
@ EM_NS32K
Definition: ELF.h:214
llvm::ELF::RHF_PIXIE
@ RHF_PIXIE
Definition: ELF.h:1462
llvm::ELF::EF_MSP430_MACH_MSP430x54
@ EF_MSP430_MACH_MSP430x54
Definition: ELF.h:867
llvm::ELF::NT_MEMTAG_LEVEL_MASK
@ NT_MEMTAG_LEVEL_MASK
Definition: ELF.h:1591
llvm::ELF::NT_FREEBSD_NOINIT_TAG
@ NT_FREEBSD_NOINIT_TAG
Definition: ELF.h:1645
llvm::ELF::EM_SEP
@ EM_SEP
Definition: ELF.h:225
llvm::ELF::Elf64_Dyn::d_val
Elf64_Xword d_val
Definition: ELF.h:1395
llvm::ELF::NT_GNU_BUILD_ATTRIBUTE_OPEN
@ NT_GNU_BUILD_ATTRIBUTE_OPEN
Definition: ELF.h:1495
llvm::ELF::EF_AMDGPU_MACH_R600_RV710
@ EF_AMDGPU_MACH_R600_RV710
Definition: ELF.h:710
llvm::ELF::EF_MIPS_MACH_4100
@ EF_MIPS_MACH_4100
Definition: ELF.h:528
llvm::ELF::Elf64_Rel::r_offset
Elf64_Addr r_offset
Definition: ELF.h:1273
llvm::ELF::STB_LOOS
@ STB_LOOS
Definition: ELF.h:1192
llvm::ELF::EM_VAX
@ EM_VAX
Definition: ELF.h:191
llvm::ELF::SHN_MIPS_SUNDEFINED
@ SHN_MIPS_SUNDEFINED
Definition: ELF.h:573
llvm::ELF::EM_TSK3000
@ EM_TSK3000
Definition: ELF.h:240
llvm::ELF::SHT_FINI_ARRAY
@ SHT_FINI_ARRAY
Definition: ELF.h:967
llvm::ELF::Elf32_Shdr::sh_info
Elf32_Word sh_info
Definition: ELF.h:919
llvm::ELF::Elf64_Rela
Definition: ELF.h:1288
llvm::ELF::NT_AMD_HSA_METADATA
@ NT_AMD_HSA_METADATA
Definition: ELF.h:1702
llvm::ELF::ELFOSABI_HPUX
@ ELFOSABI_HPUX
Definition: ELF.h:342
llvm::ELF::ELFOSABI_ARM
@ ELFOSABI_ARM
Definition: ELF.h:363
llvm::ELF::SHT_LLVM_DEPENDENT_LIBRARIES
@ SHT_LLVM_DEPENDENT_LIBRARIES
Definition: ELF.h:983
llvm::ELF::Elf32_Rel::getType
unsigned char getType() const
Definition: ELF.h:1243
llvm::ELF::Elf32_Nhdr::n_descsz
Elf32_Word n_descsz
Definition: ELF.h:1758
llvm::ELF::EV_NONE
@ EV_NONE
Definition: ELF.h:127
llvm::ELF::EF_MIPS_ARCH_ASE_MDMX
@ EF_MIPS_ARCH_ASE_MDMX
Definition: ELF.h:549
llvm::ELF::EM_CE
@ EM_CE
Definition: ELF.h:238
llvm::ELF::ELFOSABI_OPENVMS
@ ELFOSABI_OPENVMS
Definition: ELF.h:354
llvm::ELF::NT_PPC_TM_CPPR
@ NT_PPC_TM_CPPR
Definition: ELF.h:1526
llvm::ELF::GNU_PROPERTY_X86_ISA_1_V4
@ GNU_PROPERTY_X86_ISA_1_V4
Definition: ELF.h:1639
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX908
@ EF_AMDGPU_MACH_AMDGCN_GFX908
Definition: ELF.h:750
llvm::ELF::SHN_HEXAGON_SCOMMON_4
@ SHN_HEXAGON_SCOMMON_4
Definition: ELF.h:647
llvm::ELF::GNU_ABI_TAG_NACL
@ GNU_ABI_TAG_NACL
Definition: ELF.h:1727
llvm::ELF::Elf64_Shdr::sh_link
Elf64_Word sh_link
Definition: ELF.h:932
llvm::ELF::NT_PSINFO
@ NT_PSINFO
Definition: ELF.h:1508
llvm::ELF::EF_MIPS_ABI_O32
@ EF_MIPS_ABI_O32
Definition: ELF.h:518
llvm::ELF::Elf32_Ehdr::e_shstrndx
Elf32_Half e_shstrndx
Definition: ELF.h:75
llvm::ELF::NT_SIGINFO
@ NT_SIGINFO
Definition: ELF.h:1556
llvm::ELF::EM_ST100
@ EM_ST100
Definition: ELF.h:176
llvm::ELF::ELFOSABI_NSK
@ ELFOSABI_NSK
Definition: ELF.h:355
llvm::ELF::EM_COREA_1ST
@ EM_COREA_1ST
Definition: ELF.h:289
llvm::ELF::SHN_COMMON
@ SHN_COMMON
Definition: ELF.h:947
llvm::ELF::EM_CRX
@ EM_CRX
Definition: ELF.h:232
llvm::ELF::SYMENTRY_SIZE64
@ SYMENTRY_SIZE64
Definition: ELF.h:1183
llvm::ELF::EF_AVR_ARCH_AVR51
@ EF_AVR_ARCH_AVR51
Definition: ELF.h:483
llvm::ELF::SHF_INFO_LINK
@ SHF_INFO_LINK
Definition: ELF.h:1047
llvm::ELF::ELFOSABI_AIX
@ ELFOSABI_AIX
Definition: ELF.h:348
llvm::ELF::EM_SCORE7
@ EM_SCORE7
Definition: ELF.h:245
llvm::ELF::EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4
@ EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4
Definition: ELF.h:819
llvm::ELF::Elf64_Sword
int32_t Elf64_Sword
Definition: ELF.h:39
llvm::ELF::EF_MSP430_MACH_MSP430x23
@ EF_MSP430_MACH_MSP430x23
Definition: ELF.h:854
llvm::ELF::EM_78KOR
@ EM_78KOR
Definition: ELF.h:295
llvm::ELF::EF_MIPS_MACH_4650
@ EF_MIPS_MACH_4650
Definition: ELF.h:529
llvm::ELF::SHF_COMPRESSED
@ SHF_COMPRESSED
Definition: ELF.h:1063
llvm::ELF::RHF_REQUICKSTARTED
@ RHF_REQUICKSTARTED
Definition: ELF.h:1465
llvm::ELF::PT_OPENBSD_WXNEEDED
@ PT_OPENBSD_WXNEEDED
Definition: ELF.h:1357
llvm::ELF::EM_960
@ EM_960
Definition: ELF.h:147
llvm::ELF::EM_RH32
@ EM_RH32
Definition: ELF.h:154
llvm::ELF::EM_SPU
@ EM_SPU
Definition: ELF.h:151
llvm::ELF::RELOCATION_GROUPED_BY_ADDEND_FLAG
@ RELOCATION_GROUPED_BY_ADDEND_FLAG
Definition: ELF.h:1736
llvm::ELF::EF_MSP430_MACH_MSP430x20
@ EF_MSP430_MACH_MSP430x20
Definition: ELF.h:852
llvm::ELF::GNU_PROPERTY_AARCH64_FEATURE_1_AND
@ GNU_PROPERTY_AARCH64_FEATURE_1_AND
Definition: ELF.h:1602
llvm::ELF::NT_S390_SYSTEM_CALL
@ NT_S390_SYSTEM_CALL
Definition: ELF.h:1540
llvm::ELF::DF_1_LOADFLTR
@ DF_1_LOADFLTR
Definition: ELF.h:1422
llvm::ELF::EF_HEXAGON_ISA_V2
@ EF_HEXAGON_ISA_V2
Definition: ELF.h:627
llvm::ELF::EF_MIPS_ARCH_ASE
@ EF_MIPS_ARCH_ASE
Definition: ELF.h:550
llvm::ELF::Elf32_Rel::r_info
Elf32_Word r_info
Definition: ELF.h:1238
llvm::ELF::SHT_ANDROID_RELR
@ SHT_ANDROID_RELR
Definition: ELF.h:992
llvm::ELF::EM_ST19
@ EM_ST19
Definition: ELF.h:190
llvm::ELF::NT_FREEBSD_ARCH_TAG
@ NT_FREEBSD_ARCH_TAG
Definition: ELF.h:1646
llvm::ELF::PF_X
@ PF_X
Definition: ELF.h:1375
llvm::ELF::GNU_PROPERTY_STACK_SIZE
@ GNU_PROPERTY_STACK_SIZE
Definition: ELF.h:1600
llvm::ELF::EF_MSP430_MACH_MSP430x42
@ EF_MSP430_MACH_MSP430x42
Definition: ELF.h:861
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX900
@ EF_AMDGPU_MACH_AMDGCN_GFX900
Definition: ELF.h:746
llvm::ELF::RHF_SGI_ONLY
@ RHF_SGI_ONLY
Definition: ELF.h:1454
llvm::ELF::EM_C166
@ EM_C166
Definition: ELF.h:234
llvm::ELF::EF_RISCV_FLOAT_ABI_SOFT
@ EF_RISCV_FLOAT_ABI_SOFT
Definition: ELF.h:665
llvm::ELF::STB_LOPROC
@ STB_LOPROC
Definition: ELF.h:1194
llvm::ELF::Elf32_Phdr::p_type
Elf32_Word p_type
Definition: ELF.h:1309
llvm::ELF::EM_S370
@ EM_S370
Definition: ELF.h:142
llvm::ELF::EF_ARM_VFP_FLOAT
@ EF_ARM_VFP_FLOAT
Definition: ELF.h:436
llvm::ELF::SHT_LLVM_PART_EHDR
@ SHT_LLVM_PART_EHDR
Definition: ELF.h:986
llvm::ELF::ELFOSABI_NONE
@ ELFOSABI_NONE
Definition: ELF.h:341
llvm::ELF::Elf32_Rel
Definition: ELF.h:1236
llvm::ELF::Elf64_Sym::st_name
Elf64_Word st_name
Definition: ELF.h:1162
llvm::ELF::STO_AARCH64_VARIANT_PCS
@ STO_AARCH64_VARIANT_PCS
Definition: ELF.h:429
llvm::ELF::EM_68K
@ EM_68K
Definition: ELF.h:137
llvm::ELF::NT_PPC_DSCR
@ NT_PPC_DSCR
Definition: ELF.h:1517
llvm::ELF::VER_FLG_WEAK
@ VER_FLG_WEAK
Definition: ELF.h:1476
llvm::ELF::EF_HEXAGON_ISA_V67
@ EF_HEXAGON_ISA_V67
Definition: ELF.h:636
llvm::ELF::Elf32_Shdr::sh_size
Elf32_Word sh_size
Definition: ELF.h:917
llvm::ELF::EF_MSP430_MACH_MSP430x44
@ EF_MSP430_MACH_MSP430x44
Definition: ELF.h:863
llvm::ELF::Elf64_Sym::st_size
Elf64_Xword st_size
Definition: ELF.h:1167
llvm::ELF::NT_PPC_TM_SPR
@ NT_PPC_TM_SPR
Definition: ELF.h:1524
llvm::ELF::NT_ARM_PAC_MASK
@ NT_ARM_PAC_MASK
Definition: ELF.h:1552
llvm::ELF::EM_860
@ EM_860
Definition: ELF.h:140
llvm::ELF::NT_PPC_VSX
@ NT_PPC_VSX
Definition: ELF.h:1514
llvm::ELF::Elf32_Phdr::p_vaddr
Elf32_Addr p_vaddr
Definition: ELF.h:1311
llvm::ELF::NT_LLVM_OPENMP_OFFLOAD_VERSION
@ NT_LLVM_OPENMP_OFFLOAD_VERSION
Definition: ELF.h:1715
llvm::ELF::GNU_ABI_TAG_SOLARIS
@ GNU_ABI_TAG_SOLARIS
Definition: ELF.h:1723
llvm::ELF::EM_ARM
@ EM_ARM
Definition: ELF.h:156
llvm::ELF::NT_GNU_PROPERTY_TYPE_0
@ NT_GNU_PROPERTY_TYPE_0
Definition: ELF.h:1570
llvm::ELF::EM_XTENSA
@ EM_XTENSA
Definition: ELF.h:211
llvm::ELF::SHT_LLVM_CALL_GRAPH_PROFILE
@ SHT_LLVM_CALL_GRAPH_PROFILE
Definition: ELF.h:989
llvm::ELF::ELFOSABI_OPENBSD
@ ELFOSABI_OPENBSD
Definition: ELF.h:353
llvm::ELF::EM_RS08
@ EM_RS08
Definition: ELF.h:241
llvm::ELF::DF_1_EDITED
@ DF_1_EDITED
Definition: ELF.h:1439
llvm::ELF::SHF_MIPS_ADDR
@ SHF_MIPS_ADDR
Definition: ELF.h:1124
llvm::ELF::ODK_HWOR
@ ODK_HWOR
Definition: ELF.h:600
llvm::ELF::RHF_NO_UNRES_UNDEF
@ RHF_NO_UNRES_UNDEF
Definition: ELF.h:1467
llvm::ELF::NT_ARM_TLS
@ NT_ARM_TLS
Definition: ELF.h:1548
llvm::ELF::VER_NDX_GLOBAL
@ VER_NDX_GLOBAL
Definition: ELF.h:1481
llvm::ELF::Elf32_Rela::setSymbolAndType
void setSymbolAndType(Elf32_Word s, unsigned char t)
Definition: ELF.h:1263
llvm::ELF::NT_ARM_VFP
@ NT_ARM_VFP
Definition: ELF.h:1547
llvm::ELF::Elf64_Shdr::sh_offset
Elf64_Off sh_offset
Definition: ELF.h:930
llvm::ELF::EM_LATTICEMICO32
@ EM_LATTICEMICO32
Definition: ELF.h:248
llvm::ELF::DF_1_NORELOC
@ DF_1_NORELOC
Definition: ELF.h:1440
llvm::ELF::NT_LWPSTATUS
@ NT_LWPSTATUS
Definition: ELF.h:1509
llvm::ELF::SHT_HASH
@ SHT_HASH
Definition: ELF.h:959
llvm::ELF::Elf64_Chdr::ch_addralign
Elf64_Xword ch_addralign
Definition: ELF.h:1752
llvm::ELF::EF_AVR_ARCH_XMEGA3
@ EF_AVR_ARCH_XMEGA3
Definition: ELF.h:488
llvm::ELF::STB_GLOBAL
@ STB_GLOBAL
Definition: ELF.h:1189
llvm::ELF::EF_MIPS_MACH_LS2E
@ EF_MIPS_MACH_LS2E
Definition: ELF.h:541
llvm::ELF::EM_IP2K
@ EM_IP2K
Definition: ELF.h:218
llvm::ELF::PF_W
@ PF_W
Definition: ELF.h:1376
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_LAST
@ EF_AMDGPU_MACH_AMDGCN_LAST
Definition: ELF.h:777
llvm::ELF::EM_EXCESS
@ EM_EXCESS
Definition: ELF.h:229
llvm::ELF::EM_BA1
@ EM_BA1
Definition: ELF.h:297
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX940
@ EF_AMDGPU_MACH_AMDGCN_GFX940
Definition: ELF.h:766
llvm::ELF::NT_FREEBSD_FCTL_STKGAP_DISABLE
@ NT_FREEBSD_FCTL_STKGAP_DISABLE
Definition: ELF.h:1654
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX810
@ EF_AMDGPU_MACH_AMDGCN_GFX810
Definition: ELF.h:745
llvm::ELF::NT_FREEBSD_PROCSTAT_FILES
@ NT_FREEBSD_PROCSTAT_FILES
Definition: ELF.h:1664
llvm::ELF::EM_OPEN8
@ EM_OPEN8
Definition: ELF.h:292
llvm::ELF::SHN_MIPS_TEXT
@ SHN_MIPS_TEXT
Definition: ELF.h:570
llvm::ELF::NT_LWPSINFO
@ NT_LWPSINFO
Definition: ELF.h:1510
llvm::ELF::Elf64_Shdr::sh_info
Elf64_Word sh_info
Definition: ELF.h:933
llvm::ELF::EF_ARM_SOFT_FLOAT
@ EF_ARM_SOFT_FLOAT
Definition: ELF.h:434
llvm::ELF::Elf64_Nhdr::n_type
Elf64_Word n_type
Definition: ELF.h:1766
llvm::ELF::NT_X86_XSTATE
@ NT_X86_XSTATE
Definition: ELF.h:1531
llvm::ELF::DF_1_NODEFLIB
@ DF_1_NODEFLIB
Definition: ELF.h:1429
llvm::ELF::PT_OPENBSD_BOOTDATA
@ PT_OPENBSD_BOOTDATA
Definition: ELF.h:1358
llvm::ELF::Elf32_Rela::r_info
Elf32_Word r_info
Definition: ELF.h:1254
llvm::ELF::EF_AVR_ARCH_AVR25
@ EF_AVR_ARCH_AVR25
Definition: ELF.h:477
llvm::ELF::EM_BA2
@ EM_BA2
Definition: ELF.h:298
llvm::ELF::STT_LOPROC
@ STT_LOPROC
Definition: ELF.h:1210
llvm::ELF::EF_HEXAGON_ISA
@ EF_HEXAGON_ISA
Definition: ELF.h:639
llvm::ELF::EF_AMDGPU_MACH_R600_REDWOOD
@ EF_AMDGPU_MACH_R600_REDWOOD
Definition: ELF.h:717
llvm::ELF::NT_ANDROID_TYPE_IDENT
@ NT_ANDROID_TYPE_IDENT
Definition: ELF.h:1575
t
bitcast float %x to i32 %s=and i32 %t, 2147483647 %d=bitcast i32 %s to float ret float %d } declare float @fabsf(float %n) define float @bar(float %x) nounwind { %d=call float @fabsf(float %x) ret float %d } This IR(from PR6194):target datalayout="e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple="x86_64-apple-darwin10.0.0" %0=type { double, double } %struct.float3=type { float, float, float } define void @test(%0, %struct.float3 *nocapture %res) nounwind noinline ssp { entry:%tmp18=extractvalue %0 %0, 0 t
Definition: README-SSE.txt:788
b
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int b
Definition: README.txt:418
llvm::ELF::NT_S390_GS_CB
@ NT_S390_GS_CB
Definition: ELF.h:1544
llvm::ELF::EI_MAG1
@ EI_MAG1
Definition: ELF.h:49
llvm::ELF::NT_MEMTAG_LEVEL_ASYNC
@ NT_MEMTAG_LEVEL_ASYNC
Definition: ELF.h:1589
llvm::ELF::Elf32_Ehdr::e_ehsize
Elf32_Half e_ehsize
Definition: ELF.h:70
llvm::ELF::Elf32_Ehdr::e_flags
Elf32_Word e_flags
Definition: ELF.h:69
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1010
@ EF_AMDGPU_MACH_AMDGCN_GFX1010
Definition: ELF.h:753
llvm::ELF::NT_PPC_TM_CVSX
@ NT_PPC_TM_CVSX
Definition: ELF.h:1523
llvm::ELF::EM_CRAYNV2
@ EM_CRAYNV2
Definition: ELF.h:268
llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V5
@ ELFABIVERSION_AMDGPU_HSA_V5
Definition: ELF.h:377
llvm::ELF::EF_HEXAGON_MACH_V60
@ EF_HEXAGON_MACH_V60
Definition: ELF.h:614
llvm::ELF::EM_INTEL208
@ EM_INTEL208
Definition: ELF.h:304
llvm::ELF::EM_SVX
@ EM_SVX
Definition: ELF.h:189
llvm::ELF::SHF_MIPS_LOCAL
@ SHF_MIPS_LOCAL
Definition: ELF.h:1112
llvm::ELF::ELFCOMPRESS_ZLIB
@ ELFCOMPRESS_ZLIB
Definition: ELF.h:1771
llvm::ELF::Elf32_Sym::st_value
Elf32_Addr st_value
Definition: ELF.h:1143
llvm::ELF::EF_AVR_ARCH_AVR5
@ EF_AVR_ARCH_AVR5
Definition: ELF.h:482
llvm::ELF::PT_TLS
@ PT_TLS
Definition: ELF.h:1340
llvm::ELF::Elf64_Sym::getBinding
unsigned char getBinding() const
Definition: ELF.h:1171
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX704
@ EF_AMDGPU_MACH_AMDGCN_GFX704
Definition: ELF.h:740
llvm::ELF::Elf32_Sym::st_name
Elf32_Word st_name
Definition: ELF.h:1142
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1012
@ EF_AMDGPU_MACH_AMDGCN_GFX1012
Definition: ELF.h:755
llvm::ELF::EF_AMDGPU_MACH_R600_LAST
@ EF_AMDGPU_MACH_R600_LAST
Definition: ELF.h:731
llvm::ELF::EF_MIPS_MACH_OCTEON3
@ EF_MIPS_MACH_OCTEON3
Definition: ELF.h:536
llvm::ELF::PT_MIPS_REGINFO
@ PT_MIPS_REGINFO
Definition: ELF.h:1367
llvm::ELF::EF_AMDGPU_MACH_R600_JUNIPER
@ EF_AMDGPU_MACH_R600_JUNIPER
Definition: ELF.h:716
llvm::ELF::NT_PPC_TM_CTAR
@ NT_PPC_TM_CTAR
Definition: ELF.h:1525
llvm::ELF::DF_BIND_NOW
@ DF_BIND_NOW
Definition: ELF.h:1412
llvm::ELF::STT_HIPROC
@ STT_HIPROC
Definition: ELF.h:1211
llvm::ELF::EM_OPENRISC
@ EM_OPENRISC
Definition: ELF.h:208
llvm::ELF::ODK_HWAND
@ ODK_HWAND
Definition: ELF.h:599
llvm::ELF::VER_NDX_LOCAL
@ VER_NDX_LOCAL
Definition: ELF.h:1480
llvm::ELF::EM_NORC
@ EM_NORC
Definition: ELF.h:314
llvm::ELF::EM_COGE
@ EM_COGE
Definition: ELF.h:312
llvm::ELF::NT_NETBSDCORE_AUXV
@ NT_NETBSDCORE_AUXV
Definition: ELF.h:1677
llvm::ELF::SHF_MIPS_NOSTRIP
@ SHF_MIPS_NOSTRIP
Definition: ELF.h:1115
llvm::ELF::EF_MIPS_ARCH_64R6
@ EF_MIPS_ARCH_64R6
Definition: ELF.h:563
llvm::ELF::EF_CSKY_800
@ EF_CSKY_800
Definition: ELF.h:889
llvm::ELF::EM_PDP11
@ EM_PDP11
Definition: ELF.h:181
llvm::ELF::EM_NDS32
@ EM_NDS32
Definition: ELF.h:261
llvm::ELF::SHN_ABS
@ SHN_ABS
Definition: ELF.h:946
llvm::ELF::EM_MIPS_X
@ EM_MIPS_X
Definition: ELF.h:167
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1034
@ EF_AMDGPU_MACH_AMDGCN_GFX1034
Definition: ELF.h:764
llvm::ELF::Elf32_Rel::setSymbol
void setSymbol(Elf32_Word s)
Definition: ELF.h:1244
llvm::ELF::EF_MIPS_MACH
@ EF_MIPS_MACH
Definition: ELF.h:544
llvm::ELF::EM_SH
@ EM_SH
Definition: ELF.h:158
llvm::ELF::SHT_ANDROID_RELA
@ SHT_ANDROID_RELA
Definition: ELF.h:978
llvm::ELF::Elf32_Rel::setSymbolAndType
void setSymbolAndType(Elf32_Word s, unsigned char t)
Definition: ELF.h:1246
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX909
@ EF_AMDGPU_MACH_AMDGCN_GFX909
Definition: ELF.h:751
llvm::ELF::DF_STATIC_TLS
@ DF_STATIC_TLS
Definition: ELF.h:1413
llvm::ELF::ELFOSABI_AMDGPU_HSA
@ ELFOSABI_AMDGPU_HSA
Definition: ELF.h:360
llvm::ELF::ELFOSABI_AROS
@ ELFOSABI_AROS
Definition: ELF.h:356
llvm::ELF::ELFOSABI_C6000_LINUX
@ ELFOSABI_C6000_LINUX
Definition: ELF.h:365
llvm::ELF::EF_MIPS_MACH_NONE
@ EF_MIPS_MACH_NONE
Definition: ELF.h:525
llvm::ELF::DF_1_GROUP
@ DF_1_GROUP
Definition: ELF.h:1420
llvm::ELF::EF_AVR_ARCH_AVR35
@ EF_AVR_ARCH_AVR35
Definition: ELF.h:480
llvm::ELF::STV_DEFAULT
@ STV_DEFAULT
Definition: ELF.h:1218
llvm::ELF::STB_HIOS
@ STB_HIOS
Definition: ELF.h:1193
llvm::ELF::NT_S390_TODCMP
@ NT_S390_TODCMP
Definition: ELF.h:1535
llvm::ELF::EF_MIPS_MACH_5500
@ EF_MIPS_MACH_5500
Definition: ELF.h:539
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX705
@ EF_AMDGPU_MACH_AMDGCN_GFX705
Definition: ELF.h:761
llvm::ELF::SHT_SHLIB
@ SHT_SHLIB
Definition: ELF.h:964
llvm::ELF::EM_ST200
@ EM_ST200
Definition: ELF.h:217
llvm::ELF::GNU_ABI_TAG_HURD
@ GNU_ABI_TAG_HURD
Definition: ELF.h:1722
llvm::ELF::EF_MSP430_MACH_MSP430x33
@ EF_MSP430_MACH_MSP430x33
Definition: ELF.h:859
llvm::ELF::Elf32_Rela::setSymbol
void setSymbol(Elf32_Word s)
Definition: ELF.h:1261
llvm::ELF::SHF_MIPS_GPREL
@ SHF_MIPS_GPREL
Definition: ELF.h:1118
llvm::ELF::STT_SECTION
@ STT_SECTION
Definition: ELF.h:1203
llvm::ELF::EM_RISCV
@ EM_RISCV
Definition: ELF.h:317
llvm::ELF::EM_TMM_GPP
@ EM_TMM_GPP
Definition: ELF.h:213
llvm::ELF::Elf32_Phdr::p_memsz
Elf32_Word p_memsz
Definition: ELF.h:1314
llvm::ELF::EM_IAMCU
@ EM_IAMCU
Definition: ELF.h:139
llvm::ELF::ET_LOOS
@ ET_LOOS
Definition: ELF.h:120
llvm::ELF::EM_CRIS
@ EM_CRIS
Definition: ELF.h:192
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_OFF_V4
@ EF_AMDGPU_FEATURE_XNACK_OFF_V4
Definition: ELF.h:810
llvm::ELF::GNU_ABI_TAG_FREEBSD
@ GNU_ABI_TAG_FREEBSD
Definition: ELF.h:1724
llvm::ELF::ELFCOMPRESS_LOPROC
@ ELFCOMPRESS_LOPROC
Definition: ELF.h:1774
llvm::ELF::Elf64_Rel::r_info
Elf64_Xword r_info
Definition: ELF.h:1274
llvm::ELF::EF_HEXAGON_MACH_V66
@ EF_HEXAGON_MACH_V66
Definition: ELF.h:617
llvm::ELF::SHF_MIPS_MERGE
@ SHF_MIPS_MERGE
Definition: ELF.h:1121
llvm::ELF::EF_MIPS_ARCH_3
@ EF_MIPS_ARCH_3
Definition: ELF.h:555
llvm::ELF::SHT_LLVM_ODRTAB
@ SHT_LLVM_ODRTAB
Definition: ELF.h:979
llvm::ELF::EM_INTEL209
@ EM_INTEL209
Definition: ELF.h:305
llvm::ELF::NT_AMD_HSA_ISA_NAME
@ NT_AMD_HSA_ISA_NAME
Definition: ELF.h:1703
llvm::ELF::SHT_MIPS_ABIFLAGS
@ SHT_MIPS_ABIFLAGS
Definition: ELF.h:1016
llvm::ELF::EF_CSKY_860
@ EF_CSKY_860
Definition: ELF.h:888
llvm::ELF::Elf64_Phdr::p_offset
Elf64_Off p_offset
Definition: ELF.h:1323
llvm::ELF::EM_ME16
@ EM_ME16
Definition: ELF.h:175
llvm::ELF::SHT_NOBITS
@ SHT_NOBITS
Definition: ELF.h:962
llvm::ELF::EF_AMDGPU_FEATURE_SRAMECC_ON_V4
@ EF_AMDGPU_FEATURE_SRAMECC_ON_V4
Definition: ELF.h:825
llvm::ELF::RHF_NONE
@ RHF_NONE
Definition: ELF.h:1449
llvm::ELF::PT_LOAD
@ PT_LOAD
Definition: ELF.h:1334
llvm::ELF::SYMENTRY_SIZE32
@ SYMENTRY_SIZE32
Definition: ELF.h:1182
llvm::ELF::STV_HIDDEN
@ STV_HIDDEN
Definition: ELF.h:1220
llvm::ELF::EM_BPF
@ EM_BPF
Definition: ELF.h:319
llvm::ELF::NT_FILE
@ NT_FILE
Definition: ELF.h:1554
llvm::ELF::NT_ARM_HW_BREAK
@ NT_ARM_HW_BREAK
Definition: ELF.h:1549
llvm::ELF::Elf32_Shdr::sh_addr
Elf32_Addr sh_addr
Definition: ELF.h:915
llvm::ELF::DF_1_NOKSYMS
@ DF_1_NOKSYMS
Definition: ELF.h:1437
llvm::ELF::RSS_GP0
@ RSS_GP0
Definition: ELF.h:1231
llvm::ELF::EF_MIPS_MACH_SB1
@ EF_MIPS_MACH_SB1
Definition: ELF.h:532
llvm::ELF::NT_OPENBSD_REGS
@ NT_OPENBSD_REGS
Definition: ELF.h:1685
llvm::ELF::Elf64_Phdr::p_filesz
Elf64_Xword p_filesz
Definition: ELF.h:1326
llvm::ELF::EM_INTEL206
@ EM_INTEL206
Definition: ELF.h:302
llvm::ELF::EM_ECOG1X
@ EM_ECOG1X
Definition: ELF.h:264
llvm::ELF::SHT_DYNAMIC
@ SHT_DYNAMIC
Definition: ELF.h:960
llvm::ELF::EM_MIPS_RS3_LE
@ EM_MIPS_RS3_LE
Definition: ELF.h:143
llvm::ELF::STT_LOOS
@ STT_LOOS
Definition: ELF.h:1208
llvm::ELF::EF_MIPS_ARCH_32R2
@ EF_MIPS_ARCH_32R2
Definition: ELF.h:560
llvm::ELF::SHF_GROUP
@ SHF_GROUP
Definition: ELF.h:1057
llvm::ELF::Elf64_Rel::setType
void setType(Elf64_Word t)
Definition: ELF.h:1281
llvm::ELF::EF_MIPS_MACH_OCTEON2
@ EF_MIPS_MACH_OCTEON2
Definition: ELF.h:535
llvm::ELF::EI_OSABI
@ EI_OSABI
Definition: ELF.h:55
llvm::ELF::EF_MIPS_ARCH_64
@ EF_MIPS_ARCH_64
Definition: ELF.h:559
llvm::ELF::NT_PRPSINFO
@ NT_PRPSINFO
Definition: ELF.h:1503
llvm::ELF::Elf64_Rela::r_addend
Elf64_Sxword r_addend
Definition: ELF.h:1291
llvm::ELF::SHT_LLVM_SYMPART
@ SHT_LLVM_SYMPART
Definition: ELF.h:985
llvm::ELF::NT_S390_CTRS
@ NT_S390_CTRS
Definition: ELF.h:1537
llvm::ELF::NT_S390_VXRS_LOW
@ NT_S390_VXRS_LOW
Definition: ELF.h:1542
llvm::ELF::Elf32_Ehdr::e_type
Elf32_Half e_type
Definition: ELF.h:63
llvm::ELF::ET_DYN
@ ET_DYN
Definition: ELF.h:118
llvm::ELF::NT_FPREGSET
@ NT_FPREGSET
Definition: ELF.h:1502
llvm::ELF::EF_RISCV_FLOAT_ABI_DOUBLE
@ EF_RISCV_FLOAT_ABI_DOUBLE
Definition: ELF.h:667
llvm::ELF::SHT_MSP430_ATTRIBUTES
@ SHT_MSP430_ATTRIBUTES
Definition: ELF.h:1018
llvm::ELF::EM_TI_C2000
@ EM_TI_C2000
Definition: ELF.h:251
llvm::ELF::E_ARC_OSABI_V2
@ E_ARC_OSABI_V2
Definition: ELF.h:462
llvm::ELF::EF_MIPS_MACH_5900
@ EF_MIPS_MACH_5900
Definition: ELF.h:538
llvm::ELF::ET_EXEC
@ ET_EXEC
Definition: ELF.h:117
llvm::ELF::EM_RL78
@ EM_RL78
Definition: ELF.h:293
llvm::ELF::NT_AUXV
@ NT_AUXV
Definition: ELF.h:1505
llvm::ELF::Elf32_Nhdr
Definition: ELF.h:1756
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT
@ GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT
Definition: ELF.h:1633
llvm::ELF::EF_MIPS_MACH_LS2F
@ EF_MIPS_MACH_LS2F
Definition: ELF.h:542
llvm::ELF::ODK_NULL
@ ODK_NULL
Definition: ELF.h:592
llvm::ELF::EF_CSKY_803
@ EF_CSKY_803
Definition: ELF.h:884
llvm::ELF::EM_8051
@ EM_8051
Definition: ELF.h:258
llvm::ELF::NT_PPC_PMU
@ NT_PPC_PMU
Definition: ELF.h:1519
llvm::ELF::EM_CSKY
@ EM_CSKY
Definition: ELF.h:321
llvm::ELF::EM_PCP
@ EM_PCP
Definition: ELF.h:171
llvm::ELF::DF_1_NOOPEN
@ DF_1_NOOPEN
Definition: ELF.h:1424
llvm::ELF::SHT_NULL
@ SHT_NULL
Definition: ELF.h:954
llvm::ELF::PT_DYNAMIC
@ PT_DYNAMIC
Definition: ELF.h:1335
llvm::ELF::EF_ARM_EABI_VER2
@ EF_ARM_EABI_VER2
Definition: ELF.h:440
llvm::ELF::GNU_ABI_TAG_LINUX
@ GNU_ABI_TAG_LINUX
Definition: ELF.h:1721
llvm::ELF::EM_ARCA
@ EM_ARCA
Definition: ELF.h:226
llvm::ELF::ODK_TAGS
@ ODK_TAGS
Definition: ELF.h:598
llvm::ELF::Elf64_Nhdr::n_namesz
Elf64_Word n_namesz
Definition: ELF.h:1764
llvm::ELF::ELFOSABI_IRIX
@ ELFOSABI_IRIX
Definition: ELF.h:349
llvm::ELF::NT_FREEBSD_PROCSTAT_PSSTRINGS
@ NT_FREEBSD_PROCSTAT_PSSTRINGS
Definition: ELF.h:1670
uint64_t
llvm::ELF::Elf64_Shdr::sh_entsize
Elf64_Xword sh_entsize
Definition: ELF.h:935
llvm::ELF::DF_1_IGNMULDEF
@ DF_1_IGNMULDEF
Definition: ELF.h:1436
llvm::ELF::EF_AMDGPU_MACH_R600_R630
@ EF_AMDGPU_MACH_R600_R630
Definition: ELF.h:706
llvm::ELF::EI_CLASS
@ EI_CLASS
Definition: ELF.h:52
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_ZMM
@ GNU_PROPERTY_X86_FEATURE_2_ZMM
Definition: ELF.h:1630
llvm::ELF::NT_AMD_HSA_CODE_OBJECT_VERSION
@ NT_AMD_HSA_CODE_OBJECT_VERSION
Definition: ELF.h:1698
llvm::ELF::SHT_SYMTAB
@ SHT_SYMTAB
Definition: ELF.h:956
llvm::ELF::EF_MSP430_MACH_MSP430x43
@ EF_MSP430_MACH_MSP430x43
Definition: ELF.h:862
llvm::ELF::STT_NOTYPE
@ STT_NOTYPE
Definition: ELF.h:1200
llvm::ELF::GNU_PROPERTY_X86_ISA_1_USED
@ GNU_PROPERTY_X86_ISA_1_USED
Definition: ELF.h:1611
llvm::ELF::Elf32_Ehdr::e_entry
Elf32_Addr e_entry
Definition: ELF.h:66
llvm::ELF::NT_GNU_ABI_TAG
@ NT_GNU_ABI_TAG
Definition: ELF.h:1566
llvm::ELF::EM_XIMO16
@ EM_XIMO16
Definition: ELF.h:266
llvm::ELF::SHN_AMDGPU_LDS
@ SHN_AMDGPU_LDS
Definition: ELF.h:1693
llvm::ELF::NT_ANDROID_TYPE_KUSER
@ NT_ANDROID_TYPE_KUSER
Definition: ELF.h:1576
llvm::ELF::EM_TILEGX
@ EM_TILEGX
Definition: ELF.h:287
llvm::ELF::SHT_ARM_EXIDX
@ SHT_ARM_EXIDX
Definition: ELF.h:1002
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_XSAVE
@ GNU_PROPERTY_X86_FEATURE_2_XSAVE
Definition: ELF.h:1632
llvm::ELF::EM_STXP7X
@ EM_STXP7X
Definition: ELF.h:259
llvm::ELF::DF_1_INITFIRST
@ DF_1_INITFIRST
Definition: ELF.h:1423
llvm::ELF::EF_MSP430_MACH_MSP430x15
@ EF_MSP430_MACH_MSP430x15
Definition: ELF.h:850
llvm::ELF::EF_MSP430_MACH_MSP430x26
@ EF_MSP430_MACH_MSP430x26
Definition: ELF.h:856
llvm::ELF::EM_PPC64
@ EM_PPC64
Definition: ELF.h:149
llvm::ELF::SHF_X86_64_LARGE
@ SHF_X86_64_LARGE
Definition: ELF.h:1098
llvm::ELF::EM_SPARC32PLUS
@ EM_SPARC32PLUS
Definition: ELF.h:146
llvm::ELF::Elf32_Sym::st_shndx
Elf32_Half st_shndx
Definition: ELF.h:1147
llvm::ELF::STB_LOCAL
@ STB_LOCAL
Definition: ELF.h:1188
s
multiplies can be turned into SHL s
Definition: README.txt:370
llvm::ELF::Elf64_Sym::setBinding
void setBinding(unsigned char b)
Definition: ELF.h:1173
llvm::ELF::EF_AMDGPU_MACH_R600_CYPRESS
@ EF_AMDGPU_MACH_R600_CYPRESS
Definition: ELF.h:715
llvm::ELF::EM_JAVELIN
@ EM_JAVELIN
Definition: ELF.h:193
llvm::ELF::VER_DEF_CURRENT
@ VER_DEF_CURRENT
Definition: ELF.h:1473
llvm::ELF::EF_AMDGPU_MACH_NONE
@ EF_AMDGPU_MACH_NONE
Definition: ELF.h:700
llvm::ELF::Elf32_Shdr::sh_offset
Elf32_Off sh_offset
Definition: ELF.h:916
llvm::ELF::ODK_EXCEPTIONS
@ ODK_EXCEPTIONS
Definition: ELF.h:594
llvm::ELF::EM_MIPS
@ EM_MIPS
Definition: ELF.h:141
llvm::ELF::EF_MSP430_MACH_MSP430x47
@ EF_MSP430_MACH_MSP430x47
Definition: ELF.h:866
llvm::ELF::ELFOSABI_FIRST_ARCH
@ ELFOSABI_FIRST_ARCH
Definition: ELF.h:359
llvm::ELF::EF_AMDGPU_MACH_R600_CAYMAN
@ EF_AMDGPU_MACH_R600_CAYMAN
Definition: ELF.h:722
llvm::ELF::PT_GNU_RELRO
@ PT_GNU_RELRO
Definition: ELF.h:1353
llvm::ELF::EV_CURRENT
@ EV_CURRENT
Definition: ELF.h:127
llvm::ELF::Elf32_Dyn::d_val
Elf32_Word d_val
Definition: ELF.h:1386
llvm::ELF::SHT_HIOS
@ SHT_HIOS
Definition: ELF.h:998
llvm::ELF::EM_88K
@ EM_88K
Definition: ELF.h:138
llvm::ELF::EM_CSR_KALIMBA
@ EM_CSR_KALIMBA
Definition: ELF.h:315
llvm::ELF::SHN_XINDEX
@ SHN_XINDEX
Definition: ELF.h:948
llvm::ELF::NT_S390_LAST_BREAK
@ NT_S390_LAST_BREAK
Definition: ELF.h:1539
llvm::ELF::EM_ARC_COMPACT2
@ EM_ARC_COMPACT2
Definition: ELF.h:291
llvm::ELF::NT_386_IOPERM
@ NT_386_IOPERM
Definition: ELF.h:1530
llvm::ELF::SHN_HEXAGON_SCOMMON_2
@ SHN_HEXAGON_SCOMMON_2
Definition: ELF.h:646
llvm::ELF::EF_MIPS_MACH_XLR
@ EF_MIPS_MACH_XLR
Definition: ELF.h:534
llvm::ELF::EM_MAX
@ EM_MAX
Definition: ELF.h:219
llvm::ELF::SHN_HIRESERVE
@ SHN_HIRESERVE
Definition: ELF.h:949
llvm::ELF::SHT_LLVM_ADDRSIG
@ SHT_LLVM_ADDRSIG
Definition: ELF.h:981
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1032
@ EF_AMDGPU_MACH_AMDGCN_GFX1032
Definition: ELF.h:758
llvm::ELF::EM_DSPIC30F
@ EM_DSPIC30F
Definition: ELF.h:236
llvm::ELF::NT_OPENBSD_XFPREGS
@ NT_OPENBSD_XFPREGS
Definition: ELF.h:1687
llvm::ELF::EM_XCORE
@ EM_XCORE
Definition: ELF.h:299
llvm::ELF::EF_RISCV_TSO
@ EF_RISCV_TSO
Definition: ELF.h:670
llvm::ELF::EM_M32C
@ EM_M32C
Definition: ELF.h:239
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX702
@ EF_AMDGPU_MACH_AMDGCN_GFX702
Definition: ELF.h:738
llvm::ELF::PT_MIPS_OPTIONS
@ PT_MIPS_OPTIONS
Definition: ELF.h:1369
llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V2
@ ELFABIVERSION_AMDGPU_HSA_V2
Definition: ELF.h:374
llvm::ELF::PF_MASKPROC
@ PF_MASKPROC
Definition: ELF.h:1379
llvm::ELF::EF_MIPS_MICROMIPS
@ EF_MIPS_MICROMIPS
Definition: ELF.h:547
llvm::ELF::GNU_PROPERTY_X86_UINT32_OR_LO
@ GNU_PROPERTY_X86_UINT32_OR_LO
Definition: ELF.h:1605
llvm::ELF::SHT_LLVM_BB_ADDR_MAP
@ SHT_LLVM_BB_ADDR_MAP
Definition: ELF.h:988
llvm::ELF::STO_MIPS_MIPS16
@ STO_MIPS_MIPS16
Definition: ELF.h:587
llvm::ELF::EF_MIPS_ARCH_32R6
@ EF_MIPS_ARCH_32R6
Definition: ELF.h:562
llvm::ELF::EM_XGATE
@ EM_XGATE
Definition: ELF.h:233
llvm::ELF::NT_PPC_TAR
@ NT_PPC_TAR
Definition: ELF.h:1515
llvm::ELF::NT_S390_HIGH_GPRS
@ NT_S390_HIGH_GPRS
Definition: ELF.h:1533
llvm::ELF::EM_K10M
@ EM_K10M
Definition: ELF.h:279
llvm::ELF::SHF_LINK_ORDER
@ SHF_LINK_ORDER
Definition: ELF.h:1050
llvm::ELF::EF_HEXAGON_ISA_V68
@ EF_HEXAGON_ISA_V68
Definition: ELF.h:637
llvm::ELF::EF_AVR_ARCH_AVR3
@ EF_AVR_ARCH_AVR3
Definition: ELF.h:478
llvm::ELF::Elf64_Ehdr::e_type
Elf64_Half e_type
Definition: ELF.h:89
llvm::ELF::PT_SUNW_EH_FRAME
@ PT_SUNW_EH_FRAME
Definition: ELF.h:1349
llvm::ELF::Elf64_Nhdr
Definition: ELF.h:1763
llvm::ELF::VER_FLG_INFO
@ VER_FLG_INFO
Definition: ELF.h:1476
llvm::ELF::Elf64_Shdr::sh_size
Elf64_Xword sh_size
Definition: ELF.h:931
llvm::ELF::E_ARC_OSABI_V3
@ E_ARC_OSABI_V3
Definition: ELF.h:463
llvm::ELF::EM_TINYJ
@ EM_TINYJ
Definition: ELF.h:177
llvm::ELF::Elf64_Ehdr::e_entry
Elf64_Addr e_entry
Definition: ELF.h:92
llvm::ELF::ELFOSABI_NETBSD
@ ELFOSABI_NETBSD
Definition: ELF.h:343
llvm::ELF::Elf32_Ehdr::getFileClass
unsigned char getFileClass() const
Definition: ELF.h:81
llvm::ELF::DF_1_NODIRECT
@ DF_1_NODIRECT
Definition: ELF.h:1435
llvm::ELF::EF_MIPS_NOREORDER
@ EF_MIPS_NOREORDER
Definition: ELF.h:507
llvm::ELF::VER_DEF_NONE
@ VER_DEF_NONE
Definition: ELF.h:1473
llvm::ELF::SHT_MIPS_OPTIONS
@ SHT_MIPS_OPTIONS
Definition: ELF.h:1014
llvm::ELF::decodePPC64LocalEntryOffset
static int64_t decodePPC64LocalEntryOffset(unsigned Other)
Definition: ELF.h:411
llvm::ELF::EM_KM32
@ EM_KM32
Definition: ELF.h:306
llvm::ELF::Elf32_Shdr::sh_addralign
Elf32_Word sh_addralign
Definition: ELF.h:920
llvm::ELF::EF_MIPS_MACH_LS3A
@ EF_MIPS_MACH_LS3A
Definition: ELF.h:543
llvm::ELF::STO_MIPS_PIC
@ STO_MIPS_PIC
Definition: ELF.h:585
llvm::ELF::EF_MIPS_FP64
@ EF_MIPS_FP64
Definition: ELF.h:513
llvm::ELF::EF_RISCV_FLOAT_ABI_QUAD
@ EF_RISCV_FLOAT_ABI_QUAD
Definition: ELF.h:668
llvm::ELF::SHT_RELR
@ SHT_RELR
Definition: ELF.h:973
llvm::ELF::Elf32_Rela::r_offset
Elf32_Addr r_offset
Definition: ELF.h:1253
llvm::ELF::Elf64_Relr
Elf64_Xword Elf64_Relr
Definition: ELF.h:1305
llvm::ELF::EM_BLACKFIN
@ EM_BLACKFIN
Definition: ELF.h:223
llvm::ELF::EF_ARC_MACH_MSK
@ EF_ARC_MACH_MSK
Definition: ELF.h:454
llvm::ELF::EF_AVR_ARCH_AVRTINY
@ EF_AVR_ARCH_AVRTINY
Definition: ELF.h:485
llvm::ELF::NT_AMD_HSA_HSAIL
@ NT_AMD_HSA_HSAIL
Definition: ELF.h:1699
llvm::ELF::NT_PPC_TM_CFPR
@ NT_PPC_TM_CFPR
Definition: ELF.h:1521
llvm::ELF::SHT_RELA
@ SHT_RELA
Definition: ELF.h:958
llvm::ELF::RSS_LOC
@ RSS_LOC
Definition: ELF.h:1232
llvm::ELF::DF_1_SINGLETON
@ DF_1_SINGLETON
Definition: ELF.h:1443
llvm::ELF::Elf32_Sym::st_size
Elf32_Word st_size
Definition: ELF.h:1144
llvm::ELF::EF_ARM_ABI_FLOAT_HARD
@ EF_ARM_ABI_FLOAT_HARD
Definition: ELF.h:437
llvm::ELF::EM_VIDEOCORE3
@ EM_VIDEOCORE3
Definition: ELF.h:247
llvm::ELF::Elf32_Sym::getBinding
unsigned char getBinding() const
Definition: ELF.h:1151
llvm::ELF::EM_AMDGPU
@ EM_AMDGPU
Definition: ELF.h:316
llvm::ELF::EM_M16C
@ EM_M16C
Definition: ELF.h:235
llvm::ELF::EM_NCPU
@ EM_NCPU
Definition: ELF.h:172
llvm::ELF::STT_HIOS
@ STT_HIOS
Definition: ELF.h:1209
llvm::ELF::Elf32_Ehdr::e_shnum
Elf32_Half e_shnum
Definition: ELF.h:74
llvm::ELF::EM_H8S
@ EM_H8S
Definition: ELF.h:164
llvm::ELF::NT_PRXFPREG
@ NT_PRXFPREG
Definition: ELF.h:1555
llvm::ELF::EM_ALPHA
@ EM_ALPHA
Definition: ELF.h:157
llvm::ELF::PT_MIPS_ABIFLAGS
@ PT_MIPS_ABIFLAGS
Definition: ELF.h:1370
llvm::ELF::EF_MIPS_MACH_OCTEON
@ EF_MIPS_MACH_OCTEON
Definition: ELF.h:533
llvm::ELF::Elf32_Dyn::d_un
union llvm::ELF::Elf32_Dyn::@131 d_un
llvm::ELF::EF_AMDGPU_MACH_R600_TURKS
@ EF_AMDGPU_MACH_R600_TURKS
Definition: ELF.h:723
llvm::ELF::EM_MN10300
@ EM_MN10300
Definition: ELF.h:205
llvm::ELF::STV_INTERNAL
@ STV_INTERNAL
Definition: ELF.h:1219
llvm::ELF::Elf64_Rela::r_offset
Elf64_Addr r_offset
Definition: ELF.h:1289
llvm::ELF::VERSYM_VERSION
@ VERSYM_VERSION
Definition: ELF.h:1482
llvm::ELF::EM_D30V
@ EM_D30V
Definition: ELF.h:202
llvm::ELF::SHT_X86_64_UNWIND
@ SHT_X86_64_UNWIND
Definition: ELF.h:1011
llvm::ELF::EM_INTEL205
@ EM_INTEL205
Definition: ELF.h:301
llvm::ELF::Elf32_Dyn
Definition: ELF.h:1383
llvm::ELF::EF_HEXAGON_ISA_V60
@ EF_HEXAGON_ISA_V60
Definition: ELF.h:632
llvm::ELF::EF_MIPS_ARCH
@ EF_MIPS_ARCH
Definition: ELF.h:564
llvm::ELF::EF_AVR_ARCH_AVR6
@ EF_AVR_ARCH_AVR6
Definition: ELF.h:484
llvm::ELF::GNU_PROPERTY_X86_ISA_1_V3
@ GNU_PROPERTY_X86_ISA_1_V3
Definition: ELF.h:1638
llvm::ELF::Elf64_Rel
Definition: ELF.h:1272
llvm::ELF::NT_LLVM_HWASAN_GLOBALS
@ NT_LLVM_HWASAN_GLOBALS
Definition: ELF.h:1561
llvm::ELF::Elf32_Shdr::sh_name
Elf32_Word sh_name
Definition: ELF.h:912
llvm::ELF::RELOCATION_GROUPED_BY_INFO_FLAG
@ RELOCATION_GROUPED_BY_INFO_FLAG
Definition: ELF.h:1734
llvm::ELF::PT_ARM_ARCHEXT
@ PT_ARM_ARCHEXT
Definition: ELF.h:1361
llvm::ELF::EM_SHARC
@ EM_SHARC
Definition: ELF.h:242
llvm::ELF::SHN_HEXAGON_SCOMMON_8
@ SHN_HEXAGON_SCOMMON_8
Definition: ELF.h:648
llvm::ELF::SHT_NOTE
@ SHT_NOTE
Definition: ELF.h:961
llvm::ELF::Elf64_Dyn::d_tag
Elf64_Sxword d_tag
Definition: ELF.h:1393
llvm::ELF::SHF_MIPS_NAMES
@ SHF_MIPS_NAMES
Definition: ELF.h:1109
llvm::ELF::SHF_GNU_RETAIN
@ SHF_GNU_RETAIN
Definition: ELF.h:1066
llvm::ELF::EF_CSKY_805
@ EF_CSKY_805
Definition: ELF.h:885
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:58
llvm::ELF::DF_1_NODUMP
@ DF_1_NODUMP
Definition: ELF.h:1430
llvm::ELF::NT_MEMTAG_HEAP
@ NT_MEMTAG_HEAP
Definition: ELF.h:1594
llvm::ELF::EF_AVR_ARCH_AVR1
@ EF_AVR_ARCH_AVR1
Definition: ELF.h:475
llvm::ELF::EF_MIPS_ARCH_32
@ EF_MIPS_ARCH_32
Definition: ELF.h:558
llvm::ELF::ELFDATA2LSB
@ ELFDATA2LSB
Definition: ELF.h:335
llvm::ELF::SHF_ARM_PURECODE
@ SHF_ARM_PURECODE
Definition: ELF.h:1130
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_XSAVEC
@ GNU_PROPERTY_X86_FEATURE_2_XSAVEC
Definition: ELF.h:1634
llvm::ELF::SHF_MASKPROC
@ SHF_MASKPROC
Definition: ELF.h:1079
llvm::ELF::SHT_ARM_OVERLAYSECTION
@ SHT_ARM_OVERLAYSECTION
Definition: ELF.h:1008
llvm::ELF::EF_ARM_EABI_VER4
@ EF_ARM_EABI_VER4
Definition: ELF.h:442
llvm::ELF::EF_ARC_OSABI_MSK
@ EF_ARC_OSABI_MSK
Definition: ELF.h:455
llvm::ELF::Elf64_Sym
Definition: ELF.h:1161
llvm::ELF::EM_PDP10
@ EM_PDP10
Definition: ELF.h:180
llvm::ELF::EF_CSKY_802
@ EF_CSKY_802
Definition: ELF.h:883
llvm::ELF::EF_CSKY_DSP
@ EF_CSKY_DSP
Definition: ELF.h:891
llvm::ELF::NT_OPENBSD_FPREGS
@ NT_OPENBSD_FPREGS
Definition: ELF.h:1686
uint32_t
llvm::ELF::EM_TRIMEDIA
@ EM_TRIMEDIA
Definition: ELF.h:256
llvm::ELF::EM_VIDEOCORE
@ EM_VIDEOCORE
Definition: ELF.h:212
llvm::ELF::Elf64_Shdr::sh_addr
Elf64_Addr sh_addr
Definition: ELF.h:929
llvm::ELF::PT_SHLIB
@ PT_SHLIB
Definition: ELF.h:1338
llvm::ELF::EM_H8_500
@ EM_H8_500
Definition: ELF.h:165
llvm::ELF::STN_UNDEF
@ STN_UNDEF
Definition: ELF.h:1225
llvm::ELF::NT_ARCH
@ NT_ARCH
Definition: ELF.h:1494
llvm::ELF::EI_ABIVERSION
@ EI_ABIVERSION
Definition: ELF.h:56
llvm::ELF::Elf64_Shdr::sh_flags
Elf64_Xword sh_flags
Definition: ELF.h:928
llvm::ELF::Elf64_Chdr::ch_type
Elf64_Word ch_type
Definition: ELF.h:1749
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_YMM
@ GNU_PROPERTY_X86_FEATURE_2_YMM
Definition: ELF.h:1629
llvm::ELF::NT_MEMTAG_STACK
@ NT_MEMTAG_STACK
Definition: ELF.h:1595
llvm::ELF::EM_FX66
@ EM_FX66
Definition: ELF.h:182
llvm::ELF::EF_HEXAGON_MACH_V68
@ EF_HEXAGON_MACH_V68
Definition: ELF.h:620
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_X87
@ GNU_PROPERTY_X86_FEATURE_2_X87
Definition: ELF.h:1626
llvm::ELF::NT_LLVM_OPENMP_OFFLOAD_PRODUCER
@ NT_LLVM_OPENMP_OFFLOAD_PRODUCER
Definition: ELF.h:1716
llvm::ELF::EM_56800EX
@ EM_56800EX
Definition: ELF.h:296
llvm::ELF::SHN_LORESERVE
@ SHN_LORESERVE
Definition: ELF.h:941
llvm::ELF::NT_GNU_HWCAP
@ NT_GNU_HWCAP
Definition: ELF.h:1567
llvm::ELF::EM_H8_300
@ EM_H8_300
Definition: ELF.h:162
llvm::ELF::Elf32_Sym::setType
void setType(unsigned char t)
Definition: ELF.h:1154
llvm::ELF::Elf32_Sym::st_other
unsigned char st_other
Definition: ELF.h:1146
llvm::ELF::ELFCLASSNONE
@ ELFCLASSNONE
Definition: ELF.h:327
llvm::ELF::EM_68HC16
@ EM_68HC16
Definition: ELF.h:185
llvm::ELF::EM_ST7
@ EM_ST7
Definition: ELF.h:184
llvm::ELF::NT_S390_VXRS_HIGH
@ NT_S390_VXRS_HIGH
Definition: ELF.h:1543
llvm::ELF::GNU_ABI_TAG_NETBSD
@ GNU_ABI_TAG_NETBSD
Definition: ELF.h:1725
llvm::ELF::Elf32_Ehdr::checkMagic
bool checkMagic() const
Definition: ELF.h:77
llvm::ELF::Elf32_Nhdr::n_namesz
Elf32_Word n_namesz
Definition: ELF.h:1757
llvm::ELF::EF_MIPS_ARCH_64R2
@ EF_MIPS_ARCH_64R2
Definition: ELF.h:561
llvm::ELF::EF_AMDGPU_MACH_R600_RV770
@ EF_AMDGPU_MACH_R600_RV770
Definition: ELF.h:712
llvm::ELF::EF_ARC_PIC
@ EF_ARC_PIC
Definition: ELF.h:465
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_ON_V4
@ EF_AMDGPU_FEATURE_XNACK_ON_V4
Definition: ELF.h:812
llvm::ELF::GNU_PROPERTY_X86_UINT32_OR_AND_LO
@ GNU_PROPERTY_X86_UINT32_OR_AND_LO
Definition: ELF.h:1609
llvm::ELF::SHT_GROUP
@ SHT_GROUP
Definition: ELF.h:969
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_V4
@ EF_AMDGPU_FEATURE_XNACK_V4
Definition: ELF.h:804
llvm::ELF::ODK_PAGESIZE
@ ODK_PAGESIZE
Definition: ELF.h:603
llvm::ELF::EM_KMX8
@ EM_KMX8
Definition: ELF.h:309
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1035
@ EF_AMDGPU_MACH_AMDGCN_GFX1035
Definition: ELF.h:763
llvm::ELF::NT_LLVM_OPENMP_OFFLOAD_PRODUCER_VERSION
@ NT_LLVM_OPENMP_OFFLOAD_PRODUCER_VERSION
Definition: ELF.h:1717
llvm::ELF::STB_GNU_UNIQUE
@ STB_GNU_UNIQUE
Definition: ELF.h:1191
llvm::ELF::Elf64_Sym::setType
void setType(unsigned char t)
Definition: ELF.h:1174
llvm::ELF::Elf64_Phdr::p_type
Elf64_Word p_type
Definition: ELF.h:1321
llvm::ELF::EM_FR20
@ EM_FR20
Definition: ELF.h:153
llvm::ELF::EM_ARC
@ EM_ARC
Definition: ELF.h:161
llvm::ELF::EF_CSKY_801
@ EF_CSKY_801
Definition: ELF.h:882
llvm::ELF::PT_INTERP
@ PT_INTERP
Definition: ELF.h:1336
llvm::ELF::STO_PPC64_LOCAL_MASK
@ STO_PPC64_LOCAL_MASK
Definition: ELF.h:409
llvm::ELF::ELFOSABI_SOLARIS
@ ELFOSABI_SOLARIS
Definition: ELF.h:347
llvm::ELF::NT_OPENBSD_WCOOKIE
@ NT_OPENBSD_WCOOKIE
Definition: ELF.h:1688
llvm::ELF::E_ARC_MACH_ARC600
@ E_ARC_MACH_ARC600
Definition: ELF.h:456
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_FXSR
@ GNU_PROPERTY_X86_FEATURE_2_FXSR
Definition: ELF.h:1631
llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V4
@ ELFABIVERSION_AMDGPU_HSA_V4
Definition: ELF.h:376
llvm::ELF::SHF_MASKOS
@ SHF_MASKOS
Definition: ELF.h:1073
llvm::ELF::Elf64_Rela::setSymbol
void setSymbol(Elf64_Word s)
Definition: ELF.h:1297
llvm::ELF::EF_MSP430_MACH_MSP430x31
@ EF_MSP430_MACH_MSP430x31
Definition: ELF.h:857
llvm::ELF::Elf32_Shdr::sh_link
Elf32_Word sh_link
Definition: ELF.h:918
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX801
@ EF_AMDGPU_MACH_AMDGCN_GFX801
Definition: ELF.h:742
llvm::ELF::EI_VERSION
@ EI_VERSION
Definition: ELF.h:54
llvm::ELF::EF_CSKY_FLOAT
@ EF_CSKY_FLOAT
Definition: ELF.h:890
llvm::ELF::NT_S390_TDB
@ NT_S390_TDB
Definition: ELF.h:1541
llvm::ELF::Elf64_Ehdr::e_version
Elf64_Word e_version
Definition: ELF.h:91
llvm::ELF::STV_PROTECTED
@ STV_PROTECTED
Definition: ELF.h:1221
llvm::ELF::Elf64_Ehdr::e_shstrndx
Elf64_Half e_shstrndx
Definition: ELF.h:101
llvm::ELF::EF_RISCV_FLOAT_ABI
@ EF_RISCV_FLOAT_ABI
Definition: ELF.h:664
llvm::ELF::SHN_HIOS
@ SHN_HIOS
Definition: ELF.h:945
llvm::ELF::Elf64_Rela::getSymbol
Elf64_Word getSymbol() const
Definition: ELF.h:1295
llvm::ELF::Elf32_Rel::getSymbol
Elf32_Word getSymbol() const
Definition: ELF.h:1242
llvm::ELF::PT_GNU_EH_FRAME
@ PT_GNU_EH_FRAME
Definition: ELF.h:1348
llvm::ELF::Elf64_Sym::st_other
unsigned char st_other
Definition: ELF.h:1164
llvm::ELF::SHF_SUNW_NODISCARD
@ SHF_SUNW_NODISCARD
Definition: ELF.h:1076
llvm::ELF::SHT_GNU_verdef
@ SHT_GNU_verdef
Definition: ELF.h:995
llvm::ELF::ELFOSABI_CLOUDABI
@ ELFOSABI_CLOUDABI
Definition: ELF.h:358
llvm::ELF::RSS_UNDEF
@ RSS_UNDEF
Definition: ELF.h:1229
llvm::ELF::EM_PARISC
@ EM_PARISC
Definition: ELF.h:144
llvm::ELF::GNU_PROPERTY_X86_ISA_1_NEEDED
@ GNU_PROPERTY_X86_ISA_1_NEEDED
Definition: ELF.h:1607
llvm::ELF::EF_AVR_ARCH_AVR31
@ EF_AVR_ARCH_AVR31
Definition: ELF.h:479
llvm::ELF::EF_HEXAGON_ISA_V3
@ EF_HEXAGON_ISA_V3
Definition: ELF.h:628
llvm::ELF::DF_1_GLOBAL
@ DF_1_GLOBAL
Definition: ELF.h:1419
llvm::ELF::Elf32_Phdr::p_paddr
Elf32_Addr p_paddr
Definition: ELF.h:1312
llvm::ELF::ODK_FILL
@ ODK_FILL
Definition: ELF.h:597
llvm::ELF::Elf32_Phdr::p_align
Elf32_Word p_align
Definition: ELF.h:1316
llvm::ELF::GNU_PROPERTY_X86_FEATURE_1_IBT
@ GNU_PROPERTY_X86_FEATURE_1_IBT
Definition: ELF.h:1622
llvm::ELF::EF_MIPS_NAN2008
@ EF_MIPS_NAN2008
Definition: ELF.h:515
llvm::ELF::EF_AMDGPU_MACH_R600_CAICOS
@ EF_AMDGPU_MACH_R600_CAICOS
Definition: ELF.h:721
llvm::ELF::EM_TRICORE
@ EM_TRICORE
Definition: ELF.h:160
llvm::ELF::EF_AMDGPU_FEATURE_SRAMECC_V4
@ EF_AMDGPU_FEATURE_SRAMECC_V4
Definition: ELF.h:817
llvm::ELF::ELFOSABI_LAST_ARCH
@ ELFOSABI_LAST_ARCH
Definition: ELF.h:367
uint16_t
llvm::ELF::EI_MAG0
@ EI_MAG0
Definition: ELF.h:48
llvm::ELF::Elf64_Rela::setSymbolAndType
void setSymbolAndType(Elf64_Word s, Elf64_Word t)
Definition: ELF.h:1299
llvm::ELF::EF_CSKY_807
@ EF_CSKY_807
Definition: ELF.h:886
llvm::ELF::STO_MIPS_MICROMIPS
@ STO_MIPS_MICROMIPS
Definition: ELF.h:586
llvm::ELF::RHF_GUARANTEE_START_INIT
@ RHF_GUARANTEE_START_INIT
Definition: ELF.h:1459
llvm::ELF::ELFOSABI_FREEBSD
@ ELFOSABI_FREEBSD
Definition: ELF.h:350
llvm::ELF::NT_FREEBSD_FEATURE_CTL
@ NT_FREEBSD_FEATURE_CTL
Definition: ELF.h:1647
llvm::ELF::EF_MIPS_MACH_4010
@ EF_MIPS_MACH_4010
Definition: ELF.h:527
llvm::ELF::EM_CYPRESS_M8C
@ EM_CYPRESS_M8C
Definition: ELF.h:254
llvm::ELF::Elf32_Rel::setType
void setType(unsigned char t)
Definition: ELF.h:1245
llvm::ELF::SHT_ARM_PREEMPTMAP
@ SHT_ARM_PREEMPTMAP
Definition: ELF.h:1004
llvm::ELF::EF_AVR_ARCH_XMEGA7
@ EF_AVR_ARCH_XMEGA7
Definition: ELF.h:492
llvm::ELF::DF_1_NODELETE
@ DF_1_NODELETE
Definition: ELF.h:1421
llvm::ELF::EM_STARCORE
@ EM_STARCORE
Definition: ELF.h:174
llvm::ELF::Elf32_Phdr::p_flags
Elf32_Word p_flags
Definition: ELF.h:1315
llvm::ELF::EF_MSP430_MACH_MSP430x32
@ EF_MSP430_MACH_MSP430x32
Definition: ELF.h:858
llvm::ELF::Elf32_Ehdr::e_ident
unsigned char e_ident[EI_NIDENT]
Definition: ELF.h:62
llvm::ELF::Elf32_Rela::getSymbol
Elf32_Word getSymbol() const
Definition: ELF.h:1259
llvm::ELF::GRP_MASKPROC
@ GRP_MASKPROC
Definition: ELF.h:1137
llvm::ELF::NT_FREEBSD_FCTL_LA48
@ NT_FREEBSD_FCTL_LA48
Definition: ELF.h:1656
llvm::ELF::EF_HEXAGON_MACH_V2
@ EF_HEXAGON_MACH_V2
Definition: ELF.h:609
llvm::ELF::SHF_MERGE
@ SHF_MERGE
Definition: ELF.h:1041
llvm::ELF::NT_PRSTATUS
@ NT_PRSTATUS
Definition: ELF.h:1501
llvm::ELF::STT_OBJECT
@ STT_OBJECT
Definition: ELF.h:1201
llvm::ELF::SHF_OS_NONCONFORMING
@ SHF_OS_NONCONFORMING
Definition: ELF.h:1054
llvm::ELF::ELFDATA2MSB
@ ELFDATA2MSB
Definition: ELF.h:336
llvm::ELF::NT_S390_TIMER
@ NT_S390_TIMER
Definition: ELF.h:1534
llvm::ELF::NT_VERSION
@ NT_VERSION
Definition: ELF.h:1493
llvm::ELF::EM_SLE9X
@ EM_SLE9X
Definition: ELF.h:277
llvm::ELF::EM_S390
@ EM_S390
Definition: ELF.h:150
llvm::ELF::ELFOSABI_TRU64
@ ELFOSABI_TRU64
Definition: ELF.h:351
llvm::ELF::convertEMachineToArchName
StringRef convertEMachineToArchName(uint16_t EMachine)
Convert an ELF's e_machine value into an architecture name.
Definition: ELF.cpp:204
llvm::ELF::EF_HEXAGON_MACH_V4
@ EF_HEXAGON_MACH_V4
Definition: ELF.h:611
llvm::ELF::ELF_NOTE_GNU
constexpr const char * ELF_NOTE_GNU
Definition: ELF.h:1730
llvm::ELF::EF_RISCV_RVE
@ EF_RISCV_RVE
Definition: ELF.h:669
llvm::ELF::SHT_GNU_verneed
@ SHT_GNU_verneed
Definition: ELF.h:996
llvm::ELF::GNU_PROPERTY_X86_ISA_1_V2
@ GNU_PROPERTY_X86_ISA_1_V2
Definition: ELF.h:1637
llvm::ELF::EM_D10V
@ EM_D10V
Definition: ELF.h:201
llvm::ELF::Elf32_Ehdr::e_phoff
Elf32_Off e_phoff
Definition: ELF.h:67
llvm::ELF::Elf32_Ehdr
Definition: ELF.h:61
llvm::ELF::NT_PPC_EBB
@ NT_PPC_EBB
Definition: ELF.h:1518
llvm::ELF::NT_OPENBSD_AUXV
@ NT_OPENBSD_AUXV
Definition: ELF.h:1684
llvm::ELF::EF_AMDGPU_MACH_R600_RV670
@ EF_AMDGPU_MACH_R600_RV670
Definition: ELF.h:708
llvm::ELF::NT_PPC_TM_CVMX
@ NT_PPC_TM_CVMX
Definition: ELF.h:1522
llvm::ELF::SHT_REL
@ SHT_REL
Definition: ELF.h:963
llvm::ELF::EF_AMDGPU_FEATURE_TRAP_HANDLER_V2
@ EF_AMDGPU_FEATURE_TRAP_HANDLER_V2
Definition: ELF.h:788
llvm::ELF::PT_NOTE
@ PT_NOTE
Definition: ELF.h:1337
llvm::ELF::EF_AMDGPU_FEATURE_SRAMECC_ANY_V4
@ EF_AMDGPU_FEATURE_SRAMECC_ANY_V4
Definition: ELF.h:821
llvm::ELF::Elf32_Shdr
Definition: ELF.h:911
llvm::ELF::EF_MIPS_MACH_9000
@ EF_MIPS_MACH_9000
Definition: ELF.h:540
llvm::ELF::RHF_RLD_ORDER_SAFE
@ RHF_RLD_ORDER_SAFE
Definition: ELF.h:1469
llvm::ELF::GNU_ABI_TAG_SYLLABLE
@ GNU_ABI_TAG_SYLLABLE
Definition: ELF.h:1726
llvm::ELF::ELFCOMPRESS_LOOS
@ ELFCOMPRESS_LOOS
Definition: ELF.h:1772
llvm::ELF::EM_NDR1
@ EM_NDR1
Definition: ELF.h:173
llvm::ELF::EM_MAXQ30
@ EM_MAXQ30
Definition: ELF.h:265
llvm::ELF::Elf32_Ehdr::e_phnum
Elf32_Half e_phnum
Definition: ELF.h:72
llvm::ELF::NT_FREEBSD_ABI_TAG
@ NT_FREEBSD_ABI_TAG
Definition: ELF.h:1644
llvm::ELF::ELFOSABI_FENIXOS
@ ELFOSABI_FENIXOS
Definition: ELF.h:357
llvm::ELF::Elf32_Dyn::d_ptr
Elf32_Addr d_ptr
Definition: ELF.h:1387
llvm::ELF::NT_PPC_PPR
@ NT_PPC_PPR
Definition: ELF.h:1516
llvm::ELF::DF_1_DISPRELDNE
@ DF_1_DISPRELDNE
Definition: ELF.h:1433
llvm::ELF::NT_386_TLS
@ NT_386_TLS
Definition: ELF.h:1529
llvm::ELF::Elf64_Ehdr::e_shnum
Elf64_Half e_shnum
Definition: ELF.h:100
llvm::ELF::EM_ECOG1
@ EM_ECOG1
Definition: ELF.h:263
llvm::ELF::SHT_INIT_ARRAY
@ SHT_INIT_ARRAY
Definition: ELF.h:966
llvm::ELF::STT_AMDGPU_HSA_KERNEL
@ STT_AMDGPU_HSA_KERNEL
Definition: ELF.h:1214
llvm::ELF::Elf32_Shdr::sh_type
Elf32_Word sh_type
Definition: ELF.h:913
llvm::ELF::EM_TPC
@ EM_TPC
Definition: ELF.h:215
llvm::ELF::NT_PPC_TM_CDSCR
@ NT_PPC_TM_CDSCR
Definition: ELF.h:1527
llvm::ELF::Elf32_Phdr
Definition: ELF.h:1308
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX803
@ EF_AMDGPU_MACH_AMDGCN_GFX803
Definition: ELF.h:744
llvm::ELF::ET_REL
@ ET_REL
Definition: ELF.h:116
llvm::ELF::Elf32_Rela
Definition: ELF.h:1252
llvm::ELF::EM_SPARC
@ EM_SPARC
Definition: ELF.h:135
llvm::ELF::SHT_GNU_HASH
@ SHT_GNU_HASH
Definition: ELF.h:994
llvm::ELF::EF_HEXAGON_MACH_V5
@ EF_HEXAGON_MACH_V5
Definition: ELF.h:612
llvm::ELF::EF_MIPS_ARCH_ASE_M16
@ EF_MIPS_ARCH_ASE_M16
Definition: ELF.h:548
llvm::ELF::SHT_LLVM_LINKER_OPTIONS
@ SHT_LLVM_LINKER_OPTIONS
Definition: ELF.h:980
llvm::ELF::EF_CSKY_ABIV2
@ EF_CSKY_ABIV2
Definition: ELF.h:892
llvm::ELF::EF_AMDGPU_MACH_R600_FIRST
@ EF_AMDGPU_MACH_R600_FIRST
Definition: ELF.h:730
llvm::ELF::EM_TI_C6000
@ EM_TI_C6000
Definition: ELF.h:250
llvm::ELF::EM_MMA
@ EM_MMA
Definition: ELF.h:170
llvm::ELF::EM_KMX16
@ EM_KMX16
Definition: ELF.h:308
llvm::ELF::EM_HUANY
@ EM_HUANY
Definition: ELF.h:197
llvm::ELF::GNU_PROPERTY_NO_COPY_ON_PROTECTED
@ GNU_PROPERTY_NO_COPY_ON_PROTECTED
Definition: ELF.h:1601
llvm::ELF::NT_FPREGS
@ NT_FPREGS
Definition: ELF.h:1507
llvm::ELF::EM_TILE64
@ EM_TILE64
Definition: ELF.h:283
llvm::ELF::PT_OPENBSD_RANDOMIZE
@ PT_OPENBSD_RANDOMIZE
Definition: ELF.h:1356
llvm::ELF::SHT_DYNSYM
@ SHT_DYNSYM
Definition: ELF.h:965
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_FIRST
@ EF_AMDGPU_MACH_AMDGCN_FIRST
Definition: ELF.h:776
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX906
@ EF_AMDGPU_MACH_AMDGCN_GFX906
Definition: ELF.h:749
llvm::ELF::Elf32_Chdr
Definition: ELF.h:1741
llvm::ELF::EF_AMDGPU_FEATURE_SRAMECC_V3
@ EF_AMDGPU_FEATURE_SRAMECC_V3
Definition: ELF.h:799
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX701
@ EF_AMDGPU_MACH_AMDGCN_GFX701
Definition: ELF.h:737
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX600
@ EF_AMDGPU_MACH_AMDGCN_GFX600
Definition: ELF.h:734
llvm::ELF::EM_MN10200
@ EM_MN10200
Definition: ELF.h:206
llvm::ELF::EM_MANIK
@ EM_MANIK
Definition: ELF.h:267
llvm::ELF::GRP_COMDAT
@ GRP_COMDAT
Definition: ELF.h:1135
llvm::ELF::ELFCOMPRESS_HIPROC
@ ELFCOMPRESS_HIPROC
Definition: ELF.h:1775
llvm::ELF::ElfMagic
static const char ElfMagic[]
Definition: ELF.h:44
llvm::ELF::EM_ECOG16
@ EM_ECOG16
Definition: ELF.h:273
llvm::ELF::EF_AVR_ARCH_AVR4
@ EF_AVR_ARCH_AVR4
Definition: ELF.h:481
llvm::ELF::DF_1_PIE
@ DF_1_PIE
Definition: ELF.h:1444
llvm::ELF::ODK_REGINFO
@ ODK_REGINFO
Definition: ELF.h:593
llvm::ELF::EM_PRISM
@ EM_PRISM
Definition: ELF.h:198
llvm::ELF::ODK_HWPATCH
@ ODK_HWPATCH
Definition: ELF.h:596
llvm::ELF::EI_NIDENT
@ EI_NIDENT
Definition: ELF.h:58
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1102
@ EF_AMDGPU_MACH_AMDGCN_GFX1102
Definition: ELF.h:773
llvm::ELF::PF_R
@ PF_R
Definition: ELF.h:1377
llvm::ELF::EM_V850
@ EM_V850
Definition: ELF.h:203
llvm::ELF::EM_FR30
@ EM_FR30
Definition: ELF.h:200
llvm::ELF::SHN_UNDEF
@ SHN_UNDEF
Definition: ELF.h:940
llvm::ELF::E_ARC_OSABI_V4
@ E_ARC_OSABI_V4
Definition: ELF.h:464
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX700
@ EF_AMDGPU_MACH_AMDGCN_GFX700
Definition: ELF.h:736
llvm::ELF::SHF_MIPS_NODUPES
@ SHF_MIPS_NODUPES
Definition: ELF.h:1106
llvm::ELF::NT_S390_GS_BC
@ NT_S390_GS_BC
Definition: ELF.h:1545
llvm::ELF::PT_PHDR
@ PT_PHDR
Definition: ELF.h:1339
llvm::ELF::EM_PPC
@ EM_PPC
Definition: ELF.h:148
llvm::ELF::DF_SYMBOLIC
@ DF_SYMBOLIC
Definition: ELF.h:1410
llvm::ELF::SHT_RISCV_ATTRIBUTES
@ SHT_RISCV_ATTRIBUTES
Definition: ELF.h:1020
llvm::ELF::SHT_PROGBITS
@ SHT_PROGBITS
Definition: ELF.h:955
llvm::ELF::Elf64_Ehdr::getDataEncoding
unsigned char getDataEncoding() const
Definition: ELF.h:108
llvm::ELF::Elf64_Dyn
Definition: ELF.h:1392
llvm::ELF::EF_MIPS_ABI
@ EF_MIPS_ABI
Definition: ELF.h:522
llvm::ELF::EF_MSP430_MACH_MSP430x13
@ EF_MSP430_MACH_MSP430x13
Definition: ELF.h:848
llvm::ELF::NT_FREEBSD_PROCSTAT_AUXV
@ NT_FREEBSD_PROCSTAT_AUXV
Definition: ELF.h:1671
llvm::ELF::EM_ETPU
@ EM_ETPU
Definition: ELF.h:276
llvm::ELF::STO_MIPS_OPTIONAL
@ STO_MIPS_OPTIONAL
Definition: ELF.h:583
llvm::ELF::EF_HEXAGON_ISA_V66
@ EF_HEXAGON_ISA_V66
Definition: ELF.h:635
llvm::ELF::EM_X86_64
@ EM_X86_64
Definition: ELF.h:178
llvm::ELF::Elf64_Rela::r_info
Elf64_Xword r_info
Definition: ELF.h:1290
llvm::ELF::Elf64_Ehdr::getFileClass
unsigned char getFileClass() const
Definition: ELF.h:107
llvm::ELF::Elf64_Ehdr
Definition: ELF.h:87
llvm::ELF::EF_HEXAGON_ISA_MACH
@ EF_HEXAGON_ISA_MACH
Definition: ELF.h:625
llvm::ELF::Elf64_Phdr::p_flags
Elf64_Word p_flags
Definition: ELF.h:1322
llvm::ELF::VER_FLG_BASE
@ VER_FLG_BASE
Definition: ELF.h:1476
llvm::ELF::EM_TILEPRO
@ EM_TILEPRO
Definition: ELF.h:284
llvm::ELF::EF_MIPS_CPIC
@ EF_MIPS_CPIC
Definition: ELF.h:509
llvm::ELF::Elf64_Shdr
Definition: ELF.h:925
llvm::ELF::EM_MSP430
@ EM_MSP430
Definition: ELF.h:222
llvm::ELF::EF_AVR_ARCH_XMEGA5
@ EF_AVR_ARCH_XMEGA5
Definition: ELF.h:490
llvm::ELF::EF_HEXAGON_ISA_V55
@ EF_HEXAGON_ISA_V55
Definition: ELF.h:631
llvm::ELF::ELFCLASS64
@ ELFCLASS64
Definition: ELF.h:329
llvm::ELF::Elf32_Rel::r_offset
Elf32_Addr r_offset
Definition: ELF.h:1237
llvm::ELF::EM_COREA_2ND
@ EM_COREA_2ND
Definition: ELF.h:290
llvm::ELF::DF_1_ORIGIN
@ DF_1_ORIGIN
Definition: ELF.h:1425
llvm::ELF::EF_ARM_ABI_FLOAT_SOFT
@ EF_ARM_ABI_FLOAT_SOFT
Definition: ELF.h:435
llvm::ELF::NT_ARM_SVE
@ NT_ARM_SVE
Definition: ELF.h:1551
llvm::ELF::Elf64_Phdr::p_paddr
Elf64_Addr p_paddr
Definition: ELF.h:1325
llvm::ELF::EM_STM8
@ EM_STM8
Definition: ELF.h:282
llvm::ELF::PF_MASKOS
@ PF_MASKOS
Definition: ELF.h:1378
llvm::ELF::EF_MIPS_ABI2
@ EF_MIPS_ABI2
Definition: ELF.h:510
llvm::ELF::EM_68HC11
@ EM_68HC11
Definition: ELF.h:186
llvm::ELF::SHN_MIPS_SCOMMON
@ SHN_MIPS_SCOMMON
Definition: ELF.h:572
llvm::ELF::NT_AMDGPU_METADATA
@ NT_AMDGPU_METADATA
Definition: ELF.h:1710
llvm::ELF::SHT_LLVM_PART_PHDR
@ SHT_LLVM_PART_PHDR
Definition: ELF.h:987
llvm::ELF::EF_AMDGPU_MACH_R600_BARTS
@ EF_AMDGPU_MACH_R600_BARTS
Definition: ELF.h:720
llvm::ELF::DF_1_INTERPOSE
@ DF_1_INTERPOSE
Definition: ELF.h:1428
llvm::ELF::Elf32_Sym
Definition: ELF.h:1141
llvm::ELF::EM_CR
@ EM_CR
Definition: ELF.h:220
llvm::ELF::PT_SUNW_UNWIND
@ PT_SUNW_UNWIND
Definition: ELF.h:1350
llvm::ELF::PT_MIPS_RTPROC
@ PT_MIPS_RTPROC
Definition: ELF.h:1368
llvm::ELF::Elf64_Rela::getType
Elf64_Word getType() const
Definition: ELF.h:1296
llvm::ELF::STT_FILE
@ STT_FILE
Definition: ELF.h:1204
llvm::ELF::NT_NETBSDCORE_LWPSTATUS
@ NT_NETBSDCORE_LWPSTATUS
Definition: ELF.h:1678
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1033
@ EF_AMDGPU_MACH_AMDGCN_GFX1033
Definition: ELF.h:759
llvm::ELF::EM_CLOUDSHIELD
@ EM_CLOUDSHIELD
Definition: ELF.h:288
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX1101
@ EF_AMDGPU_MACH_AMDGCN_GFX1101
Definition: ELF.h:772
llvm::ELF::Elf64_Rel::setSymbolAndType
void setSymbolAndType(Elf64_Word s, Elf64_Word t)
Definition: ELF.h:1282
llvm::ELF::EF_MIPS_ABI_EABI64
@ EF_MIPS_ABI_EABI64
Definition: ELF.h:521
llvm::ELF::EM_CR16
@ EM_CR16
Definition: ELF.h:274
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX90A
@ EF_AMDGPU_MACH_AMDGCN_GFX90A
Definition: ELF.h:765
llvm::ELF::EI_MAG2
@ EI_MAG2
Definition: ELF.h:50
llvm::ELF::EM_KMX32
@ EM_KMX32
Definition: ELF.h:307
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_V2
@ EF_AMDGPU_FEATURE_XNACK_V2
Definition: ELF.h:783
llvm::ELF::Elf64_Phdr
Definition: ELF.h:1320
llvm::ELF::VER_NEED_CURRENT
@ VER_NEED_CURRENT
Definition: ELF.h:1487
llvm::ELF::EF_AMDGPU_MACH_R600_RESERVED_FIRST
@ EF_AMDGPU_MACH_R600_RESERVED_FIRST
Definition: ELF.h:726
llvm::ELF::RELOCATION_GROUP_HAS_ADDEND_FLAG
@ RELOCATION_GROUP_HAS_ADDEND_FLAG
Definition: ELF.h:1737
llvm::ELF::ELFOSABI_C6000_ELFABI
@ ELFOSABI_C6000_ELFABI
Definition: ELF.h:364
llvm::ELF::EM_METAG
@ EM_METAG
Definition: ELF.h:270
llvm::ELF::EF_AVR_ARCH_AVR2
@ EF_AVR_ARCH_AVR2
Definition: ELF.h:476
llvm::ELF::ELFOSABI_GNU
@ ELFOSABI_GNU
Definition: ELF.h:344
llvm::ELF::EM_SE_C33
@ EM_SE_C33
Definition: ELF.h:224
llvm::ELF::ELFOSABI_HURD
@ ELFOSABI_HURD
Definition: ELF.h:346
llvm::ELF::EF_MIPS_ABI_EABI32
@ EF_MIPS_ABI_EABI32
Definition: ELF.h:520
llvm::ELF::EM_AVR32
@ EM_AVR32
Definition: ELF.h:281
llvm::ELF::SHT_MIPS_REGINFO
@ SHT_MIPS_REGINFO
Definition: ELF.h:1013
llvm::ELF::EM_VE
@ EM_VE
Definition: ELF.h:320
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX902
@ EF_AMDGPU_MACH_AMDGCN_GFX902
Definition: ELF.h:747
llvm::ELF::EM_FIREPATH
@ EM_FIREPATH
Definition: ELF.h:194
llvm::ELF::PT_ARM_UNWIND
@ PT_ARM_UNWIND
Definition: ELF.h:1364
llvm::ELF::Elf64_Chdr
Definition: ELF.h:1748
llvm::ELF::ELFCLASS32
@ ELFCLASS32
Definition: ELF.h:328
llvm::ELF::SHN_MIPS_DATA
@ SHN_MIPS_DATA
Definition: ELF.h:571
llvm::ELF::EF_MSP430_MACH_MSP430X
@ EF_MSP430_MACH_MSP430X
Definition: ELF.h:864
llvm::ELF::EM_AARCH64
@ EM_AARCH64
Definition: ELF.h:280
llvm::ELF::EM_UNICORE
@ EM_UNICORE
Definition: ELF.h:227
llvm::ELF::convertArchNameToEMachine
uint16_t convertArchNameToEMachine(StringRef Arch)
Convert an architecture name into ELF's e_machine value.
Definition: ELF.cpp:17
llvm::ELF::DF_1_NOHDR
@ DF_1_NOHDR
Definition: ELF.h:1438
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_NEEDED
@ GNU_PROPERTY_X86_FEATURE_2_NEEDED
Definition: ELF.h:1606
llvm::ELF::PT_NULL
@ PT_NULL
Definition: ELF.h:1333
llvm::ELF::Elf64_Chdr::ch_reserved
Elf64_Word ch_reserved
Definition: ELF.h:1750
llvm::ELF::NT_FREEBSD_FCTL_WXNEEDED
@ NT_FREEBSD_FCTL_WXNEEDED
Definition: ELF.h:1655
llvm::ELF::Elf64_Sym::st_value
Elf64_Addr st_value
Definition: ELF.h:1166
llvm::ELF::EM_M32
@ EM_M32
Definition: ELF.h:134
llvm::ELF::GNU_PROPERTY_X86_ISA_1_BASELINE
@ GNU_PROPERTY_X86_ISA_1_BASELINE
Definition: ELF.h:1636
llvm::ELF::NT_FREEBSD_PROCSTAT_VMMAP
@ NT_FREEBSD_PROCSTAT_VMMAP
Definition: ELF.h:1665
llvm::ELF::STO_RISCV_VARIANT_CC
@ STO_RISCV_VARIANT_CC
Definition: ELF.h:681
llvm::ELF::EF_AVR_ARCH_MASK
@ EF_AVR_ARCH_MASK
Definition: ELF.h:494
llvm::ELF::EF_AMDGPU_MACH_R600_CEDAR
@ EF_AMDGPU_MACH_R600_CEDAR
Definition: ELF.h:714
llvm::ELF::EF_AVR_ARCH_XMEGA1
@ EF_AVR_ARCH_XMEGA1
Definition: ELF.h:486
llvm::ELF::EM_DXP
@ EM_DXP
Definition: ELF.h:230
llvm::ELF::EF_HEXAGON_MACH_V67T
@ EF_HEXAGON_MACH_V67T
Definition: ELF.h:619
llvm::ELF::EF_MSP430_MACH_MSP430x12
@ EF_MSP430_MACH_MSP430x12
Definition: ELF.h:847
llvm::ELF::NT_OPENBSD_PROCINFO
@ NT_OPENBSD_PROCINFO
Definition: ELF.h:1683
llvm::ELF::VER_NEED_NONE
@ VER_NEED_NONE
Definition: ELF.h:1487
llvm::ELF::EF_ARM_EABI_VER1
@ EF_ARM_EABI_VER1
Definition: ELF.h:439
llvm::ELF::Elf64_Ehdr::e_ehsize
Elf64_Half e_ehsize
Definition: ELF.h:96
llvm::ELF::Elf32_Ehdr::e_shentsize
Elf32_Half e_shentsize
Definition: ELF.h:73
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_GFX904
@ EF_AMDGPU_MACH_AMDGCN_GFX904
Definition: ELF.h:748
llvm::ELF::Elf64_Ehdr::e_shoff
Elf64_Off e_shoff
Definition: ELF.h:94
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4
@ EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4
Definition: ELF.h:806
llvm::ELF::VERSYM_HIDDEN
@ VERSYM_HIDDEN
Definition: ELF.h:1483
llvm::ELF::EF_HEXAGON_ISA_V69
@ EF_HEXAGON_ISA_V69
Definition: ELF.h:638
llvm::ELF::EM_ALTERA_NIOS2
@ EM_ALTERA_NIOS2
Definition: ELF.h:231
llvm::ELF::EF_RISCV_RVC
@ EF_RISCV_RVC
Definition: ELF.h:663
llvm::ELF::EM_68HC08
@ EM_68HC08
Definition: ELF.h:187
llvm::ELF::EM_ARC_COMPACT
@ EM_ARC_COMPACT
Definition: ELF.h:209
llvm::ELF::EF_MIPS_MACH_3900
@ EF_MIPS_MACH_3900
Definition: ELF.h:526
llvm::ELF::NT_MEMTAG_LEVEL_NONE
@ NT_MEMTAG_LEVEL_NONE
Definition: ELF.h:1588
llvm::ELF::Elf64_Rel::setSymbol
void setSymbol(Elf64_Word s)
Definition: ELF.h:1280
llvm::ELF::EF_AMDGPU_MACH_AMDGCN_RESERVED_0X27
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X27
Definition: ELF.h:741
llvm::ELF::EF_AMDGPU_MACH_R600_R600
@ EF_AMDGPU_MACH_R600_R600
Definition: ELF.h:705
llvm::ELF::EM_386
@ EM_386
Definition: ELF.h:136
llvm::ELF::NT_FREEBSD_FCTL_PROTMAX_DISABLE
@ NT_FREEBSD_FCTL_PROTMAX_DISABLE
Definition: ELF.h:1653
llvm::ELF::EM_68HC05
@ EM_68HC05
Definition: ELF.h:188
llvm::ELF::ELFOSABI_STANDALONE
@ ELFOSABI_STANDALONE
Definition: ELF.h:366
llvm::ELF::RHF_NO_MOVE
@ RHF_NO_MOVE
Definition: ELF.h:1453
llvm::ELF::STT_COMMON
@ STT_COMMON
Definition: ELF.h:1205
llvm::ELF::Elf32_Shdr::sh_flags
Elf32_Word sh_flags
Definition: ELF.h:914
llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V3
@ ELFABIVERSION_AMDGPU_HSA_V3
Definition: ELF.h:375
llvm::ELF::RHF_REQUICKSTART
@ RHF_REQUICKSTART
Definition: ELF.h:1464
llvm::ELF::SHF_EXECINSTR
@ SHF_EXECINSTR
Definition: ELF.h:1038
llvm::ELF::EI_MAG3
@ EI_MAG3
Definition: ELF.h:51
llvm::ELF::EM_ECOG2
@ EM_ECOG2
Definition: ELF.h:244
llvm::ELF::EM_COLDFIRE
@ EM_COLDFIRE
Definition: ELF.h:168
llvm::ELF::EM_ZSP
@ EM_ZSP
Definition: ELF.h:195
llvm::ELF::PT_ARM_EXIDX
@ PT_ARM_EXIDX
Definition: ELF.h:1363
llvm::ELF::NT_FREEBSD_PROCSTAT_UMASK
@ NT_FREEBSD_PROCSTAT_UMASK
Definition: ELF.h:1667
llvm::ELF::STB_WEAK
@ STB_WEAK
Definition: ELF.h:1190
llvm::ELF::SHT_HIUSER
@ SHT_HIUSER
Definition: ELF.h:1026
llvm::ELF::PT_HIOS
@ PT_HIOS
Definition: ELF.h:1342
llvm::ELF::SHF_EXCLUDE
@ SHF_EXCLUDE
Definition: ELF.h:1069
llvm::ELF::EM_SE_C17
@ EM_SE_C17
Definition: ELF.h:249
llvm::ELF::Elf64_Ehdr::e_phentsize
Elf64_Half e_phentsize
Definition: ELF.h:97
llvm::ELF::EF_AMDGPU_FEATURE_XNACK_V3
@ EF_AMDGPU_FEATURE_XNACK_V3
Definition: ELF.h:794
llvm::ELF::EF_HEXAGON_MACH_V62
@ EF_HEXAGON_MACH_V62
Definition: ELF.h:615
llvm::ELF::EF_MSP430_MACH_MSP430x22
@ EF_MSP430_MACH_MSP430x22
Definition: ELF.h:853
llvm::ELF::EM_VIDEOCORE5
@ EM_VIDEOCORE5
Definition: ELF.h:294
llvm::ELF::RHF_QUICKSTART
@ RHF_QUICKSTART
Definition: ELF.h:1450
llvm::ELF::EM_PJ
@ EM_PJ
Definition: ELF.h:207
Other
Optional< std::vector< StOtherPiece > > Other
Definition: ELFYAML.cpp:1236
llvm::ELF::ELFDATANONE
@ ELFDATANONE
Definition: ELF.h:334
llvm::ELF::Elf32_Rela::r_addend
Elf32_Sword r_addend
Definition: ELF.h:1255
llvm::ELF::Elf64_Phdr::p_vaddr
Elf64_Addr p_vaddr
Definition: ELF.h:1324
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_XMM
@ GNU_PROPERTY_X86_FEATURE_2_XMM
Definition: ELF.h:1628
llvm::ELF::EM_VPP500
@ EM_VPP500
Definition: ELF.h:145
llvm::ELF::EF_RISCV_FLOAT_ABI_SINGLE
@ EF_RISCV_FLOAT_ABI_SINGLE
Definition: ELF.h:666
llvm::ELF::EF_HEXAGON_MACH_V67
@ EF_HEXAGON_MACH_V67
Definition: ELF.h:618
llvm::ELF::RHF_GUARANTEE_INIT
@ RHF_GUARANTEE_INIT
Definition: ELF.h:1455
llvm::ELF::ELFOSABI_MODESTO
@ ELFOSABI_MODESTO
Definition: ELF.h:352
llvm::ELF::EM_F2MC16
@ EM_F2MC16
Definition: ELF.h:221
llvm::ELF::NT_NETBSDCORE_PROCINFO
@ NT_NETBSDCORE_PROCINFO
Definition: ELF.h:1676
llvm::ELF::EM_IA_64
@ EM_IA_64
Definition: ELF.h:166
llvm::ELF::Elf32_Phdr::p_filesz
Elf32_Word p_filesz
Definition: ELF.h:1313
llvm::ELF::Elf32_Ehdr::e_phentsize
Elf32_Half e_phentsize
Definition: ELF.h:71
llvm::ELF::Elf32_Phdr::p_offset
Elf32_Off p_offset
Definition: ELF.h:1310
llvm::ELF::SHT_ARM_ATTRIBUTES
@ SHT_ARM_ATTRIBUTES
Definition: ELF.h:1006
llvm::ELF::Elf32_Chdr::ch_type
Elf32_Word ch_type
Definition: ELF.h:1742
llvm::ELF::Elf32_Ehdr::e_shoff
Elf32_Off e_shoff
Definition: ELF.h:68
llvm::ELF::EF_MIPS_MACH_4120
@ EF_MIPS_MACH_4120
Definition: ELF.h:530
llvm::ELF::EM_KVARC
@ EM_KVARC
Definition: ELF.h:310
llvm::ELF::GNU_PROPERTY_X86_FEATURE_2_USED
@ GNU_PROPERTY_X86_FEATURE_2_USED
Definition: ELF.h:1610
llvm::ELF::EM_68HC12
@ EM_68HC12
Definition: ELF.h:169