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

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

1306 unsigned char st_info;

1307 unsigned char st_other;

1309

1310

1311

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

1318 }

1319};

1320

1321

1324 unsigned char st_info;

1325 unsigned char st_other;

1329

1330

1331

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

1338 }

1339};

1340

1341

1342enum {

1346

1347

1348enum {

1349 STB_LOCAL = 0,

1350 STB_GLOBAL = 1,

1351 STB_WEAK = 2,

1353 STB_LOOS = 10,

1354 STB_HIOS = 12,

1355 STB_LOPROC = 13,

1356 STB_HIPROC = 15

1358

1359

1360enum {

1362 STT_OBJECT = 1,

1363 STT_FUNC = 2,

1365 STT_FILE = 4,

1367 STT_TLS = 6,

1369 STT_LOOS = 10,

1370 STT_HIOS = 12,

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 {

1392 RSS_GP0 = 2,

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 {

1508 PT_PHDR = 6,

1509 PT_TLS = 7,

1510 PT_LOOS = 0x60000000,

1511 PT_HIOS = 0x6fffffff,

1512 PT_LOPROC = 0x70000000,

1513 PT_HIPROC = 0x7fffffff,

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 {

1555 PF_MASKOS = 0x0ff00000,

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 {

1586 DF_ORIGIN = 0x01,

1587 DF_SYMBOLIC = 0x02,

1588 DF_TEXTREL = 0x04,

1590 DF_STATIC_TLS = 0x10

1592

1593

1594enum {

1595 DF_1_NOW = 0x00000001,

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,

1621 DF_1_PIE = 0x08000000,

1622};

1623

1624

1625enum {

1628 RHF_NOTPOT = 0x00000002,

1630 RHF_NO_MOVE = 0x00000008,

1633

1634

1637

1638

1643 RHF_CORD = 0x00001000,

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