LLVM: lib/ObjectYAML/COFFYAML.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

16#include

17#include

18

19#define ECase(X) IO.enumCase(Value, #X, COFF::X);

20

21namespace llvm {

22

23namespace COFFYAML {

24

28

29}

30

31namespace yaml {

32

34 IO &IO, COFFYAML::COMDATType &Value) {

36 ECase(IMAGE_COMDAT_SELECT_NODUPLICATES);

37 ECase(IMAGE_COMDAT_SELECT_ANY);

38 ECase(IMAGE_COMDAT_SELECT_SAME_SIZE);

39 ECase(IMAGE_COMDAT_SELECT_EXACT_MATCH);

40 ECase(IMAGE_COMDAT_SELECT_ASSOCIATIVE);

41 ECase(IMAGE_COMDAT_SELECT_LARGEST);

42 ECase(IMAGE_COMDAT_SELECT_NEWEST);

43}

44

45void

47 IO &IO, COFFYAML::WeakExternalCharacteristics &Value) {

49 ECase(IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY);

50 ECase(IMAGE_WEAK_EXTERN_SEARCH_LIBRARY);

51 ECase(IMAGE_WEAK_EXTERN_SEARCH_ALIAS);

52 ECase(IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY);

53}

54

56 IO &IO, COFFYAML::AuxSymbolType &Value) {

57 ECase(IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF);

58}

59

62 ECase(IMAGE_FILE_MACHINE_UNKNOWN);

63 ECase(IMAGE_FILE_MACHINE_AM33);

64 ECase(IMAGE_FILE_MACHINE_AMD64);

65 ECase(IMAGE_FILE_MACHINE_ARM);

66 ECase(IMAGE_FILE_MACHINE_ARMNT);

67 ECase(IMAGE_FILE_MACHINE_ARM64);

68 ECase(IMAGE_FILE_MACHINE_ARM64EC);

69 ECase(IMAGE_FILE_MACHINE_ARM64X);

70 ECase(IMAGE_FILE_MACHINE_EBC);

71 ECase(IMAGE_FILE_MACHINE_I386);

72 ECase(IMAGE_FILE_MACHINE_IA64);

73 ECase(IMAGE_FILE_MACHINE_M32R);

74 ECase(IMAGE_FILE_MACHINE_MIPS16);

75 ECase(IMAGE_FILE_MACHINE_MIPSFPU);

76 ECase(IMAGE_FILE_MACHINE_MIPSFPU16);

77 ECase(IMAGE_FILE_MACHINE_POWERPC);

78 ECase(IMAGE_FILE_MACHINE_POWERPCFP);

79 ECase(IMAGE_FILE_MACHINE_R4000);

80 ECase(IMAGE_FILE_MACHINE_RISCV32);

81 ECase(IMAGE_FILE_MACHINE_RISCV64);

82 ECase(IMAGE_FILE_MACHINE_RISCV128);

83 ECase(IMAGE_FILE_MACHINE_SH3);

84 ECase(IMAGE_FILE_MACHINE_SH3DSP);

85 ECase(IMAGE_FILE_MACHINE_SH4);

86 ECase(IMAGE_FILE_MACHINE_SH5);

87 ECase(IMAGE_FILE_MACHINE_THUMB);

88 ECase(IMAGE_FILE_MACHINE_WCEMIPSV2);

89}

90

93 ECase(IMAGE_SYM_TYPE_NULL);

94 ECase(IMAGE_SYM_TYPE_VOID);

95 ECase(IMAGE_SYM_TYPE_CHAR);

96 ECase(IMAGE_SYM_TYPE_SHORT);

97 ECase(IMAGE_SYM_TYPE_INT);

98 ECase(IMAGE_SYM_TYPE_LONG);

99 ECase(IMAGE_SYM_TYPE_FLOAT);

100 ECase(IMAGE_SYM_TYPE_DOUBLE);

101 ECase(IMAGE_SYM_TYPE_STRUCT);

102 ECase(IMAGE_SYM_TYPE_UNION);

103 ECase(IMAGE_SYM_TYPE_ENUM);

104 ECase(IMAGE_SYM_TYPE_MOE);

105 ECase(IMAGE_SYM_TYPE_BYTE);

106 ECase(IMAGE_SYM_TYPE_WORD);

107 ECase(IMAGE_SYM_TYPE_UINT);

108 ECase(IMAGE_SYM_TYPE_DWORD);

109}

110

113 ECase(IMAGE_SYM_CLASS_END_OF_FUNCTION);

114 ECase(IMAGE_SYM_CLASS_NULL);

115 ECase(IMAGE_SYM_CLASS_AUTOMATIC);

116 ECase(IMAGE_SYM_CLASS_EXTERNAL);

117 ECase(IMAGE_SYM_CLASS_STATIC);

118 ECase(IMAGE_SYM_CLASS_REGISTER);

119 ECase(IMAGE_SYM_CLASS_EXTERNAL_DEF);

120 ECase(IMAGE_SYM_CLASS_LABEL);

121 ECase(IMAGE_SYM_CLASS_UNDEFINED_LABEL);

122 ECase(IMAGE_SYM_CLASS_MEMBER_OF_STRUCT);

123 ECase(IMAGE_SYM_CLASS_ARGUMENT);

124 ECase(IMAGE_SYM_CLASS_STRUCT_TAG);

125 ECase(IMAGE_SYM_CLASS_MEMBER_OF_UNION);

126 ECase(IMAGE_SYM_CLASS_UNION_TAG);

127 ECase(IMAGE_SYM_CLASS_TYPE_DEFINITION);

128 ECase(IMAGE_SYM_CLASS_UNDEFINED_STATIC);

129 ECase(IMAGE_SYM_CLASS_ENUM_TAG);

130 ECase(IMAGE_SYM_CLASS_MEMBER_OF_ENUM);

131 ECase(IMAGE_SYM_CLASS_REGISTER_PARAM);

132 ECase(IMAGE_SYM_CLASS_BIT_FIELD);

133 ECase(IMAGE_SYM_CLASS_BLOCK);

134 ECase(IMAGE_SYM_CLASS_FUNCTION);

135 ECase(IMAGE_SYM_CLASS_END_OF_STRUCT);

136 ECase(IMAGE_SYM_CLASS_FILE);

137 ECase(IMAGE_SYM_CLASS_SECTION);

138 ECase(IMAGE_SYM_CLASS_WEAK_EXTERNAL);

139 ECase(IMAGE_SYM_CLASS_CLR_TOKEN);

140}

141

144 ECase(IMAGE_SYM_DTYPE_NULL);

145 ECase(IMAGE_SYM_DTYPE_POINTER);

146 ECase(IMAGE_SYM_DTYPE_FUNCTION);

147 ECase(IMAGE_SYM_DTYPE_ARRAY);

148}

149

152 ECase(IMAGE_REL_I386_ABSOLUTE);

153 ECase(IMAGE_REL_I386_DIR16);

154 ECase(IMAGE_REL_I386_REL16);

155 ECase(IMAGE_REL_I386_DIR32);

156 ECase(IMAGE_REL_I386_DIR32NB);

157 ECase(IMAGE_REL_I386_SEG12);

158 ECase(IMAGE_REL_I386_SECTION);

159 ECase(IMAGE_REL_I386_SECREL);

160 ECase(IMAGE_REL_I386_TOKEN);

161 ECase(IMAGE_REL_I386_SECREL7);

162 ECase(IMAGE_REL_I386_REL32);

163}

164

167 ECase(IMAGE_REL_AMD64_ABSOLUTE);

168 ECase(IMAGE_REL_AMD64_ADDR64);

169 ECase(IMAGE_REL_AMD64_ADDR32);

170 ECase(IMAGE_REL_AMD64_ADDR32NB);

171 ECase(IMAGE_REL_AMD64_REL32);

172 ECase(IMAGE_REL_AMD64_REL32_1);

173 ECase(IMAGE_REL_AMD64_REL32_2);

174 ECase(IMAGE_REL_AMD64_REL32_3);

175 ECase(IMAGE_REL_AMD64_REL32_4);

176 ECase(IMAGE_REL_AMD64_REL32_5);

177 ECase(IMAGE_REL_AMD64_SECTION);

178 ECase(IMAGE_REL_AMD64_SECREL);

179 ECase(IMAGE_REL_AMD64_SECREL7);

180 ECase(IMAGE_REL_AMD64_TOKEN);

181 ECase(IMAGE_REL_AMD64_SREL32);

182 ECase(IMAGE_REL_AMD64_PAIR);

183 ECase(IMAGE_REL_AMD64_SSPAN32);

184}

185

188 ECase(IMAGE_REL_MIPS_ABSOLUTE);

189 ECase(IMAGE_REL_MIPS_REFHALF);

190 ECase(IMAGE_REL_MIPS_REFWORD);

191 ECase(IMAGE_REL_MIPS_JMPADDR);

192 ECase(IMAGE_REL_MIPS_REFHI);

193 ECase(IMAGE_REL_MIPS_REFLO);

194 ECase(IMAGE_REL_MIPS_GPREL);

195 ECase(IMAGE_REL_MIPS_LITERAL);

196 ECase(IMAGE_REL_MIPS_SECTION);

197 ECase(IMAGE_REL_MIPS_SECREL);

198 ECase(IMAGE_REL_MIPS_SECRELLO);

199 ECase(IMAGE_REL_MIPS_SECRELHI);

200 ECase(IMAGE_REL_MIPS_JMPADDR16);

201 ECase(IMAGE_REL_MIPS_REFWORDNB);

202 ECase(IMAGE_REL_MIPS_PAIR);

203}

204

207 ECase(IMAGE_REL_ARM_ABSOLUTE);

208 ECase(IMAGE_REL_ARM_ADDR32);

209 ECase(IMAGE_REL_ARM_ADDR32NB);

210 ECase(IMAGE_REL_ARM_BRANCH24);

211 ECase(IMAGE_REL_ARM_BRANCH11);

212 ECase(IMAGE_REL_ARM_TOKEN);

213 ECase(IMAGE_REL_ARM_BLX24);

214 ECase(IMAGE_REL_ARM_BLX11);

215 ECase(IMAGE_REL_ARM_REL32);

216 ECase(IMAGE_REL_ARM_SECTION);

217 ECase(IMAGE_REL_ARM_SECREL);

218 ECase(IMAGE_REL_ARM_MOV32A);

219 ECase(IMAGE_REL_ARM_MOV32T);

220 ECase(IMAGE_REL_ARM_BRANCH20T);

221 ECase(IMAGE_REL_ARM_BRANCH24T);

222 ECase(IMAGE_REL_ARM_BLX23T);

223 ECase(IMAGE_REL_ARM_PAIR);

224}

225

228 ECase(IMAGE_REL_ARM64_ABSOLUTE);

229 ECase(IMAGE_REL_ARM64_ADDR32);

230 ECase(IMAGE_REL_ARM64_ADDR32NB);

231 ECase(IMAGE_REL_ARM64_BRANCH26);

232 ECase(IMAGE_REL_ARM64_PAGEBASE_REL21);

233 ECase(IMAGE_REL_ARM64_REL21);

234 ECase(IMAGE_REL_ARM64_PAGEOFFSET_12A);

235 ECase(IMAGE_REL_ARM64_PAGEOFFSET_12L);

236 ECase(IMAGE_REL_ARM64_SECREL);

237 ECase(IMAGE_REL_ARM64_SECREL_LOW12A);

238 ECase(IMAGE_REL_ARM64_SECREL_HIGH12A);

239 ECase(IMAGE_REL_ARM64_SECREL_LOW12L);

240 ECase(IMAGE_REL_ARM64_TOKEN);

241 ECase(IMAGE_REL_ARM64_SECTION);

242 ECase(IMAGE_REL_ARM64_ADDR64);

243 ECase(IMAGE_REL_ARM64_BRANCH19);

244 ECase(IMAGE_REL_ARM64_BRANCH14);

245 ECase(IMAGE_REL_ARM64_REL32);

246}

247

250 ECase(IMAGE_SUBSYSTEM_UNKNOWN);

251 ECase(IMAGE_SUBSYSTEM_NATIVE);

252 ECase(IMAGE_SUBSYSTEM_WINDOWS_GUI);

253 ECase(IMAGE_SUBSYSTEM_WINDOWS_CUI);

254 ECase(IMAGE_SUBSYSTEM_OS2_CUI);

255 ECase(IMAGE_SUBSYSTEM_POSIX_CUI);

256 ECase(IMAGE_SUBSYSTEM_NATIVE_WINDOWS);

257 ECase(IMAGE_SUBSYSTEM_WINDOWS_CE_GUI);

258 ECase(IMAGE_SUBSYSTEM_EFI_APPLICATION);

259 ECase(IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER);

260 ECase(IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER);

261 ECase(IMAGE_SUBSYSTEM_EFI_ROM);

262 ECase(IMAGE_SUBSYSTEM_XBOX);

263 ECase(IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION);

264}

265#undef ECase

266

267#define BCase(X) IO.bitSetCase(Value, #X, COFF::X);

270 BCase(IMAGE_FILE_RELOCS_STRIPPED);

271 BCase(IMAGE_FILE_EXECUTABLE_IMAGE);

272 BCase(IMAGE_FILE_LINE_NUMS_STRIPPED);

273 BCase(IMAGE_FILE_LOCAL_SYMS_STRIPPED);

274 BCase(IMAGE_FILE_AGGRESSIVE_WS_TRIM);

275 BCase(IMAGE_FILE_LARGE_ADDRESS_AWARE);

276 BCase(IMAGE_FILE_BYTES_REVERSED_LO);

277 BCase(IMAGE_FILE_32BIT_MACHINE);

278 BCase(IMAGE_FILE_DEBUG_STRIPPED);

279 BCase(IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP);

280 BCase(IMAGE_FILE_NET_RUN_FROM_SWAP);

281 BCase(IMAGE_FILE_SYSTEM);

282 BCase(IMAGE_FILE_DLL);

283 BCase(IMAGE_FILE_UP_SYSTEM_ONLY);

284 BCase(IMAGE_FILE_BYTES_REVERSED_HI);

285}

286

289 BCase(IMAGE_SCN_TYPE_NOLOAD);

290 BCase(IMAGE_SCN_TYPE_NO_PAD);

291 BCase(IMAGE_SCN_CNT_CODE);

292 BCase(IMAGE_SCN_CNT_INITIALIZED_DATA);

293 BCase(IMAGE_SCN_CNT_UNINITIALIZED_DATA);

294 BCase(IMAGE_SCN_LNK_OTHER);

295 BCase(IMAGE_SCN_LNK_INFO);

296 BCase(IMAGE_SCN_LNK_REMOVE);

297 BCase(IMAGE_SCN_LNK_COMDAT);

298 BCase(IMAGE_SCN_GPREL);

299 BCase(IMAGE_SCN_MEM_PURGEABLE);

300 BCase(IMAGE_SCN_MEM_16BIT);

301 BCase(IMAGE_SCN_MEM_LOCKED);

302 BCase(IMAGE_SCN_MEM_PRELOAD);

303 BCase(IMAGE_SCN_LNK_NRELOC_OVFL);

304 BCase(IMAGE_SCN_MEM_DISCARDABLE);

305 BCase(IMAGE_SCN_MEM_NOT_CACHED);

306 BCase(IMAGE_SCN_MEM_NOT_PAGED);

307 BCase(IMAGE_SCN_MEM_SHARED);

308 BCase(IMAGE_SCN_MEM_EXECUTE);

309 BCase(IMAGE_SCN_MEM_READ);

310 BCase(IMAGE_SCN_MEM_WRITE);

311}

312

315 BCase(IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA);

316 BCase(IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE);

317 BCase(IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY);

318 BCase(IMAGE_DLL_CHARACTERISTICS_NX_COMPAT);

319 BCase(IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION);

320 BCase(IMAGE_DLL_CHARACTERISTICS_NO_SEH);

321 BCase(IMAGE_DLL_CHARACTERISTICS_NO_BIND);

322 BCase(IMAGE_DLL_CHARACTERISTICS_APPCONTAINER);

323 BCase(IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER);

324 BCase(IMAGE_DLL_CHARACTERISTICS_GUARD_CF);

325 BCase(IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE);

326}

327#undef BCase

328

329namespace {

330

331struct NSectionSelectionType {

332 NSectionSelectionType(IO &)

333 : SelectionType(COFFYAML::COMDATType(0)) {}

334 NSectionSelectionType(IO &, uint8_t C)

335 : SelectionType(COFFYAML::COMDATType(C)) {}

336

337 uint8_t denormalize(IO &) { return SelectionType; }

338

339 COFFYAML::COMDATType SelectionType;

340};

341

342struct NWeakExternalCharacteristics {

343 NWeakExternalCharacteristics(IO &)

345 NWeakExternalCharacteristics(IO &, uint32_t C)

347

348 uint32_t denormalize(IO &) { return Characteristics; }

349

350 COFFYAML::WeakExternalCharacteristics Characteristics;

351};

352

353struct NSectionCharacteristics {

354 NSectionCharacteristics(IO &)

356 NSectionCharacteristics(IO &, uint32_t C)

358

359 uint32_t denormalize(IO &) { return Characteristics; }

360

362};

363

364struct NAuxTokenType {

365 NAuxTokenType(IO &)

367 NAuxTokenType(IO &, uint8_t C)

369

370 uint32_t denormalize(IO &) { return AuxType; }

371

372 COFFYAML::AuxSymbolType AuxType;

373};

374

375struct NStorageClass {

378

379 uint8_t denormalize(IO &) { return StorageClass; }

380

382};

383

384struct NMachine {

387

388 uint16_t denormalize(IO &) { return Machine; }

389

391};

392

393struct NHeaderCharacteristics {

394 NHeaderCharacteristics(IO &) : Characteristics(COFF::Characteristics(0)) {}

395 NHeaderCharacteristics(IO &, uint16_t C)

396 : Characteristics(COFF::Characteristics(C)) {}

397

398 uint16_t denormalize(IO &) { return Characteristics; }

399

401};

402

403template

404struct NType {

405 NType(IO &) : Type(RelocType(0)) {}

406 NType(IO &, uint16_t T) : Type(RelocType(T)) {}

407

408 uint16_t denormalize(IO &) { return Type; }

409

410 RelocType Type;

411};

412

413struct NWindowsSubsystem {

416

417 uint16_t denormalize(IO &) { return Subsystem; }

418

420};

421

422struct NDLLCharacteristics {

424 NDLLCharacteristics(IO &, uint16_t C)

426

427 uint16_t denormalize(IO &) { return Characteristics; }

428

430};

431

432}

433

439

461 } else {

463 }

464}

465

471

478

492 IO.mapOptional("DLLCharacteristics", NDC->Characteristics);

497

519}

520

524 H.Characteristics);

525

529}

530

538

544

550 IO.mapRequired("Characteristics", NWEC->Characteristics);

551}

552

557

563 IO.mapOptional("Selection", NSST->SelectionType, COFFYAML::COMDATType(0));

564}

565

572

579

580template <typename T, typename M>

582

584 reinterpret_cast<char *>(&Member) - reinterpret_cast<char *>(&LoadConfig);

585 if (dist < (ptrdiff_t)LoadConfig.Size)

587}

588

592

593 if (LoadConfig.Size < sizeof(LoadConfig.Size)) {

594 IO.setError("Size must be at least " + Twine(sizeof(LoadConfig.Size)));

595 return;

596 }

597

598#define MCase(X) mapLoadConfigMember(IO, LoadConfig, #X, LoadConfig.X)

599 MCase(TimeDateStamp);

600 MCase(MajorVersion);

601 MCase(MinorVersion);

602 MCase(GlobalFlagsClear);

603 MCase(GlobalFlagsSet);

604 MCase(CriticalSectionDefaultTimeout);

605 MCase(DeCommitFreeBlockThreshold);

606 MCase(DeCommitTotalFreeThreshold);

607 MCase(LockPrefixTable);

608 MCase(MaximumAllocationSize);

609 MCase(VirtualMemoryThreshold);

610 MCase(ProcessAffinityMask);

611 MCase(ProcessHeapFlags);

612 MCase(CSDVersion);

613 MCase(DependentLoadFlags);

615 MCase(SecurityCookie);

616 MCase(SEHandlerTable);

617 MCase(SEHandlerCount);

618 MCase(GuardCFCheckFunction);

619 MCase(GuardCFCheckDispatch);

620 MCase(GuardCFFunctionTable);

621 MCase(GuardCFFunctionCount);

622 MCase(GuardFlags);

623 MCase(CodeIntegrity);

624 MCase(GuardAddressTakenIatEntryTable);

625 MCase(GuardAddressTakenIatEntryCount);

626 MCase(GuardLongJumpTargetTable);

627 MCase(GuardLongJumpTargetCount);

628 MCase(DynamicValueRelocTable);

629 MCase(CHPEMetadataPointer);

630 MCase(GuardRFFailureRoutine);

631 MCase(GuardRFFailureRoutineFunctionPointer);

632 MCase(DynamicValueRelocTableOffset);

633 MCase(DynamicValueRelocTableSection);

634 MCase(GuardRFVerifyStackPointerFunctionPointer);

635 MCase(HotPatchTableOffset);

636 MCase(EnclaveConfigurationPointer);

637 MCase(VolatileMetadataPointer);

638 MCase(GuardEHContinuationTable);

639 MCase(GuardEHContinuationCount);

640 MCase(GuardXFGCheckFunctionPointer);

641 MCase(GuardXFGDispatchFunctionPointer);

642 MCase(GuardXFGTableDispatchFunctionPointer);

643 MCase(CastGuardOsDeterminedFailureMode);

644#undef MCase

645}

646

651

656

668

685

694

695

696

697

699 if (Sec.Name == ".debug$S")

701 else if (Sec.Name == ".debug$T")

703 else if (Sec.Name == ".debug$P")

705 else if (Sec.Name == ".debug$H")

707

709

711 IO.setError("StructuredData and SectionData can't be used together");

712 return;

713 }

714

716

718 IO.setError("StructuredData and SizeOfRawData can't be used together");

719 return;

720 }

721

723}

724

732

733}

734

735}

static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")

#define BCase(X)

Definition COFFYAML.cpp:267

StringRef - Represent a constant reference to a string, i.e.

Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...

LLVM Value Representation.

ArrayRef< uint8_t >::size_type binary_size() const

The number of bytes that are represented by this BinaryRef.

virtual bool mapTag(StringRef Tag, bool Default=false)=0

void enumCase(T &Val, StringRef Str, const T ConstVal)

void mapOptional(StringRef Key, T &Val)

virtual void setError(const Twine &)=0

void * getContext() const

void mapRequired(StringRef Key, T &Val)

@ IMAGE_FILE_MACHINE_AMD64

@ IMAGE_FILE_MACHINE_R4000

@ IMAGE_FILE_MACHINE_I386

@ IMAGE_FILE_MACHINE_ARMNT

bool isAnyArm64(T Machine)

@ DELAY_IMPORT_DESCRIPTOR

SymbolStorageClass

Storage class tells where and what the symbol represents.

WeakExternalCharacteristics

@ C

The default llvm calling convention, compatible with C.

detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t

void mapLoadConfigMember(IO &IO, T &LoadConfig, const char *Name, M &Member)

Definition COFFYAML.cpp:581

void mapLoadConfig(IO &IO, T &LoadConfig)

Definition COFFYAML.cpp:589

This is an optimization pass for GlobalISel generic memory operations.

Object()

Definition COFFYAML.cpp:27

std::optional< uint32_t > SymbolTableIndex

std::vector< CodeViewYAML::YAMLDebugSubsection > DebugS

std::vector< SectionDataEntry > StructuredData

std::vector< CodeViewYAML::LeafRecord > DebugT

Section()

Definition COFFYAML.cpp:25

yaml::BinaryRef SectionData

std::optional< CodeViewYAML::DebugHSection > DebugH

std::vector< CodeViewYAML::LeafRecord > DebugP

std::vector< Relocation > Relocations

std::optional< COFF::AuxiliaryWeakExternal > WeakExternal

Symbol()

Definition COFFYAML.cpp:26

std::optional< COFF::AuxiliarybfAndefSymbol > bfAndefSymbol

COFF::SymbolComplexType ComplexType

std::optional< COFF::AuxiliarySectionDefinition > SectionDefinition

std::optional< COFF::AuxiliaryFunctionDefinition > FunctionDefinition

COFF::SymbolBaseType SimpleType

std::optional< COFF::AuxiliaryCLRToken > CLRToken

uint32_t SymbolTableIndex

uint32_t PointerToNextFunction

uint32_t PointerToLinenumber

uint16_t NumberOfRelocations

uint16_t NumberOfLinenumbers

uint32_t PointerToNextFunction

uint32_t RelativeVirtualAddress

support::ulittle16_t Flags

support::ulittle16_t Catalog

support::ulittle32_t CatalogOffset

32-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY32)

64-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY64)

This class should be specialized by any type that needs to be converted to/from a YAML mapping.

This class should be specialized by any integer type that is a union of bit values and the YAML repre...

This class should be specialized by any integral type that converts to/from a YAML scalar where there...