LLVM: include/llvm/BinaryFormat/ELF.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19#ifndef LLVM_BINARYFORMAT_ELF_H
20#define LLVM_BINARYFORMAT_ELF_H
21
23#include
24#include
25#include <type_traits>
26
27namespace llvm {
28namespace ELF {
29
35
43
44
45static const char ElfMagic[] = {0x7f, 'E', 'L', 'F', '\0'};
46
47
48enum {
59 EI_NIDENT = 16
61
77
80 }
81
84};
85
86
87
103
106 }
107
110};
111
112
113
114
115enum {
124 ET_HIPROC = 0xffff
126
127
129
130
131
132
133
134
135enum {
186 EM_ST9PLUS = 67,
196 EM_JAVELIN = 77,
211 EM_OPENRISC = 92,
212 EM_ARC_COMPACT = 93,
213
216 EM_TMM_GPP = 96,
226 EM_BLACKFIN = 106,
230 EM_UNICORE = 110,
231
239 EM_DSPIC30F = 118,
240
246
253 EM_TI_C6000 = 140,
254 EM_TI_C2000 = 141,
255 EM_TI_C5500 = 142,
256 EM_MMDSP_PLUS = 160,
259 EM_TRIMEDIA = 163,
263
265
271 EM_CRAYNV2 = 172,
274
275 EM_MCST_ELBRUS = 175,
278
287 EM_TILEPRO = 188,
288 EM_MICROBLAZE = 189,
292 EM_COREA_1ST = 193,
293 EM_COREA_2ND = 194,
299 EM_56800EX = 200,
326};
327
328
329enum {
334
335
336enum {
339 ELFDATA2MSB = 2
341
342
343enum {
374
375
376enum {
377
378
384};
385
386#define ELF_RELOC(name, value) name = value,
387
388
389enum {
390#include "ELFRelocs/x86_64.def"
391};
392
393
394enum {
395#include "ELFRelocs/i386.def"
396};
397
398
399enum {
400#include "ELFRelocs/PowerPC.def"
401};
402
403
404enum {
405
406
407
408
411
412
413enum {
419 return ((1 << Val) >> 2) << 2;
420}
421
422
423enum {
424#include "ELFRelocs/PowerPC64.def"
425};
426
427
428enum {
429#include "ELFRelocs/AArch64.def"
430};
431
432
433enum {
434
437
438
439enum : unsigned {
453
454
455enum {
456#include "ELFRelocs/ARM.def"
457};
458
459
460enum : unsigned {
474
475
476enum {
477#include "ELFRelocs/ARC.def"
478};
479
480
481enum : unsigned {
500
502
504
505};
506
507
508enum {
509#include "ELFRelocs/AVR.def"
510};
511
512
513enum : unsigned {
515 EF_MIPS_PIC = 0x00000002,
516 EF_MIPS_CPIC = 0x00000004,
519
520 EF_MIPS_FP64 = 0x00000200,
521
523
524
525 EF_MIPS_ABI_O32 = 0x00001000,
526 EF_MIPS_ABI_O64 = 0x00002000,
529 EF_MIPS_ABI = 0x0000f000,
530
531
551 EF_MIPS_MACH = 0x00ff0000,
552
553
558
559
565 EF_MIPS_ARCH_32 = 0x50000000,
566 EF_MIPS_ARCH_64 = 0x60000000,
571 EF_MIPS_ARCH = 0xf0000000
573
574
575enum {
576 SHN_MIPS_ACOMMON = 0xff00,
582
583
584enum {
585#include "ELFRelocs/Mips.def"
586};
587
588
589enum {
591 STO_MIPS_PLT = 0x08,
592 STO_MIPS_PIC = 0x20,
596
597
598enum {
608 ODK_GP_GROUP = 9,
612
613
614enum {
615
635
636
638
656};
657
658
659enum {
666
667
668enum {
669#include "ELFRelocs/Hexagon.def"
670};
671
672
673enum {
674#include "ELFRelocs/Lanai.def"
675};
676
677
678enum : unsigned {
687};
688
689
690enum {
691#include "ELFRelocs/RISCV.def"
692#define ELF_RISCV_NONSTANDARD_RELOC(_vendor, name, value) name = value,
693#include "ELFRelocs/RISCV_nonstandard.def"
694#undef ELF_RISCV_NONSTANDARD_RELOC
695};
696
697enum {
698
699
702
703
704enum {
705#include "ELFRelocs/SystemZ.def"
706};
707
708
709enum : unsigned {
710
711
712
713
714
715
721
722
727};
728
729
730enum {
731#include "ELFRelocs/Sparc.def"
732};
733
734
735enum : unsigned {
736
738
739
741
742
743
744
749
753
759
764
765
768
769
772
773
774
834
835
836
839
840
841
842
843
845
846
847
848
850
851
852
853
854
856
857
858
859
861
862
863
864
866
868
870
872
874
875
876
877
879
881
883
885
887
888
893};
894
895
896enum {
897#include "ELFRelocs/AMDGPU.def"
898};
899
900
901enum : unsigned {
902
904
905
925
927
928
930
932
934
936
938
939
941};
942
943
944enum {
945#include "ELFRelocs/BPF.def"
946};
947
948
949enum {
950#include "ELFRelocs/M68k.def"
951};
952
953
954enum : unsigned {
978};
979
980
981enum {
982#include "ELFRelocs/MSP430.def"
983};
984
985
986enum {
987#include "ELFRelocs/VE.def"
988};
989
990
991enum : unsigned {
1007
1008
1009enum {
1010#include "ELFRelocs/CSKY.def"
1011};
1012
1013
1014enum : unsigned {
1015
1016
1017
1018
1019
1024
1025
1029};
1030
1031
1032enum {
1033#include "ELFRelocs/LoongArch.def"
1034};
1035
1036
1037enum : unsigned {
1038
1040
1044};
1045
1046
1047enum {
1048#include "ELFRelocs/Xtensa.def"
1049};
1050
1051#undef ELF_RELOC
1052
1053
1065};
1066
1067
1079};
1080
1081
1082enum {
1085 SHN_LOPROC = 0xff00,
1086 SHN_HIPROC = 0xff1f,
1090 SHN_COMMON = 0xfff2,
1091 SHN_XINDEX = 0xffff,
1092 SHN_HIRESERVE = 0xffff
1094
1095
1096enum : unsigned {
1105 SHT_NOBITS = 8,
1114
1115
1117
1118
1121
1122
1128
1130 0x6fff4c04,
1135 0x6fff4c08,
1136
1142
1143
1151 SHT_LOPROC = 0x70000000,
1152
1153
1155
1157
1161
1162
1164
1165
1169
1171
1176
1178
1180
1182
1184
1185 SHT_HIPROC = 0x7fffffff,
1186 SHT_LOUSER = 0x80000000,
1187 SHT_HIUSER = 0xffffffff
1189
1190
1191enum : unsigned {
1192
1194
1195
1197
1198
1200
1201
1203
1204
1206
1207
1209
1210
1212
1213
1214
1216
1217
1219
1220
1222
1223
1225
1226
1228
1229
1231
1232
1233
1235
1236
1238
1239
1241
1242
1243
1244
1246
1247
1248
1249
1251
1252
1253
1254
1255
1256
1257
1258
1260
1261
1262
1264
1265
1266
1268
1269
1271
1272
1274
1275
1277
1278
1280
1281
1283
1284
1286
1287
1289
1290
1293
1294
1295enum : unsigned {
1300
1301
1309
1310
1311
1317 st_info = (b << 4) + (t & 0x0f);
1318 }
1319};
1320
1321
1329
1330
1331
1337 st_info = (b << 4) + (t & 0x0f);
1338 }
1339};
1340
1341
1342enum {
1346
1347
1348enum {
1350 STB_GLOBAL = 1,
1355 STB_LOPROC = 13,
1356 STB_HIPROC = 15
1358
1359
1360enum {
1362 STT_OBJECT = 1,
1371 STT_LOPROC = 13,
1372 STT_HIPROC = 15,
1373
1374
1377
1378enum {
1379 STV_DEFAULT = 0,
1382 STV_PROTECTED = 3
1384
1385
1387
1388
1389enum {
1393 RSS_LOC = 3
1395
1396
1400
1401
1402
1404 unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
1408 r_info = (s << 8) + t;
1409 }
1410};
1411
1412
1417
1418
1419
1421 unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
1425 r_info = (s << 8) + t;
1426 }
1427};
1428
1429
1431
1432
1436
1437
1438
1445 }
1446};
1447
1448
1453
1454
1455
1462 }
1463};
1464
1465
1467 std::conditional_t<Is64, uint64_t, uint32_t> r_offset;
1470 std::conditional_t<Is64, int64_t, int32_t> r_addend;
1471};
1472
1473
1475
1476
1486};
1487
1488
1498};
1499
1500
1501enum {
1514
1515
1516
1520
1521 PT_GNU_STACK = 0x6474e551,
1524
1531
1532
1533 PT_ARM_ARCHEXT = 0x70000000,
1534
1537
1539
1540
1545
1546
1548};
1549
1550
1551enum : unsigned {
1556 PF_MASKPROC = 0xf0000000
1558
1559
1562 union {
1566};
1567
1568
1571 union {
1575};
1576
1577
1578enum {
1579#define DYNAMIC_TAG(name, value) DT_##name = value,
1580#include "DynamicTags.def"
1581#undef DYNAMIC_TAG
1582};
1583
1584
1585enum {
1587 DF_SYMBOLIC = 0x02,
1588 DF_TEXTREL = 0x04,
1590 DF_STATIC_TLS = 0x10
1592
1593
1594enum {
1596 DF_1_GLOBAL = 0x00000002,
1597 DF_1_GROUP = 0x00000004,
1598 DF_1_NODELETE = 0x00000008,
1599 DF_1_LOADFLTR = 0x00000010,
1601 DF_1_NOOPEN = 0x00000040,
1608 DF_1_CONFALT = 0x00002000,
1616 DF_1_EDITED = 0x00200000,
1622};
1623
1624
1625enum {
1628 RHF_NOTPOT = 0x00000002,
1630 RHF_NO_MOVE = 0x00000008,
1633
1634
1637
1638
1645
1648
1649
1651
1652
1654
1655
1656enum {
1660 VERSYM_HIDDEN = 0x8000
1662
1663
1665
1666
1667
1668
1669enum : unsigned {
1674};
1675
1676
1677enum : unsigned {
1689
1705
1709
1723
1736
1740};
1741
1742
1743enum {
1745};
1746
1747
1748enum {
1755};
1756
1757
1758enum {
1762};
1763
1764
1765enum {
1766
1767
1768
1769
1770
1771
1776
1777
1780};
1781
1782
1783enum : unsigned {
1789
1793
1797};
1798
1799
1800enum : unsigned {
1804};
1805
1806
1807enum : unsigned {
1811};
1812
1813
1814enum : unsigned {
1829};
1830
1831
1832enum : unsigned {
1835
1846
1851};
1852
1853
1854enum {
1859};
1860
1861
1862enum {
1869};
1870
1871
1872enum {
1883};
1884
1885
1886enum {
1890};
1891
1892
1893enum {
1900};
1901
1902
1903enum {
1904 SHN_AMDGPU_LDS = 0xff00,
1905};
1906
1907
1908enum {
1912
1917
1918
1919enum {
1920
1923
1924
1925enum : unsigned {
1930
1931enum {
1939};
1940
1942
1943
1944enum {
1949};
1950
1951
1956};
1957
1958
1964};
1965
1966
1971};
1972
1973
1978};
1979
1980
1981enum {
1989
1991
1992
1994
1995
1997
1998
2000
2001
2002
2004
2005}
2006}
2007
2008#endif
Merge contiguous icmps into a memcmp
StringRef - Represent a constant reference to a string, i.e.
StringRef convertOSABIToName(uint8_t OSABI)
@ STO_AARCH64_VARIANT_PCS
static int64_t decodePPC64LocalEntryOffset(unsigned Other)
constexpr const char * ELF_NOTE_GNU
@ RHS_NO_LIBRARY_REPLACEMENT
@ RHF_GUARANTEE_START_INIT
@ EF_AVR_LINKRELAX_PREPARED
@ RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG
@ RELOCATION_GROUPED_BY_INFO_FLAG
@ RELOCATION_GROUPED_BY_ADDEND_FLAG
@ RELOCATION_GROUP_HAS_ADDEND_FLAG
static const char ElfMagic[]
@ SHT_LLVM_BB_ADDR_MAP_V0
@ SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC
@ SHT_LLVM_DEPENDENT_LIBRARIES
@ SHT_LLVM_LINKER_OPTIONS
@ SHT_AARCH64_MEMTAG_GLOBALS_STATIC
@ SHT_LLVM_CALL_GRAPH_PROFILE
@ EF_AMDGPU_GENERIC_VERSION_MAX
@ EF_AMDGPU_FEATURE_XNACK_ANY_V4
@ EF_AMDGPU_MACH_AMDGCN_GFX703
@ EF_AMDGPU_MACH_AMDGCN_GFX1035
@ EF_AMDGPU_FEATURE_SRAMECC_V3
@ EF_AMDGPU_MACH_AMDGCN_GFX1031
@ EF_AMDGPU_GENERIC_VERSION_OFFSET
@ EF_AMDGPU_MACH_R600_CAYMAN
@ EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X56
@ EF_AMDGPU_MACH_AMDGCN_GFX704
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X57
@ EF_AMDGPU_MACH_AMDGCN_GFX902
@ EF_AMDGPU_MACH_AMDGCN_GFX810
@ EF_AMDGPU_MACH_AMDGCN_GFX950
@ EF_AMDGPU_MACH_AMDGCN_LAST
@ EF_AMDGPU_MACH_AMDGCN_GFX1036
@ EF_AMDGPU_MACH_AMDGCN_GFX1102
@ EF_AMDGPU_MACH_R600_RESERVED_LAST
@ EF_AMDGPU_MACH_R600_RV730
@ EF_AMDGPU_MACH_R600_RV710
@ EF_AMDGPU_MACH_AMDGCN_GFX908
@ EF_AMDGPU_MACH_AMDGCN_GFX1011
@ EF_AMDGPU_MACH_R600_CYPRESS
@ EF_AMDGPU_MACH_AMDGCN_GFX1032
@ EF_AMDGPU_MACH_R600_R600
@ EF_AMDGPU_MACH_AMDGCN_GFX940
@ EF_AMDGPU_MACH_AMDGCN_GFX941
@ EF_AMDGPU_MACH_R600_TURKS
@ EF_AMDGPU_MACH_R600_JUNIPER
@ EF_AMDGPU_FEATURE_SRAMECC_OFF_V4
@ EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4
@ EF_AMDGPU_MACH_AMDGCN_GFX601
@ EF_AMDGPU_MACH_AMDGCN_GFX942
@ EF_AMDGPU_MACH_R600_LAST
@ EF_AMDGPU_MACH_R600_RESERVED_FIRST
@ EF_AMDGPU_MACH_AMDGCN_GFX1152
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X27
@ EF_AMDGPU_FEATURE_TRAP_HANDLER_V2
@ EF_AMDGPU_MACH_R600_R630
@ EF_AMDGPU_MACH_R600_REDWOOD
@ EF_AMDGPU_MACH_AMDGCN_FIRST
@ EF_AMDGPU_MACH_R600_RV770
@ EF_AMDGPU_FEATURE_XNACK_OFF_V4
@ EF_AMDGPU_MACH_AMDGCN_GFX600
@ EF_AMDGPU_FEATURE_XNACK_V3
@ EF_AMDGPU_MACH_AMDGCN_GFX602
@ EF_AMDGPU_MACH_AMDGCN_GFX1101
@ EF_AMDGPU_MACH_AMDGCN_GFX1100
@ EF_AMDGPU_MACH_AMDGCN_GFX1033
@ EF_AMDGPU_MACH_AMDGCN_GFX801
@ EF_AMDGPU_FEATURE_XNACK_V4
@ EF_AMDGPU_MACH_AMDGCN_GFX705
@ EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC
@ EF_AMDGPU_MACH_AMDGCN_GFX1153
@ EF_AMDGPU_MACH_AMDGCN_GFX1010
@ EF_AMDGPU_MACH_R600_RV670
@ EF_AMDGPU_MACH_AMDGCN_GFX701
@ EF_AMDGPU_GENERIC_VERSION_MIN
@ EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC
@ EF_AMDGPU_MACH_AMDGCN_GFX1012
@ EF_AMDGPU_MACH_AMDGCN_GFX1151
@ EF_AMDGPU_MACH_AMDGCN_GFX1030
@ EF_AMDGPU_MACH_R600_CEDAR
@ EF_AMDGPU_MACH_AMDGCN_GFX1200
@ EF_AMDGPU_MACH_AMDGCN_GFX700
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X4D
@ EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC
@ EF_AMDGPU_MACH_AMDGCN_GFX803
@ EF_AMDGPU_MACH_AMDGCN_GFX802
@ EF_AMDGPU_MACH_AMDGCN_GFX90C
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X50
@ EF_AMDGPU_FEATURE_SRAMECC_V4
@ EF_AMDGPU_FEATURE_XNACK_ON_V4
@ EF_AMDGPU_MACH_AMDGCN_GFX900
@ EF_AMDGPU_MACH_AMDGCN_GFX909
@ EF_AMDGPU_MACH_AMDGCN_GFX906
@ EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC
@ EF_AMDGPU_MACH_AMDGCN_GFX1103
@ EF_AMDGPU_MACH_R600_CAICOS
@ EF_AMDGPU_MACH_AMDGCN_GFX90A
@ EF_AMDGPU_MACH_AMDGCN_GFX1034
@ EF_AMDGPU_MACH_AMDGCN_GFX1013
@ EF_AMDGPU_MACH_AMDGCN_GFX12_GENERIC
@ EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC
@ EF_AMDGPU_MACH_AMDGCN_GFX904
@ EF_AMDGPU_MACH_R600_RS880
@ EF_AMDGPU_MACH_R600_FIRST
@ EF_AMDGPU_MACH_AMDGCN_GFX805
@ EF_AMDGPU_MACH_AMDGCN_GFX1201
@ EF_AMDGPU_MACH_AMDGCN_GFX1150
@ EF_AMDGPU_MACH_R600_SUMO
@ EF_AMDGPU_MACH_R600_BARTS
@ EF_AMDGPU_FEATURE_SRAMECC_ANY_V4
@ EF_AMDGPU_FEATURE_XNACK_V2
@ EF_AMDGPU_FEATURE_SRAMECC_ON_V4
@ EF_AMDGPU_MACH_AMDGCN_RESERVED_0X49
@ EF_AMDGPU_MACH_AMDGCN_GFX702
@ EF_AMDGPU_GENERIC_VERSION
@ EF_LOONGARCH_OBJABI_MASK
@ EF_LOONGARCH_ABI_SINGLE_FLOAT
@ EF_LOONGARCH_ABI_DOUBLE_FLOAT
@ EF_LOONGARCH_ABI_SOFT_FLOAT
@ EF_LOONGARCH_ABI_MODIFIER_MASK
@ ELFABIVERSION_AMDGPU_HSA_V4
@ ELFABIVERSION_AMDGPU_HSA_V5
@ ELFABIVERSION_AMDGPU_HSA_V3
@ ELFABIVERSION_AMDGPU_HSA_V6
@ ELFABIVERSION_AMDGPU_HSA_V2
@ NT_NETBSDCORE_LWPSTATUS
@ NT_ARM_TAGGED_ADDR_CTRL
@ EF_RISCV_FLOAT_ABI_SOFT
@ EF_RISCV_FLOAT_ABI_SINGLE
@ EF_RISCV_FLOAT_ABI_DOUBLE
@ EF_RISCV_FLOAT_ABI_QUAD
constexpr unsigned CREL_HDR_ADDEND
@ NT_LLVM_OPENMP_OFFLOAD_PRODUCER
@ NT_LLVM_OPENMP_OFFLOAD_VERSION
@ NT_LLVM_OPENMP_OFFLOAD_PRODUCER_VERSION
@ NT_FREEBSD_PROCSTAT_PROC
@ NT_FREEBSD_PROCSTAT_UMASK
@ NT_FREEBSD_PROCSTAT_FILES
@ NT_FREEBSD_PROCSTAT_GROUPS
@ NT_FREEBSD_PROCSTAT_OSREL
@ NT_FREEBSD_PROCSTAT_RLIMIT
@ NT_FREEBSD_PROCSTAT_AUXV
@ NT_FREEBSD_PROCSTAT_PSSTRINGS
@ NT_FREEBSD_PROCSTAT_VMMAP
@ GNU_PROPERTY_AARCH64_FEATURE_1_BTI
@ GNU_PROPERTY_AARCH64_FEATURE_1_PAC
@ GNU_PROPERTY_AARCH64_FEATURE_1_GCS
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX
@ AARCH64_PAUTH_PLATFORM_INVALID
@ AARCH64_PAUTH_PLATFORM_BAREMETAL
@ XCORE_SHF_DP_SECTION
All sections with the "d" flag are grouped together by the linker to form the data section and the dp...
@ XCORE_SHF_CP_SECTION
All sections with the "c" flag are grouped together by the linker to form the constant pool and the c...
@ NT_FREEBSD_FCTL_STKGAP_DISABLE
@ NT_FREEBSD_FCTL_ASG_DISABLE
@ NT_FREEBSD_FCTL_WXNEEDED
@ NT_FREEBSD_FCTL_ASLR_DISABLE
@ NT_FREEBSD_FCTL_PROTMAX_DISABLE
@ NT_GNU_BUILD_ATTRIBUTE_OPEN
@ NT_GNU_BUILD_ATTRIBUTE_FUNC
uint16_t convertArchNameToEMachine(StringRef Arch)
Convert an architecture name into ELF's e_machine value.
@ GNU_PROPERTY_NO_COPY_ON_PROTECTED
@ GNU_PROPERTY_X86_UINT32_OR_LO
@ GNU_PROPERTY_X86_FEATURE_1_AND
@ GNU_PROPERTY_X86_UINT32_OR_AND_LO
@ GNU_PROPERTY_X86_ISA_1_NEEDED
@ GNU_PROPERTY_X86_ISA_1_USED
@ GNU_PROPERTY_X86_FEATURE_2_USED
@ GNU_PROPERTY_X86_FEATURE_2_NEEDED
@ GNU_PROPERTY_AARCH64_FEATURE_PAUTH
@ GNU_PROPERTY_STACK_SIZE
@ GNU_PROPERTY_AARCH64_FEATURE_1_AND
@ EF_MSP430_MACH_MSP430x42
@ EF_MSP430_MACH_MSP430x24
@ EF_MSP430_MACH_MSP430x46
@ EF_MSP430_MACH_MSP430x31
@ EF_MSP430_MACH_MSP430x43
@ EF_MSP430_MACH_MSP430x14
@ EF_MSP430_MACH_MSP430x26
@ EF_MSP430_MACH_MSP430x23
@ EF_MSP430_MACH_MSP430x20
@ EF_MSP430_MACH_MSP430x11
@ EF_MSP430_MACH_MSP430x41
@ EF_MSP430_MACH_MSP430x16
@ EF_MSP430_MACH_MSP430x33
@ EF_MSP430_MACH_MSP430x12
@ EF_MSP430_MACH_MSP430x44
@ EF_MSP430_MACH_MSP430x32
@ EF_MSP430_MACH_MSP430x22
@ EF_MSP430_MACH_MSP430x47
@ EF_MSP430_MACH_MSP430x15
@ EF_MSP430_MACH_MSP430x13
@ EF_MSP430_MACH_MSP430x54
@ EF_MSP430_MACH_MSP430x11x1
StringRef convertEMachineToArchName(uint16_t EMachine)
Convert an ELF's e_machine value into an architecture name.
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INITFINIADDRDISC
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_FPTRTYPEDISCR
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_VPTRADDRDISCR
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_AUTHTRAPS
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_GOTOS
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INITFINI
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_INTRINSICS
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_RETURNS
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_VPTRTYPEDISCR
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_LAST
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_TYPEINFOVPTRDISCR
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_GOT
@ AARCH64_PAUTH_PLATFORM_LLVM_LINUX_VERSION_CALLS
@ GNU_PROPERTY_X86_FEATURE_1_SHSTK
@ GNU_PROPERTY_X86_FEATURE_2_ZMM
@ GNU_PROPERTY_X86_FEATURE_2_FXSR
@ GNU_PROPERTY_X86_FEATURE_2_X86
@ GNU_PROPERTY_X86_ISA_1_V4
@ GNU_PROPERTY_X86_ISA_1_BASELINE
@ GNU_PROPERTY_X86_ISA_1_V2
@ GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT
@ GNU_PROPERTY_X86_FEATURE_2_XMM
@ GNU_PROPERTY_X86_FEATURE_2_YMM
@ GNU_PROPERTY_X86_FEATURE_2_XSAVE
@ GNU_PROPERTY_X86_ISA_1_V3
@ GNU_PROPERTY_X86_FEATURE_2_X87
@ GNU_PROPERTY_X86_FEATURE_2_MMX
@ GNU_PROPERTY_X86_FEATURE_2_XSAVEC
@ GNU_PROPERTY_X86_FEATURE_1_IBT
uint8_t convertNameToOSABI(StringRef Name)
@ EF_CUDA_TEXMODE_INDEPENDANT
@ EF_CUDA_TEXMODE_UNIFIED
@ NT_AMD_HSA_CODE_OBJECT_VERSION
This is an optimization pass for GlobalISel generic memory operations.
union llvm::ELF::Elf32_Dyn::@141 d_un
unsigned char e_ident[EI_NIDENT]
unsigned char getFileClass() const
unsigned char getDataEncoding() const
void setType(unsigned char t)
unsigned char getType() const
void setSymbolAndType(Elf32_Word s, unsigned char t)
Elf32_Word getSymbol() const
void setSymbol(Elf32_Word s)
void setType(unsigned char t)
Elf32_Word getSymbol() const
void setSymbol(Elf32_Word s)
void setSymbolAndType(Elf32_Word s, unsigned char t)
unsigned char getType() const
void setBinding(unsigned char b)
void setType(unsigned char t)
unsigned char getType() const
void setBindingAndType(unsigned char b, unsigned char t)
unsigned char getBinding() const
union llvm::ELF::Elf64_Dyn::@142 d_un
unsigned char getFileClass() const
unsigned char e_ident[EI_NIDENT]
unsigned char getDataEncoding() const
void setType(Elf64_Word t)
void setSymbol(Elf64_Word s)
Elf64_Word getType() const
Elf64_Word getSymbol() const
void setSymbolAndType(Elf64_Word s, Elf64_Word t)
Elf64_Word getType() const
void setSymbolAndType(Elf64_Word s, Elf64_Word t)
void setSymbol(Elf64_Word s)
Elf64_Word getSymbol() const
void setType(Elf64_Word t)
void setBinding(unsigned char b)
void setType(unsigned char t)
void setBindingAndType(unsigned char b, unsigned char t)
unsigned char getType() const
unsigned char getBinding() const
std::conditional_t< Is64, uint64_t, uint32_t > r_offset
std::conditional_t< Is64, int64_t, int32_t > r_addend