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
1163
1164
1166
1167
1171
1173
1178
1180
1182
1184
1186
1187 SHT_HIPROC = 0x7fffffff,
1188 SHT_LOUSER = 0x80000000,
1189 SHT_HIUSER = 0xffffffff
1191
1192
1193enum : unsigned {
1194
1196
1197
1199
1200
1202
1203
1205
1206
1208
1209
1211
1212
1214
1215
1216
1218
1219
1221
1222
1224
1225
1227
1228
1230
1231
1233
1234
1235
1237
1238
1240
1241
1243
1244
1245
1246
1248
1249
1250
1251
1253
1254
1255
1256
1257
1258
1259
1260
1262
1263
1264
1266
1267
1268
1270
1271
1273
1274
1276
1277
1279
1280
1282
1283
1285
1286
1288
1289
1291
1292
1295
1296
1297enum : unsigned {
1302
1303
1311
1312
1313
1319 st_info = (b << 4) + (t & 0x0f);
1320 }
1321};
1322
1323
1331
1332
1333
1339 st_info = (b << 4) + (t & 0x0f);
1340 }
1341};
1342
1343
1344enum {
1348
1349
1350enum {
1352 STB_GLOBAL = 1,
1357 STB_LOPROC = 13,
1358 STB_HIPROC = 15
1360
1361
1362enum {
1364 STT_OBJECT = 1,
1373 STT_LOPROC = 13,
1374 STT_HIPROC = 15,
1375
1376
1379
1380enum {
1381 STV_DEFAULT = 0,
1384 STV_PROTECTED = 3
1386
1387
1389
1390
1391enum {
1395 RSS_LOC = 3
1397
1398
1402
1403
1404
1406 unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
1410 r_info = (s << 8) + t;
1411 }
1412};
1413
1414
1419
1420
1421
1423 unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
1427 r_info = (s << 8) + t;
1428 }
1429};
1430
1431
1433
1434
1438
1439
1440
1447 }
1448};
1449
1450
1455
1456
1457
1464 }
1465};
1466
1467
1469 std::conditional_t<Is64, uint64_t, uint32_t> r_offset;
1472 std::conditional_t<Is64, int64_t, int32_t> r_addend;
1473};
1474
1475
1477
1478
1488};
1489
1490
1500};
1501
1502
1503enum {
1516
1517
1518
1522
1523 PT_GNU_STACK = 0x6474e551,
1526
1533
1534
1535 PT_ARM_ARCHEXT = 0x70000000,
1536
1539
1541
1542
1547
1548
1550};
1551
1552
1553enum : unsigned {
1558 PF_MASKPROC = 0xf0000000
1560
1561
1564 union {
1568};
1569
1570
1573 union {
1577};
1578
1579
1580enum {
1581#define DYNAMIC_TAG(name, value) DT_##name = value,
1582#include "DynamicTags.def"
1583#undef DYNAMIC_TAG
1584};
1585
1586
1587enum {
1589 DF_SYMBOLIC = 0x02,
1590 DF_TEXTREL = 0x04,
1592 DF_STATIC_TLS = 0x10
1594
1595
1596enum {
1598 DF_1_GLOBAL = 0x00000002,
1599 DF_1_GROUP = 0x00000004,
1600 DF_1_NODELETE = 0x00000008,
1601 DF_1_LOADFLTR = 0x00000010,
1603 DF_1_NOOPEN = 0x00000040,
1610 DF_1_CONFALT = 0x00002000,
1618 DF_1_EDITED = 0x00200000,
1624};
1625
1626
1627enum {
1630 RHF_NOTPOT = 0x00000002,
1632 RHF_NO_MOVE = 0x00000008,
1635
1636
1639
1640
1647
1650
1651
1653
1654
1656
1657
1658enum {
1662 VERSYM_HIDDEN = 0x8000
1664
1665
1667
1668
1669
1670
1671enum : unsigned {
1676};
1677
1678
1679enum : unsigned {
1691
1707
1711
1725
1738
1742};
1743
1744
1745enum {
1747};
1748
1749
1750enum {
1757};
1758
1759
1760enum {
1764};
1765
1766
1767enum {
1768
1769
1770
1771
1772
1773
1778
1779
1782};
1783
1784
1785enum : unsigned {
1791
1795
1799};
1800
1801
1802enum : unsigned {
1806};
1807
1808
1809enum : unsigned {
1813};
1814
1815
1816enum : unsigned {
1831};
1832
1833
1834enum : unsigned {
1837
1848
1853};
1854
1855
1856enum {
1861};
1862
1863
1864enum {
1871};
1872
1873
1874enum {
1885};
1886
1887
1888enum {
1892};
1893
1894
1895enum {
1902};
1903
1904
1905enum {
1906 SHN_AMDGPU_LDS = 0xff00,
1907};
1908
1909
1910enum {
1914
1919
1920
1921enum {
1922
1925
1926
1927enum : unsigned {
1932
1933enum {
1941};
1942
1944
1945
1946enum {
1951};
1952
1953
1958};
1959
1960
1966};
1967
1968
1973};
1974
1975
1980};
1981
1982
1983enum {
1991
1993
1994
1996
1997
1999
2000
2002
2003
2004
2006
2007}
2008}
2009
2010#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