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 {

49 EI_MAG0 = 0,

50 EI_MAG1 = 1,

51 EI_MAG2 = 2,

52 EI_MAG3 = 3,

56 EI_OSABI = 7,

58 EI_PAD = 9,

59 EI_NIDENT = 16

61

77

80 }

81

84};

85

86

87

103

106 }

107

110};

111

112

113

114

115enum {

119 ET_DYN = 3,

121 ET_LOOS = 0xfe00,

122 ET_HIOS = 0xfeff,

123 ET_LOPROC = 0xff00,

124 ET_HIPROC = 0xffff

126

127

129

130

131

132

133

134

135enum {

164 EM_ARC = 45,

169 EM_IA_64 = 50,

173 EM_MMA = 54,

175 EM_NCPU = 56,

176 EM_NDR1 = 57,

178 EM_ME16 = 59,

179 EM_ST100 = 60,

180 EM_TINYJ = 61,

183 EM_PDP10 = 64,

184 EM_PDP11 = 65,

185 EM_FX66 = 66,

186 EM_ST9PLUS = 67,

187 EM_ST7 = 68,

188 EM_68HC16 = 69,

189 EM_68HC11 = 70,

190 EM_68HC08 = 71,

191 EM_68HC05 = 72,

192 EM_SVX = 73,

193 EM_ST19 = 74,

195 EM_CRIS = 76,

196 EM_JAVELIN = 77,

198 EM_ZSP = 79,

199 EM_MMIX = 80,

200 EM_HUANY = 81,

202 EM_AVR = 83,

211 EM_OPENRISC = 92,

212 EM_ARC_COMPACT = 93,

213

214 EM_XTENSA = 94,

216 EM_TMM_GPP = 96,

217 EM_NS32K = 97,

218 EM_TPC = 98,

219 EM_SNP1K = 99,

220 EM_ST200 = 100,

221 EM_IP2K = 101,

223 EM_CR = 103,

225 EM_MSP430 = 105,

226 EM_BLACKFIN = 106,

227 EM_SE_C33 = 107,

228 EM_SEP = 108,

229 EM_ARCA = 109,

230 EM_UNICORE = 110,

231

232 EM_EXCESS = 111,

233 EM_DXP = 112,

235 EM_CRX = 114,

236 EM_XGATE = 115,

237 EM_C166 = 116,

238 EM_M16C = 117,

239 EM_DSPIC30F = 118,

240

241 EM_CE = 119,

242 EM_M32C = 120,

244 EM_RS08 = 132,

245 EM_SHARC = 133,

246

247 EM_ECOG2 = 134,

248 EM_SCORE7 = 135,

249 EM_DSP24 = 136,

253 EM_TI_C6000 = 140,

254 EM_TI_C2000 = 141,

255 EM_TI_C5500 = 142,

256 EM_MMDSP_PLUS = 160,

258 EM_R32C = 162,

259 EM_TRIMEDIA = 163,

261 EM_8051 = 165,

262 EM_STXP7X = 166,

263

264 EM_NDS32 = 167,

265

266 EM_ECOG1 = 168,

267 EM_ECOG1X = 168,

268 EM_MAXQ30 = 169,

269 EM_XIMO16 = 170,

270 EM_MANIK = 171,

271 EM_CRAYNV2 = 172,

272 EM_RX = 173,

273 EM_METAG = 174,

274

275 EM_MCST_ELBRUS = 175,

276 EM_ECOG16 = 176,

277 EM_CR16 = 177,

278

279 EM_ETPU = 178,

280 EM_SLE9X = 179,

284 EM_AVR32 = 185,

285 EM_STM8 = 186,

286 EM_TILE64 = 187,

287 EM_TILEPRO = 188,

288 EM_MICROBLAZE = 189,

289 EM_CUDA = 190,

290 EM_TILEGX = 191,

292 EM_COREA_1ST = 193,

293 EM_COREA_2ND = 194,

295 EM_OPEN8 = 196,

296 EM_RL78 = 197,

299 EM_56800EX = 200,

300 EM_BA1 = 201,

301 EM_BA2 = 202,

302 EM_XCORE = 203,

309 EM_KM32 = 210,

310 EM_KMX32 = 211,

311 EM_KMX16 = 212,

312 EM_KMX8 = 213,

314 EM_CDP = 215,

315 EM_COGE = 216,

317 EM_NORC = 218,

321 EM_LANAI = 244,

322 EM_BPF = 247,

323 EM_VE = 251,

324 EM_CSKY = 252,

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 {

602 ODK_PAD = 3,

605 ODK_TAGS = 6,

606 ODK_HWAND = 7,

607 ODK_HWOR = 8,

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 {

1083 SHN_UNDEF = 0,

1085 SHN_LOPROC = 0xff00,

1086 SHN_HIPROC = 0xff1f,

1087 SHN_LOOS = 0xff20,

1088 SHN_HIOS = 0xff3f,

1089 SHN_ABS = 0xfff1,

1090 SHN_COMMON = 0xfff2,

1091 SHN_XINDEX = 0xffff,

1092 SHN_HIRESERVE = 0xffff

1094

1095

1096enum : unsigned {

1097 SHT_NULL = 0,

1101 SHT_RELA = 4,

1104 SHT_NOTE = 7,

1105 SHT_NOBITS = 8,

1106 SHT_REL = 9,

1114

1115

1116 SHT_RELR = 19,

1117

1118

1120 SHT_LOOS = 0x60000000,

1121

1122

1128

1130 0x6fff4c04,

1135 0x6fff4c08,

1136

1142

1143

1150 SHT_HIOS = 0x6fffffff,

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

1308 unsigned char st_info;

1309 unsigned char st_other;

1311

1312

1313

1319 st_info = (b << 4) + (t & 0x0f);

1320 }

1321};

1322

1323

1326 unsigned char st_info;

1327 unsigned char st_other;

1331

1332

1333

1339 st_info = (b << 4) + (t & 0x0f);

1340 }

1341};

1342

1343

1344enum {

1348

1349

1350enum {

1351 STB_LOCAL = 0,

1352 STB_GLOBAL = 1,

1353 STB_WEAK = 2,

1355 STB_LOOS = 10,

1356 STB_HIOS = 12,

1357 STB_LOPROC = 13,

1358 STB_HIPROC = 15

1360

1361

1362enum {

1364 STT_OBJECT = 1,

1365 STT_FUNC = 2,

1367 STT_FILE = 4,

1369 STT_TLS = 6,

1371 STT_LOOS = 10,

1372 STT_HIOS = 12,

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 {

1394 RSS_GP0 = 2,

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 {

1510 PT_PHDR = 6,

1511 PT_TLS = 7,

1512 PT_LOOS = 0x60000000,

1513 PT_HIOS = 0x6fffffff,

1514 PT_LOPROC = 0x70000000,

1515 PT_HIPROC = 0x7fffffff,

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 {

1557 PF_MASKOS = 0x0ff00000,

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 {

1588 DF_ORIGIN = 0x01,

1589 DF_SYMBOLIC = 0x02,

1590 DF_TEXTREL = 0x04,

1592 DF_STATIC_TLS = 0x10

1594

1595

1596enum {

1597 DF_1_NOW = 0x00000001,

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,

1623 DF_1_PIE = 0x08000000,

1624};

1625

1626

1627enum {

1630 RHF_NOTPOT = 0x00000002,

1632 RHF_NO_MOVE = 0x00000008,

1635

1636

1639

1640

1645 RHF_CORD = 0x00001000,

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