LLVM  15.0.0git
COFFYAML.cpp
Go to the documentation of this file.
1 //===- COFFYAML.cpp - COFF YAMLIO implementation --------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file defines classes for handling the YAML representation of COFF.
10 //
11 //===----------------------------------------------------------------------===//
12 
14 #include "llvm/ADT/StringRef.h"
16 #include <cstdint>
17 #include <cstring>
18 
19 #define ECase(X) IO.enumCase(Value, #X, COFF::X);
20 
21 namespace llvm {
22 
23 namespace COFFYAML {
24 
25 Section::Section() { memset(&Header, 0, sizeof(COFF::section)); }
26 Symbol::Symbol() { memset(&Header, 0, sizeof(COFF::symbol)); }
27 Object::Object() { memset(&Header, 0, sizeof(COFF::header)); }
28 
29 } // end namespace COFFYAML
30 
31 namespace yaml {
32 
34  IO &IO, COFFYAML::COMDATType &Value) {
35  IO.enumCase(Value, "0", 0);
43 }
44 
45 void
48  IO.enumCase(Value, "0", 0);
53 }
54 
56  IO &IO, COFFYAML::AuxSymbolType &Value) {
58 }
59 
61  IO &IO, COFF::MachineTypes &Value) {
87 }
88 
90  IO &IO, COFF::SymbolBaseType &Value) {
107 }
108 
110  IO &IO, COFF::SymbolStorageClass &Value) {
138 }
139 
141  IO &IO, COFF::SymbolComplexType &Value) {
146 }
147 
149  IO &IO, COFF::RelocationTypeI386 &Value) {
161 }
162 
164  IO &IO, COFF::RelocationTypeAMD64 &Value) {
182 }
183 
185  IO &IO, COFF::RelocationTypesARM &Value) {
203 }
204 
225 }
226 
228  IO &IO, COFF::WindowsSubsystem &Value) {
243 }
244 #undef ECase
245 
246 #define BCase(X) IO.bitSetCase(Value, #X, COFF::X);
248  IO &IO, COFF::Characteristics &Value) {
264 }
265 
290 }
291 
293  IO &IO, COFF::DLLCharacteristics &Value) {
305 }
306 #undef BCase
307 
308 namespace {
309 
310 struct NSectionSelectionType {
311  NSectionSelectionType(IO &)
312  : SelectionType(COFFYAML::COMDATType(0)) {}
313  NSectionSelectionType(IO &, uint8_t C)
314  : SelectionType(COFFYAML::COMDATType(C)) {}
315 
316  uint8_t denormalize(IO &) { return SelectionType; }
317 
319 };
320 
321 struct NWeakExternalCharacteristics {
322  NWeakExternalCharacteristics(IO &)
324  NWeakExternalCharacteristics(IO &, uint32_t C)
326 
327  uint32_t denormalize(IO &) { return Characteristics; }
328 
330 };
331 
332 struct NSectionCharacteristics {
333  NSectionCharacteristics(IO &)
335  NSectionCharacteristics(IO &, uint32_t C)
337 
338  uint32_t denormalize(IO &) { return Characteristics; }
339 
341 };
342 
343 struct NAuxTokenType {
344  NAuxTokenType(IO &)
345  : AuxType(COFFYAML::AuxSymbolType(0)) {}
346  NAuxTokenType(IO &, uint8_t C)
347  : AuxType(COFFYAML::AuxSymbolType(C)) {}
348 
349  uint32_t denormalize(IO &) { return AuxType; }
350 
352 };
353 
354 struct NStorageClass {
355  NStorageClass(IO &) : StorageClass(COFF::SymbolStorageClass(0)) {}
356  NStorageClass(IO &, uint8_t S) : StorageClass(COFF::SymbolStorageClass(S)) {}
357 
358  uint8_t denormalize(IO &) { return StorageClass; }
359 
361 };
362 
363 struct NMachine {
364  NMachine(IO &) : Machine(COFF::MachineTypes(0)) {}
365  NMachine(IO &, uint16_t M) : Machine(COFF::MachineTypes(M)) {}
366 
367  uint16_t denormalize(IO &) { return Machine; }
368 
370 };
371 
372 struct NHeaderCharacteristics {
373  NHeaderCharacteristics(IO &) : Characteristics(COFF::Characteristics(0)) {}
374  NHeaderCharacteristics(IO &, uint16_t C)
375  : Characteristics(COFF::Characteristics(C)) {}
376 
377  uint16_t denormalize(IO &) { return Characteristics; }
378 
380 };
381 
382 template <typename RelocType>
383 struct NType {
384  NType(IO &) : Type(RelocType(0)) {}
385  NType(IO &, uint16_t T) : Type(RelocType(T)) {}
386 
387  uint16_t denormalize(IO &) { return Type; }
388 
389  RelocType Type;
390 };
391 
392 struct NWindowsSubsystem {
393  NWindowsSubsystem(IO &) : Subsystem(COFF::WindowsSubsystem(0)) {}
394  NWindowsSubsystem(IO &, uint16_t C) : Subsystem(COFF::WindowsSubsystem(C)) {}
395 
396  uint16_t denormalize(IO &) { return Subsystem; }
397 
399 };
400 
401 struct NDLLCharacteristics {
402  NDLLCharacteristics(IO &) : Characteristics(COFF::DLLCharacteristics(0)) {}
403  NDLLCharacteristics(IO &, uint16_t C)
405 
406  uint16_t denormalize(IO &) { return Characteristics; }
407 
409 };
410 
411 } // end anonymous namespace
412 
414  COFFYAML::Relocation &Rel) {
415  IO.mapRequired("VirtualAddress", Rel.VirtualAddress);
416  IO.mapOptional("SymbolName", Rel.SymbolName, StringRef());
417  IO.mapOptional("SymbolTableIndex", Rel.SymbolTableIndex);
418 
419  COFF::header &H = *static_cast<COFF::header *>(IO.getContext());
420  if (H.Machine == COFF::IMAGE_FILE_MACHINE_I386) {
421  MappingNormalization<NType<COFF::RelocationTypeI386>, uint16_t> NT(
422  IO, Rel.Type);
423  IO.mapRequired("Type", NT->Type);
424  } else if (H.Machine == COFF::IMAGE_FILE_MACHINE_AMD64) {
425  MappingNormalization<NType<COFF::RelocationTypeAMD64>, uint16_t> NT(
426  IO, Rel.Type);
427  IO.mapRequired("Type", NT->Type);
428  } else if (H.Machine == COFF::IMAGE_FILE_MACHINE_ARMNT) {
429  MappingNormalization<NType<COFF::RelocationTypesARM>, uint16_t> NT(
430  IO, Rel.Type);
431  IO.mapRequired("Type", NT->Type);
432  } else if (H.Machine == COFF::IMAGE_FILE_MACHINE_ARM64) {
433  MappingNormalization<NType<COFF::RelocationTypesARM64>, uint16_t> NT(
434  IO, Rel.Type);
435  IO.mapRequired("Type", NT->Type);
436  } else {
437  IO.mapRequired("Type", Rel.Type);
438  }
439 }
440 
442  COFF::DataDirectory &DD) {
443  IO.mapRequired("RelativeVirtualAddress", DD.RelativeVirtualAddress);
444  IO.mapRequired("Size", DD.Size);
445 }
446 
448  COFFYAML::PEHeader &PH) {
449  MappingNormalization<NWindowsSubsystem, uint16_t> NWS(IO,
450  PH.Header.Subsystem);
451  MappingNormalization<NDLLCharacteristics, uint16_t> NDC(
452  IO, PH.Header.DLLCharacteristics);
453 
454  IO.mapOptional("AddressOfEntryPoint", PH.Header.AddressOfEntryPoint);
455  IO.mapOptional("ImageBase", PH.Header.ImageBase);
456  IO.mapOptional("SectionAlignment", PH.Header.SectionAlignment, 1);
457  IO.mapOptional("FileAlignment", PH.Header.FileAlignment, 1);
458  IO.mapOptional("MajorOperatingSystemVersion",
460  IO.mapOptional("MinorOperatingSystemVersion",
462  IO.mapOptional("MajorImageVersion", PH.Header.MajorImageVersion);
463  IO.mapOptional("MinorImageVersion", PH.Header.MinorImageVersion);
464  IO.mapOptional("MajorSubsystemVersion", PH.Header.MajorSubsystemVersion);
465  IO.mapOptional("MinorSubsystemVersion", PH.Header.MinorSubsystemVersion);
466  IO.mapOptional("Subsystem", NWS->Subsystem);
467  IO.mapOptional("DLLCharacteristics", NDC->Characteristics);
468  IO.mapOptional("SizeOfStackReserve", PH.Header.SizeOfStackReserve);
469  IO.mapOptional("SizeOfStackCommit", PH.Header.SizeOfStackCommit);
470  IO.mapOptional("SizeOfHeapReserve", PH.Header.SizeOfHeapReserve);
471  IO.mapOptional("SizeOfHeapCommit", PH.Header.SizeOfHeapCommit);
472 
473  IO.mapOptional("NumberOfRvaAndSize", PH.Header.NumberOfRvaAndSize,
475  IO.mapOptional("ExportTable", PH.DataDirectories[COFF::EXPORT_TABLE]);
476  IO.mapOptional("ImportTable", PH.DataDirectories[COFF::IMPORT_TABLE]);
477  IO.mapOptional("ResourceTable", PH.DataDirectories[COFF::RESOURCE_TABLE]);
478  IO.mapOptional("ExceptionTable", PH.DataDirectories[COFF::EXCEPTION_TABLE]);
479  IO.mapOptional("CertificateTable", PH.DataDirectories[COFF::CERTIFICATE_TABLE]);
480  IO.mapOptional("BaseRelocationTable",
482  IO.mapOptional("Debug", PH.DataDirectories[COFF::DEBUG_DIRECTORY]);
483  IO.mapOptional("Architecture", PH.DataDirectories[COFF::ARCHITECTURE]);
484  IO.mapOptional("GlobalPtr", PH.DataDirectories[COFF::GLOBAL_PTR]);
485  IO.mapOptional("TlsTable", PH.DataDirectories[COFF::TLS_TABLE]);
486  IO.mapOptional("LoadConfigTable",
488  IO.mapOptional("BoundImport", PH.DataDirectories[COFF::BOUND_IMPORT]);
489  IO.mapOptional("IAT", PH.DataDirectories[COFF::IAT]);
490  IO.mapOptional("DelayImportDescriptor",
492  IO.mapOptional("ClrRuntimeHeader",
494 }
495 
497  MappingNormalization<NMachine, uint16_t> NM(IO, H.Machine);
498  MappingNormalization<NHeaderCharacteristics, uint16_t> NC(IO,
499  H.Characteristics);
500 
501  IO.mapRequired("Machine", NM->Machine);
502  IO.mapOptional("Characteristics", NC->Characteristics);
503  IO.setContext(static_cast<void *>(&H));
504 }
505 
507  IO &IO, COFF::AuxiliaryFunctionDefinition &AFD) {
508  IO.mapRequired("TagIndex", AFD.TagIndex);
509  IO.mapRequired("TotalSize", AFD.TotalSize);
510  IO.mapRequired("PointerToLinenumber", AFD.PointerToLinenumber);
511  IO.mapRequired("PointerToNextFunction", AFD.PointerToNextFunction);
512 }
513 
515  IO &IO, COFF::AuxiliarybfAndefSymbol &AAS) {
516  IO.mapRequired("Linenumber", AAS.Linenumber);
517  IO.mapRequired("PointerToNextFunction", AAS.PointerToNextFunction);
518 }
519 
521  IO &IO, COFF::AuxiliaryWeakExternal &AWE) {
522  MappingNormalization<NWeakExternalCharacteristics, uint32_t> NWEC(
523  IO, AWE.Characteristics);
524  IO.mapRequired("TagIndex", AWE.TagIndex);
525  IO.mapRequired("Characteristics", NWEC->Characteristics);
526 }
527 
529  IO &IO, COFF::AuxiliarySectionDefinition &ASD) {
530  MappingNormalization<NSectionSelectionType, uint8_t> NSST(
531  IO, ASD.Selection);
532 
533  IO.mapRequired("Length", ASD.Length);
534  IO.mapRequired("NumberOfRelocations", ASD.NumberOfRelocations);
535  IO.mapRequired("NumberOfLinenumbers", ASD.NumberOfLinenumbers);
536  IO.mapRequired("CheckSum", ASD.CheckSum);
537  IO.mapRequired("Number", ASD.Number);
538  IO.mapOptional("Selection", NSST->SelectionType, COFFYAML::COMDATType(0));
539 }
540 
542  IO &IO, COFF::AuxiliaryCLRToken &ACT) {
543  MappingNormalization<NAuxTokenType, uint8_t> NATT(IO, ACT.AuxType);
544  IO.mapRequired("AuxType", NATT->AuxType);
545  IO.mapRequired("SymbolTableIndex", ACT.SymbolTableIndex);
546 }
547 
549  MappingNormalization<NStorageClass, uint8_t> NS(IO, S.Header.StorageClass);
550 
551  IO.mapRequired("Name", S.Name);
552  IO.mapRequired("Value", S.Header.Value);
553  IO.mapRequired("SectionNumber", S.Header.SectionNumber);
554  IO.mapRequired("SimpleType", S.SimpleType);
555  IO.mapRequired("ComplexType", S.ComplexType);
556  IO.mapRequired("StorageClass", NS->StorageClass);
557  IO.mapOptional("FunctionDefinition", S.FunctionDefinition);
558  IO.mapOptional("bfAndefSymbol", S.bfAndefSymbol);
559  IO.mapOptional("WeakExternal", S.WeakExternal);
560  IO.mapOptional("File", S.File, StringRef());
561  IO.mapOptional("SectionDefinition", S.SectionDefinition);
562  IO.mapOptional("CLRToken", S.CLRToken);
563 }
564 
566  MappingNormalization<NSectionCharacteristics, uint32_t> NC(
567  IO, Sec.Header.Characteristics);
568  IO.mapRequired("Name", Sec.Name);
569  IO.mapRequired("Characteristics", NC->Characteristics);
570  IO.mapOptional("VirtualAddress", Sec.Header.VirtualAddress, 0U);
571  IO.mapOptional("VirtualSize", Sec.Header.VirtualSize, 0U);
572  IO.mapOptional("Alignment", Sec.Alignment, 0U);
573 
574  // If this is a .debug$S .debug$T .debug$P, or .debug$H section parse the
575  // semantic representation of the symbols/types. If it is any other kind
576  // of section, just deal in raw bytes.
577  IO.mapOptional("SectionData", Sec.SectionData);
578  if (Sec.Name == ".debug$S")
579  IO.mapOptional("Subsections", Sec.DebugS);
580  else if (Sec.Name == ".debug$T")
581  IO.mapOptional("Types", Sec.DebugT);
582  else if (Sec.Name == ".debug$P")
583  IO.mapOptional("PrecompTypes", Sec.DebugP);
584  else if (Sec.Name == ".debug$H")
585  IO.mapOptional("GlobalHashes", Sec.DebugH);
586 
587  // Uninitialized sections, such as .bss, typically have no data, but the size
588  // is carried in SizeOfRawData, even though PointerToRawData is zero.
589  if (Sec.SectionData.binary_size() == 0 &&
590  NC->Characteristics & COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA)
591  IO.mapOptional("SizeOfRawData", Sec.Header.SizeOfRawData);
592 
593  IO.mapOptional("Relocations", Sec.Relocations);
594 }
595 
597  IO.mapTag("!COFF", true);
598  IO.mapOptional("OptionalHeader", Obj.OptionalHeader);
599  IO.mapRequired("header", Obj.Header);
600  IO.mapRequired("sections", Obj.Sections);
601  IO.mapRequired("symbols", Obj.Symbols);
602 }
603 
604 } // end namespace yaml
605 
606 } // end namespace llvm
llvm::yaml::ScalarEnumerationTraits< COFFYAML::COMDATType >::enumeration
static void enumeration(IO &IO, COFFYAML::COMDATType &Value)
Definition: COFFYAML.cpp:33
llvm::COFF::IMAGE_FILE_MACHINE_SH3DSP
@ IMAGE_FILE_MACHINE_SH3DSP
Definition: COFF.h:115
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER
@ IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER
Image supports Control Flow Guard.
Definition: COFF.h:639
llvm::COFFYAML::PEHeader::Header
COFF::PE32Header Header
Definition: COFFYAML.h:99
llvm::COFF::IMAGE_FILE_MACHINE_MIPSFPU
@ IMAGE_FILE_MACHINE_MIPSFPU
Definition: COFF.h:106
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_NX_COMPAT
@ IMAGE_DLL_CHARACTERISTICS_NX_COMPAT
Definition: COFF.h:628
llvm::COFF::IMAGE_COMDAT_SELECT_EXACT_MATCH
@ IMAGE_COMDAT_SELECT_EXACT_MATCH
Definition: COFF.h:409
llvm::COFF::CERTIFICATE_TABLE
@ CERTIFICATE_TABLE
Definition: COFF.h:586
llvm::COFF::IMAGE_REL_I386_SECTION
@ IMAGE_REL_I386_SECTION
Definition: COFF.h:337
llvm::COFF::AuxiliarySectionDefinition::NumberOfLinenumbers
uint16_t NumberOfLinenumbers
Definition: COFF.h:448
llvm::COFF::IMAGE_REL_AMD64_PAIR
@ IMAGE_REL_AMD64_PAIR
Definition: COFF.h:360
llvm::COFF::IMAGE_REL_AMD64_ADDR32
@ IMAGE_REL_AMD64_ADDR32
Definition: COFF.h:347
llvm::COFF::IMAGE_REL_ARM64_SECREL
@ IMAGE_REL_ARM64_SECREL
Definition: COFF.h:393
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::COFF::IMAGE_SCN_LNK_NRELOC_OVFL
@ IMAGE_SCN_LNK_NRELOC_OVFL
Definition: COFF.h:314
llvm::COFF::IMAGE_FILE_DLL
@ IMAGE_FILE_DLL
The image file is a DLL.
Definition: COFF.h:154
llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA
@ IMAGE_SCN_CNT_UNINITIALIZED_DATA
Definition: COFF.h:289
M
We currently emits eax Perhaps this is what we really should generate is Is imull three or four cycles eax eax The current instruction priority is based on pattern complexity The former is more complex because it folds a load so the latter will not be emitted Perhaps we should use AddedComplexity to give LEA32r a higher priority We should always try to match LEA first since the LEA matching code does some estimate to determine whether the match is profitable if we care more about code then imull is better It s two bytes shorter than movl leal On a Pentium M
Definition: README.txt:252
llvm::COFF::IMAGE_SYM_DTYPE_POINTER
@ IMAGE_SYM_DTYPE_POINTER
A pointer to base type.
Definition: COFF.h:259
llvm::COFF::IMAGE_REL_ARM64_ADDR32NB
@ IMAGE_REL_ARM64_ADDR32NB
Definition: COFF.h:387
llvm::COFF::DataDirectory
Definition: COFF.h:576
llvm::COFFYAML::Symbol::Symbol
Symbol()
Definition: COFFYAML.cpp:26
llvm::COFF::DataDirectory::Size
uint32_t Size
Definition: COFF.h:578
llvm::COFF::IMAGE_SYM_CLASS_STATIC
@ IMAGE_SYM_CLASS_STATIC
Static.
Definition: COFF.h:209
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION
@ IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION
Isolation aware, but do not isolate the image.
Definition: COFF.h:630
llvm::COFF::AuxiliarybfAndefSymbol
Definition: COFF.h:424
llvm::COFF::IMAGE_REL_ARM64_PAGEBASE_REL21
@ IMAGE_REL_ARM64_PAGEBASE_REL21
Definition: COFF.h:389
llvm::COFF::IMAGE_SYM_CLASS_UNDEFINED_LABEL
@ IMAGE_SYM_CLASS_UNDEFINED_LABEL
Undefined label.
Definition: COFF.h:213
llvm::COFF::IMAGE_COMDAT_SELECT_NODUPLICATES
@ IMAGE_COMDAT_SELECT_NODUPLICATES
Definition: COFF.h:406
llvm::COFFYAML::Object::Sections
std::vector< Section > Sections
Definition: COFFYAML.h:106
StringRef.h
llvm::COFFYAML::Section::DebugH
Optional< CodeViewYAML::DebugHSection > DebugH
Definition: COFFYAML.h:76
llvm::COFF::IMAGE_FILE_MACHINE_IA64
@ IMAGE_FILE_MACHINE_IA64
Definition: COFF.h:103
llvm::COFFYAML::Object::Object
Object()
Definition: COFFYAML.cpp:27
llvm::COFF::IMAGE_SCN_MEM_NOT_PAGED
@ IMAGE_SCN_MEM_NOT_PAGED
Definition: COFF.h:317
llvm::COFF::IMAGE_SYM_CLASS_FUNCTION
@ IMAGE_SYM_CLASS_FUNCTION
".bf" or ".ef" - beginning or end of function
Definition: COFF.h:228
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_NO_BIND
@ IMAGE_DLL_CHARACTERISTICS_NO_BIND
Do not bind the image.
Definition: COFF.h:635
llvm::COFF::PE32Header::MinorOperatingSystemVersion
uint16_t MinorOperatingSystemVersion
Definition: COFF.h:555
llvm::COFF::PE32Header::Subsystem
uint16_t Subsystem
Definition: COFF.h:564
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA
@ IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA
ASLR with 64 bit address space.
Definition: COFF.h:622
llvm::COFF::PE32Header::ImageBase
uint64_t ImageBase
Definition: COFF.h:551
llvm::COFF::IMAGE_REL_ARM64_PAGEOFFSET_12L
@ IMAGE_REL_ARM64_PAGEOFFSET_12L
Definition: COFF.h:392
llvm::COFF::IMAGE_FILE_AGGRESSIVE_WS_TRIM
@ IMAGE_FILE_AGGRESSIVE_WS_TRIM
Aggressively trim working set. This is deprecated and must be 0.
Definition: COFF.h:137
llvm::COFF::IMAGE_SCN_MEM_DISCARDABLE
@ IMAGE_SCN_MEM_DISCARDABLE
Definition: COFF.h:315
llvm::yaml::ScalarEnumerationTraits< COFFYAML::AuxSymbolType >::enumeration
static void enumeration(IO &IO, COFFYAML::AuxSymbolType &Value)
Definition: COFFYAML.cpp:55
llvm::COFF::IMAGE_FILE_LOCAL_SYMS_STRIPPED
@ IMAGE_FILE_LOCAL_SYMS_STRIPPED
COFF symbol table entries for local symbols have been removed.
Definition: COFF.h:135
llvm::COFF::AuxiliarySectionDefinition::NumberOfRelocations
uint16_t NumberOfRelocations
Definition: COFF.h:447
llvm::COFF::IMAGE_SYM_CLASS_EXTERNAL
@ IMAGE_SYM_CLASS_EXTERNAL
External symbol.
Definition: COFF.h:208
llvm::COFF::IMAGE_REL_I386_ABSOLUTE
@ IMAGE_REL_I386_ABSOLUTE
Definition: COFF.h:331
llvm::COFF::IMAGE_REL_ARM_MOV32A
@ IMAGE_REL_ARM_MOV32A
Definition: COFF.h:376
llvm::COFF::IMAGE_FILE_MACHINE_AMD64
@ IMAGE_FILE_MACHINE_AMD64
Definition: COFF.h:97
llvm::COFF::IMAGE_FILE_MACHINE_UNKNOWN
@ IMAGE_FILE_MACHINE_UNKNOWN
Definition: COFF.h:95
llvm::COFF::IMAGE_REL_ARM64_REL21
@ IMAGE_REL_ARM64_REL21
Definition: COFF.h:390
llvm::COFFYAML::Section::Name
StringRef Name
Definition: COFFYAML.h:78
llvm::COFF::IMAGE_SUBSYSTEM_XBOX
@ IMAGE_SUBSYSTEM_XBOX
XBOX.
Definition: COFF.h:616
llvm::COFF::Characteristics
Characteristics
Definition: COFF.h:122
llvm::yaml::ScalarEnumerationTraits< COFF::RelocationTypesARM64 >::enumeration
static void enumeration(IO &IO, COFF::RelocationTypesARM64 &Value)
Definition: COFFYAML.cpp:205
llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_CE_GUI
@ IMAGE_SUBSYSTEM_WINDOWS_CE_GUI
Windows CE.
Definition: COFF.h:609
llvm::COFFYAML::Object::OptionalHeader
Optional< PEHeader > OptionalHeader
Definition: COFFYAML.h:104
llvm::COFF::IMAGE_REL_I386_DIR32NB
@ IMAGE_REL_I386_DIR32NB
Definition: COFF.h:335
llvm::COFF::IMAGE_SYM_TYPE_UINT
@ IMAGE_SYM_TYPE_UINT
An unsigned integer of natural size.
Definition: COFF.h:253
BCase
#define BCase(X)
Definition: COFFYAML.cpp:246
llvm::COFF::IMAGE_REL_AMD64_REL32
@ IMAGE_REL_AMD64_REL32
Definition: COFF.h:349
llvm::COFF::IMAGE_FILE_MACHINE_ARMNT
@ IMAGE_FILE_MACHINE_ARMNT
Definition: COFF.h:99
llvm::COFF::IMAGE_SYM_CLASS_MEMBER_OF_UNION
@ IMAGE_SYM_CLASS_MEMBER_OF_UNION
Member of union.
Definition: COFF.h:217
llvm::COFF::AuxiliaryCLRToken::AuxType
uint8_t AuxType
Definition: COFF.h:456
llvm::COFF::IMAGE_COMDAT_SELECT_ASSOCIATIVE
@ IMAGE_COMDAT_SELECT_ASSOCIATIVE
Definition: COFF.h:410
llvm::COFFYAML::Relocation
Definition: COFFYAML.h:57
T
#define T
Definition: Mips16ISelLowering.cpp:341
llvm::COFF::RESOURCE_TABLE
@ RESOURCE_TABLE
Definition: COFF.h:584
llvm::COFF::IMAGE_REL_ARM64_SECREL_HIGH12A
@ IMAGE_REL_ARM64_SECREL_HIGH12A
Definition: COFF.h:395
llvm::COFFYAML::Section
Definition: COFFYAML.h:69
llvm::COFF::IMAGE_REL_ARM_BRANCH20T
@ IMAGE_REL_ARM_BRANCH20T
Definition: COFF.h:378
llvm::yaml::MappingTraits
Definition: ModuleSummaryIndex.h:51
llvm::COFF::IMAGE_WEAK_EXTERN_SEARCH_ALIAS
@ IMAGE_WEAK_EXTERN_SEARCH_ALIAS
Definition: COFF.h:441
llvm::COFF::AuxiliarySectionDefinition::Length
uint32_t Length
Definition: COFF.h:446
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY
@ IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY
Code integrity checks are enforced.
Definition: COFF.h:626
llvm::COFF::section::VirtualSize
uint32_t VirtualSize
Definition: COFF.h:271
llvm::COFF::IMAGE_REL_ARM64_BRANCH26
@ IMAGE_REL_ARM64_BRANCH26
Definition: COFF.h:388
llvm::COFF::AuxiliaryFunctionDefinition
Definition: COFF.h:416
llvm::COFF::IMAGE_FILE_MACHINE_SH5
@ IMAGE_FILE_MACHINE_SH5
Definition: COFF.h:117
llvm::COFF::IMAGE_REL_ARM64_ABSOLUTE
@ IMAGE_REL_ARM64_ABSOLUTE
Definition: COFF.h:385
llvm::COFF::IMAGE_SUBSYSTEM_EFI_ROM
@ IMAGE_SUBSYSTEM_EFI_ROM
An EFI ROM image.
Definition: COFF.h:615
llvm::COFF::IMAGE_REL_ARM64_SECREL_LOW12A
@ IMAGE_REL_ARM64_SECREL_LOW12A
Definition: COFF.h:394
llvm::COFF::RelocationTypesARM
RelocationTypesARM
Definition: COFF.h:364
llvm::COFF::section::SizeOfRawData
uint32_t SizeOfRawData
Definition: COFF.h:273
llvm::COFF::COMDATType
COMDATType
Definition: COFF.h:405
llvm::COFF::SymbolStorageClass
SymbolStorageClass
Storage class tells where and what the symbol represents.
Definition: COFF.h:202
llvm::COFF::PE32Header::MajorSubsystemVersion
uint16_t MajorSubsystemVersion
Definition: COFF.h:558
llvm::COFF::IMAGE_REL_I386_DIR16
@ IMAGE_REL_I386_DIR16
Definition: COFF.h:332
llvm::COFF::PE32Header::FileAlignment
uint32_t FileAlignment
Definition: COFF.h:553
llvm::COFF::IMAGE_SYM_CLASS_NULL
@ IMAGE_SYM_CLASS_NULL
No symbol.
Definition: COFF.h:206
llvm::COFF::GLOBAL_PTR
@ GLOBAL_PTR
Definition: COFF.h:590
llvm::COFF::IMAGE_FILE_SYSTEM
@ IMAGE_FILE_SYSTEM
The image file is a system file, not a user program.
Definition: COFF.h:152
llvm::COFF::DELAY_IMPORT_DESCRIPTOR
@ DELAY_IMPORT_DESCRIPTOR
Definition: COFF.h:595
llvm::COFF::IMAGE_REL_ARM_SECREL
@ IMAGE_REL_ARM_SECREL
Definition: COFF.h:375
llvm::COFF::IMAGE_SCN_LNK_INFO
@ IMAGE_SCN_LNK_INFO
Definition: COFF.h:291
llvm::COFF::IMAGE_FILE_MACHINE_I386
@ IMAGE_FILE_MACHINE_I386
Definition: COFF.h:102
llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA
@ IMAGE_SCN_CNT_INITIALIZED_DATA
Definition: COFF.h:288
llvm::COFF::IMAGE_FILE_LARGE_ADDRESS_AWARE
@ IMAGE_FILE_LARGE_ADDRESS_AWARE
Image can handle > 2GiB addresses.
Definition: COFF.h:139
llvm::COFF::IMAGE_SYM_CLASS_FILE
@ IMAGE_SYM_CLASS_FILE
File name.
Definition: COFF.h:230
llvm::COFF::IMAGE_COMDAT_SELECT_NEWEST
@ IMAGE_COMDAT_SELECT_NEWEST
Definition: COFF.h:412
llvm::COFF::IMAGE_REL_ARM_MOV32T
@ IMAGE_REL_ARM_MOV32T
Definition: COFF.h:377
llvm::COFF::IMAGE_COMDAT_SELECT_SAME_SIZE
@ IMAGE_COMDAT_SELECT_SAME_SIZE
Definition: COFF.h:408
llvm::COFF::IMAGE_SCN_LNK_REMOVE
@ IMAGE_SCN_LNK_REMOVE
Definition: COFF.h:292
llvm::COFF::LOAD_CONFIG_TABLE
@ LOAD_CONFIG_TABLE
Definition: COFF.h:592
llvm::COFF::IMAGE_FILE_BYTES_REVERSED_LO
@ IMAGE_FILE_BYTES_REVERSED_LO
Little endian: the LSB precedes the MSB in memory.
Definition: COFF.h:142
llvm::COFF::IMAGE_SYM_CLASS_END_OF_FUNCTION
@ IMAGE_SYM_CLASS_END_OF_FUNCTION
Physical end of function.
Definition: COFF.h:205
C
(vector float) vec_cmpeq(*A, *B) C
Definition: README_ALTIVEC.txt:86
llvm::COFF::IMAGE_FILE_MACHINE_SH4
@ IMAGE_FILE_MACHINE_SH4
Definition: COFF.h:116
llvm::COFF::IAT
@ IAT
Definition: COFF.h:594
StorageClass
COFF::SymbolStorageClass StorageClass
Definition: COFFYAML.cpp:360
llvm::COFFYAML::Section::Relocations
std::vector< Relocation > Relocations
Definition: COFFYAML.h:77
llvm::COFF::IMAGE_SYM_CLASS_TYPE_DEFINITION
@ IMAGE_SYM_CLASS_TYPE_DEFINITION
Type definition.
Definition: COFF.h:219
llvm::COFF::IMAGE_SCN_MEM_READ
@ IMAGE_SCN_MEM_READ
Definition: COFF.h:320
llvm::COFF::IMAGE_SYM_CLASS_MEMBER_OF_ENUM
@ IMAGE_SYM_CLASS_MEMBER_OF_ENUM
Member of enumeration.
Definition: COFF.h:222
llvm::COFF::IMAGE_FILE_MACHINE_RISCV32
@ IMAGE_FILE_MACHINE_RISCV32
Definition: COFF.h:111
llvm::COFF::IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF
@ IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF
Definition: COFF.h:267
llvm::COFF::AuxiliarySectionDefinition::CheckSum
uint32_t CheckSum
Definition: COFF.h:449
llvm::AMDGPU::CPol::NT
@ NT
Definition: SIDefines.h:307
llvm::COFF::IMAGE_FILE_MACHINE_WCEMIPSV2
@ IMAGE_FILE_MACHINE_WCEMIPSV2
Definition: COFF.h:119
llvm::COFF::IMAGE_REL_ARM_ADDR32NB
@ IMAGE_REL_ARM_ADDR32NB
Definition: COFF.h:367
llvm::COFF::IMAGE_SYM_CLASS_REGISTER
@ IMAGE_SYM_CLASS_REGISTER
Register variable.
Definition: COFF.h:210
llvm::COFF::IMAGE_REL_ARM_TOKEN
@ IMAGE_REL_ARM_TOKEN
Definition: COFF.h:370
llvm::COFF::IMAGE_REL_ARM64_ADDR32
@ IMAGE_REL_ARM64_ADDR32
Definition: COFF.h:386
llvm::COFF::IMAGE_SYM_CLASS_BIT_FIELD
@ IMAGE_SYM_CLASS_BIT_FIELD
Bit field.
Definition: COFF.h:224
llvm::COFF::IMAGE_FILE_MACHINE_POWERPCFP
@ IMAGE_FILE_MACHINE_POWERPCFP
Definition: COFF.h:109
llvm::COFF::IMAGE_FILE_BYTES_REVERSED_HI
@ IMAGE_FILE_BYTES_REVERSED_HI
Big endian: the MSB precedes the LSB in memory.
Definition: COFF.h:159
llvm::COFF::IMAGE_REL_I386_DIR32
@ IMAGE_REL_I386_DIR32
Definition: COFF.h:334
llvm::yaml::ScalarBitSetTraits< COFF::DLLCharacteristics >::bitset
static void bitset(IO &IO, COFF::DLLCharacteristics &Value)
Definition: COFFYAML.cpp:292
llvm::yaml::ScalarEnumerationTraits< COFF::MachineTypes >::enumeration
static void enumeration(IO &IO, COFF::MachineTypes &Value)
Definition: COFFYAML.cpp:60
llvm::COFF::IMAGE_SYM_CLASS_REGISTER_PARAM
@ IMAGE_SYM_CLASS_REGISTER_PARAM
Register parameter.
Definition: COFF.h:223
llvm::COFF::IMAGE_FILE_MACHINE_EBC
@ IMAGE_FILE_MACHINE_EBC
Definition: COFF.h:101
llvm::COFF::PE32Header::SectionAlignment
uint32_t SectionAlignment
Definition: COFF.h:552
llvm::COFF::EXCEPTION_TABLE
@ EXCEPTION_TABLE
Definition: COFF.h:585
llvm::COFF::IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY
@ IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY
Definition: COFF.h:442
llvm::COFF::IMAGE_SYM_CLASS_WEAK_EXTERNAL
@ IMAGE_SYM_CLASS_WEAK_EXTERNAL
Duplicate tag.
Definition: COFF.h:233
llvm::COFF::IMAGE_REL_AMD64_SREL32
@ IMAGE_REL_AMD64_SREL32
Definition: COFF.h:359
llvm::COFF::AuxiliaryWeakExternal
Definition: COFF.h:432
llvm::COFF::IMAGE_FILE_MACHINE_RISCV128
@ IMAGE_FILE_MACHINE_RISCV128
Definition: COFF.h:113
llvm::COFF::IMAGE_SUBSYSTEM_OS2_CUI
@ IMAGE_SUBSYSTEM_OS2_CUI
The OS/2 character subsystem.
Definition: COFF.h:606
llvm::COFF::AuxiliaryFunctionDefinition::TagIndex
uint32_t TagIndex
Definition: COFF.h:417
llvm::COFFYAML::Object
Definition: COFFYAML.h:103
llvm::COFF::IMAGE_REL_AMD64_SSPAN32
@ IMAGE_REL_AMD64_SSPAN32
Definition: COFF.h:361
llvm::COFF::IMAGE_SYM_CLASS_END_OF_STRUCT
@ IMAGE_SYM_CLASS_END_OF_STRUCT
End of structure.
Definition: COFF.h:229
llvm::COFF::IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER
@ IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER
An EFI driver with run-time services.
Definition: COFF.h:613
llvm::COFF::SymbolComplexType
SymbolComplexType
Definition: COFF.h:257
llvm::COFF::TLS_TABLE
@ TLS_TABLE
Definition: COFF.h:591
llvm::COFF::IMAGE_SCN_TYPE_NOLOAD
@ IMAGE_SCN_TYPE_NOLOAD
Definition: COFF.h:285
llvm::yaml::ScalarBitSetTraits< COFF::Characteristics >::bitset
static void bitset(IO &IO, COFF::Characteristics &Value)
Definition: COFFYAML.cpp:247
llvm::COFF::symbol
Definition: COFF.h:186
llvm::COFF::IMAGE_FILE_MACHINE_MIPS16
@ IMAGE_FILE_MACHINE_MIPS16
Definition: COFF.h:105
llvm::COFFYAML::Relocation::SymbolName
StringRef SymbolName
Definition: COFFYAML.h:65
llvm::COFF::IMAGE_SCN_LNK_OTHER
@ IMAGE_SCN_LNK_OTHER
Definition: COFF.h:290
llvm::COFF::section::Characteristics
uint32_t Characteristics
Definition: COFF.h:279
llvm::COFF::IMAGE_REL_ARM64_SECREL_LOW12L
@ IMAGE_REL_ARM64_SECREL_LOW12L
Definition: COFF.h:396
llvm::COFF::IMAGE_REL_ARM_PAIR
@ IMAGE_REL_ARM_PAIR
Definition: COFF.h:381
llvm::COFF::IMAGE_FILE_UP_SYSTEM_ONLY
@ IMAGE_FILE_UP_SYSTEM_ONLY
This file should only be run on a uniprocessor machine.
Definition: COFF.h:156
llvm::COFF::IMAGE_SCN_MEM_PURGEABLE
@ IMAGE_SCN_MEM_PURGEABLE
Definition: COFF.h:295
llvm::COFF::IMAGE_SYM_TYPE_NULL
@ IMAGE_SYM_TYPE_NULL
No type information or unknown base type.
Definition: COFF.h:239
llvm::COFF::IMAGE_SYM_TYPE_WORD
@ IMAGE_SYM_TYPE_WORD
A word; unsigned 2-byte integer.
Definition: COFF.h:252
llvm::COFF::IMAGE_FILE_32BIT_MACHINE
@ IMAGE_FILE_32BIT_MACHINE
Machine is based on a 32bit word architecture.
Definition: COFF.h:144
llvm::COFF::section::VirtualAddress
uint32_t VirtualAddress
Definition: COFF.h:272
llvm::COFF::PE32Header::MajorImageVersion
uint16_t MajorImageVersion
Definition: COFF.h:556
llvm::COFF::SymbolBaseType
SymbolBaseType
Definition: COFF.h:238
llvm::COFF::IMAGE_SYM_TYPE_LONG
@ IMAGE_SYM_TYPE_LONG
A 4-byte signed integer.
Definition: COFF.h:244
llvm::COFF::IMAGE_SYM_CLASS_EXTERNAL_DEF
@ IMAGE_SYM_CLASS_EXTERNAL_DEF
External definition.
Definition: COFF.h:211
llvm::yaml::ScalarEnumerationTraits< COFF::RelocationTypesARM >::enumeration
static void enumeration(IO &IO, COFF::RelocationTypesARM &Value)
Definition: COFFYAML.cpp:184
ECase
#define ECase(X)
Definition: COFFYAML.cpp:19
llvm::COFF::AuxiliarybfAndefSymbol::PointerToNextFunction
uint32_t PointerToNextFunction
Definition: COFF.h:428
llvm::COFF::IMAGE_REL_AMD64_ABSOLUTE
@ IMAGE_REL_AMD64_ABSOLUTE
Definition: COFF.h:345
llvm::COFF::IMAGE_FILE_MACHINE_THUMB
@ IMAGE_FILE_MACHINE_THUMB
Definition: COFF.h:118
llvm::COFF::IMAGE_SCN_TYPE_NO_PAD
@ IMAGE_SCN_TYPE_NO_PAD
Definition: COFF.h:286
llvm::COFF::IMAGE_SYM_CLASS_ARGUMENT
@ IMAGE_SYM_CLASS_ARGUMENT
Function argument.
Definition: COFF.h:215
llvm::COFF::IMAGE_REL_I386_REL32
@ IMAGE_REL_I386_REL32
Definition: COFF.h:341
llvm::COFF::AuxiliaryCLRToken
Definition: COFF.h:455
llvm::COFF::IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER
@ IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER
An EFI driver with boot services.
Definition: COFF.h:611
llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_CUI
@ IMAGE_SUBSYSTEM_WINDOWS_CUI
The Windows character subsystem.
Definition: COFF.h:605
llvm::COFF::AuxiliarybfAndefSymbol::Linenumber
uint16_t Linenumber
Definition: COFF.h:426
llvm::COFF::ARCHITECTURE
@ ARCHITECTURE
Definition: COFF.h:589
llvm::COFF::IMAGE_REL_ARM_BRANCH24T
@ IMAGE_REL_ARM_BRANCH24T
Definition: COFF.h:379
llvm::COFF::IMAGE_REL_AMD64_REL32_4
@ IMAGE_REL_AMD64_REL32_4
Definition: COFF.h:353
llvm::COFFYAML::PEHeader
Definition: COFFYAML.h:98
llvm::yaml::ScalarEnumerationTraits< COFFYAML::WeakExternalCharacteristics >::enumeration
static void enumeration(IO &IO, COFFYAML::WeakExternalCharacteristics &Value)
Definition: COFFYAML.cpp:46
llvm::COFF::IMAGE_REL_ARM_BRANCH24
@ IMAGE_REL_ARM_BRANCH24
Definition: COFF.h:368
llvm::COFF::IMAGE_REL_ARM_BRANCH11
@ IMAGE_REL_ARM_BRANCH11
Definition: COFF.h:369
llvm::COFF::IMAGE_SCN_MEM_SHARED
@ IMAGE_SCN_MEM_SHARED
Definition: COFF.h:318
llvm::COFF::IMAGE_FILE_LINE_NUMS_STRIPPED
@ IMAGE_FILE_LINE_NUMS_STRIPPED
COFF line numbers have been stripped.
Definition: COFF.h:132
llvm::COFF::IMAGE_SUBSYSTEM_NATIVE
@ IMAGE_SUBSYSTEM_NATIVE
Device drivers and native Windows processes.
Definition: COFF.h:603
llvm::COFF::IMAGE_SYM_TYPE_DWORD
@ IMAGE_SYM_TYPE_DWORD
An unsigned 4-byte integer.
Definition: COFF.h:254
llvm::COFF::IMAGE_REL_AMD64_REL32_5
@ IMAGE_REL_AMD64_REL32_5
Definition: COFF.h:354
llvm::COFFYAML::Section::SectionData
yaml::BinaryRef SectionData
Definition: COFFYAML.h:72
llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION
@ IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION
A BCD application.
Definition: COFF.h:617
llvm::COFF::IMAGE_SYM_CLASS_CLR_TOKEN
@ IMAGE_SYM_CLASS_CLR_TOKEN
External symbol in dmert public lib.
Definition: COFF.h:235
llvm::COFF::IMAGE_SYM_TYPE_STRUCT
@ IMAGE_SYM_TYPE_STRUCT
A structure.
Definition: COFF.h:247
llvm::COFF::PE32Header::MinorSubsystemVersion
uint16_t MinorSubsystemVersion
Definition: COFF.h:559
llvm::COFF::IMAGE_REL_AMD64_ADDR64
@ IMAGE_REL_AMD64_ADDR64
Definition: COFF.h:346
llvm::COFF::IMAGE_SCN_GPREL
@ IMAGE_SCN_GPREL
Definition: COFF.h:294
llvm::COFF::IMAGE_SYM_CLASS_UNDEFINED_STATIC
@ IMAGE_SYM_CLASS_UNDEFINED_STATIC
Undefined static.
Definition: COFF.h:220
llvm::COFF::IMAGE_SYM_DTYPE_ARRAY
@ IMAGE_SYM_DTYPE_ARRAY
An array of base type.
Definition: COFF.h:261
llvm::COFF::IMAGE_SYM_TYPE_CHAR
@ IMAGE_SYM_TYPE_CHAR
A character (signed byte).
Definition: COFF.h:241
llvm::COFF::RelocationTypeI386
RelocationTypeI386
Definition: COFF.h:330
llvm::COFF::IMAGE_FILE_MACHINE_RISCV64
@ IMAGE_FILE_MACHINE_RISCV64
Definition: COFF.h:112
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_GUARD_CF
@ IMAGE_DLL_CHARACTERISTICS_GUARD_CF
Definition: COFF.h:641
llvm::COFF::PE32Header::MajorOperatingSystemVersion
uint16_t MajorOperatingSystemVersion
Definition: COFF.h:554
llvm::COFF::IMAGE_REL_AMD64_SECREL7
@ IMAGE_REL_AMD64_SECREL7
Definition: COFF.h:357
llvm::COFF::AuxSymbolType
AuxSymbolType
Definition: COFF.h:267
llvm::COFFYAML::Symbol
Definition: COFFYAML.h:83
llvm::COFF::AuxiliarySectionDefinition::Selection
uint8_t Selection
Definition: COFF.h:451
llvm::COFF::IMAGE_FILE_MACHINE_ARM
@ IMAGE_FILE_MACHINE_ARM
Definition: COFF.h:98
llvm::COFF::IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
@ IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
If the image is on removable media, fully load it and copy it to swap.
Definition: COFF.h:148
llvm::COFFYAML::Section::DebugP
std::vector< CodeViewYAML::LeafRecord > DebugP
Definition: COFFYAML.h:75
llvm::yaml::ScalarEnumerationTraits< COFF::WindowsSubsystem >::enumeration
static void enumeration(IO &IO, COFF::WindowsSubsystem &Value)
Definition: COFFYAML.cpp:227
llvm::COFF::IMAGE_SCN_LNK_COMDAT
@ IMAGE_SCN_LNK_COMDAT
Definition: COFF.h:293
llvm::COFF::WeakExternalCharacteristics
WeakExternalCharacteristics
Definition: COFF.h:438
llvm::COFF::IMAGE_SYM_CLASS_LABEL
@ IMAGE_SYM_CLASS_LABEL
Label.
Definition: COFF.h:212
llvm::COFF::IMAGE_REL_ARM_ABSOLUTE
@ IMAGE_REL_ARM_ABSOLUTE
Definition: COFF.h:365
llvm::COFFYAML::PEHeader::DataDirectories
Optional< COFF::DataDirectory > DataDirectories[COFF::NUM_DATA_DIRECTORIES]
Definition: COFFYAML.h:100
AuxType
COFFYAML::AuxSymbolType AuxType
Definition: COFFYAML.cpp:351
llvm::yaml::ScalarEnumerationTraits< COFF::SymbolStorageClass >::enumeration
static void enumeration(IO &IO, COFF::SymbolStorageClass &Value)
Definition: COFFYAML.cpp:109
llvm::COFF::IMAGE_FILE_RELOCS_STRIPPED
@ IMAGE_FILE_RELOCS_STRIPPED
The file does not contain base relocations and must be loaded at its preferred base.
Definition: COFF.h:127
llvm::COFF::IMAGE_SYM_TYPE_MOE
@ IMAGE_SYM_TYPE_MOE
A member of enumeration (a specific value).
Definition: COFF.h:250
llvm::COFF::IMAGE_SYM_TYPE_INT
@ IMAGE_SYM_TYPE_INT
A natural integer type on the target.
Definition: COFF.h:243
llvm::COFF::IMAGE_SYM_CLASS_STRUCT_TAG
@ IMAGE_SYM_CLASS_STRUCT_TAG
Structure tag.
Definition: COFF.h:216
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_NO_SEH
@ IMAGE_DLL_CHARACTERISTICS_NO_SEH
Does not use structured exception handling (SEH).
Definition: COFF.h:633
llvm::COFF::DEBUG_DIRECTORY
@ DEBUG_DIRECTORY
Definition: COFF.h:588
llvm::COFF::IMAGE_COMDAT_SELECT_LARGEST
@ IMAGE_COMDAT_SELECT_LARGEST
Definition: COFF.h:411
llvm::COFF::IMAGE_FILE_MACHINE_MIPSFPU16
@ IMAGE_FILE_MACHINE_MIPSFPU16
Definition: COFF.h:107
llvm::COFFYAML::Relocation::VirtualAddress
uint32_t VirtualAddress
Definition: COFFYAML.h:58
YAMLTraits.h
llvm::COFFYAML::Section::Section
Section()
Definition: COFFYAML.cpp:25
llvm::COFF::IMAGE_SYM_CLASS_BLOCK
@ IMAGE_SYM_CLASS_BLOCK
".bb" or ".eb" - beginning or end of block
Definition: COFF.h:226
llvm::yaml::ScalarBitSetTraits< COFF::SectionCharacteristics >::bitset
static void bitset(IO &IO, COFF::SectionCharacteristics &Value)
Definition: COFFYAML.cpp:266
llvm::COFF::PE32Header::SizeOfHeapCommit
uint64_t SizeOfHeapCommit
Definition: COFF.h:570
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:58
llvm::COFF::IMAGE_SYM_CLASS_UNION_TAG
@ IMAGE_SYM_CLASS_UNION_TAG
Union tag.
Definition: COFF.h:218
uint32_t
llvm::COFF::IMAGE_SYM_TYPE_BYTE
@ IMAGE_SYM_TYPE_BYTE
A byte; unsigned 1-byte integer.
Definition: COFF.h:251
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE
@ IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE
Terminal Server aware.
Definition: COFF.h:643
S
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
Definition: README.txt:210
llvm::COFF::IMAGE_REL_AMD64_REL32_2
@ IMAGE_REL_AMD64_REL32_2
Definition: COFF.h:351
llvm::COFF::IMAGE_REL_ARM64_PAGEOFFSET_12A
@ IMAGE_REL_ARM64_PAGEOFFSET_12A
Definition: COFF.h:391
llvm::COFF::AuxiliaryWeakExternal::TagIndex
uint32_t TagIndex
Definition: COFF.h:433
llvm::COFF::IMAGE_REL_AMD64_SECREL
@ IMAGE_REL_AMD64_SECREL
Definition: COFF.h:356
llvm::COFF::IMAGE_REL_ARM_REL32
@ IMAGE_REL_ARM_REL32
Definition: COFF.h:373
llvm::COFF::PE32Header::SizeOfStackCommit
uint64_t SizeOfStackCommit
Definition: COFF.h:568
llvm::COFFYAML::Object::Symbols
std::vector< Symbol > Symbols
Definition: COFFYAML.h:107
llvm::COFF::IMAGE_FILE_MACHINE_ARM64
@ IMAGE_FILE_MACHINE_ARM64
Definition: COFF.h:100
llvm::COFF::IMAGE_REL_ARM_BLX24
@ IMAGE_REL_ARM_BLX24
Definition: COFF.h:371
llvm::COFF::IMAGE_REL_I386_TOKEN
@ IMAGE_REL_I386_TOKEN
Definition: COFF.h:339
llvm::COFFYAML::Section::DebugT
std::vector< CodeViewYAML::LeafRecord > DebugT
Definition: COFFYAML.h:74
llvm::COFF::IMAGE_REL_ARM64_REL32
@ IMAGE_REL_ARM64_REL32
Definition: COFF.h:402
llvm::COFF::PE32Header::SizeOfHeapReserve
uint64_t SizeOfHeapReserve
Definition: COFF.h:569
llvm::COFF::IMPORT_TABLE
@ IMPORT_TABLE
Definition: COFF.h:583
llvm::COFF::IMAGE_SCN_MEM_LOCKED
@ IMAGE_SCN_MEM_LOCKED
Definition: COFF.h:297
llvm::COFF::BASE_RELOCATION_TABLE
@ BASE_RELOCATION_TABLE
Definition: COFF.h:587
llvm::COFF::IMAGE_REL_ARM_SECTION
@ IMAGE_REL_ARM_SECTION
Definition: COFF.h:374
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE
@ IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE
DLL can be relocated at load time.
Definition: COFF.h:624
llvm::COFF::IMAGE_FILE_MACHINE_POWERPC
@ IMAGE_FILE_MACHINE_POWERPC
Definition: COFF.h:108
llvm::yaml::ScalarEnumerationTraits< COFF::RelocationTypeAMD64 >::enumeration
static void enumeration(IO &IO, COFF::RelocationTypeAMD64 &Value)
Definition: COFFYAML.cpp:163
COFFYAML.h
H
#define H(x, y, z)
Definition: MD5.cpp:57
llvm::COFF::AuxiliaryCLRToken::SymbolTableIndex
uint32_t SymbolTableIndex
Definition: COFF.h:458
uint16_t
llvm::COFF::NUM_DATA_DIRECTORIES
@ NUM_DATA_DIRECTORIES
Definition: COFF.h:598
llvm::COFF::IMAGE_SCN_MEM_PRELOAD
@ IMAGE_SCN_MEM_PRELOAD
Definition: COFF.h:298
llvm::COFF::EXPORT_TABLE
@ EXPORT_TABLE
Definition: COFF.h:582
NC
#define NC
Definition: regutils.h:42
llvm::COFF::PE32Header::NumberOfRvaAndSize
uint32_t NumberOfRvaAndSize
Definition: COFF.h:573
llvm::COFF::WindowsSubsystem
WindowsSubsystem
Definition: COFF.h:601
llvm::COFF::IMAGE_REL_ARM64_TOKEN
@ IMAGE_REL_ARM64_TOKEN
Definition: COFF.h:397
llvm::yaml::ScalarEnumerationTraits< COFF::SymbolBaseType >::enumeration
static void enumeration(IO &IO, COFF::SymbolBaseType &Value)
Definition: COFFYAML.cpp:89
llvm::COFF::IMAGE_REL_ARM64_BRANCH14
@ IMAGE_REL_ARM64_BRANCH14
Definition: COFF.h:401
llvm::yaml::ScalarEnumerationTraits< COFF::RelocationTypeI386 >::enumeration
static void enumeration(IO &IO, COFF::RelocationTypeI386 &Value)
Definition: COFFYAML.cpp:148
llvm::COFF::IMAGE_SCN_CNT_CODE
@ IMAGE_SCN_CNT_CODE
Definition: COFF.h:287
llvm::COFF::AuxiliarySectionDefinition::Number
uint32_t Number
Definition: COFF.h:450
llvm::COFF::section
Definition: COFF.h:269
llvm::COFF::IMAGE_REL_AMD64_ADDR32NB
@ IMAGE_REL_AMD64_ADDR32NB
Definition: COFF.h:348
llvm::COFF::IMAGE_SYM_TYPE_SHORT
@ IMAGE_SYM_TYPE_SHORT
A 2-byte signed integer.
Definition: COFF.h:242
llvm::COFF::AuxiliaryFunctionDefinition::TotalSize
uint32_t TotalSize
Definition: COFF.h:418
llvm::COFF::IMAGE_REL_I386_REL16
@ IMAGE_REL_I386_REL16
Definition: COFF.h:333
llvm::COFF::IMAGE_SYM_TYPE_UNION
@ IMAGE_SYM_TYPE_UNION
An union.
Definition: COFF.h:248
llvm::COFFYAML::Section::DebugS
std::vector< CodeViewYAML::YAMLDebugSubsection > DebugS
Definition: COFFYAML.h:73
llvm::COFF::IMAGE_REL_I386_SEG12
@ IMAGE_REL_I386_SEG12
Definition: COFF.h:336
llvm::COFF::IMAGE_REL_ARM_BLX23T
@ IMAGE_REL_ARM_BLX23T
Definition: COFF.h:380
llvm::COFF::MachineTypes
MachineTypes
Definition: COFF.h:92
llvm::COFF::IMAGE_REL_AMD64_REL32_1
@ IMAGE_REL_AMD64_REL32_1
Definition: COFF.h:350
llvm::COFF::AuxiliarySectionDefinition
Definition: COFF.h:445
llvm::COFF::IMAGE_DLL_CHARACTERISTICS_APPCONTAINER
@ IMAGE_DLL_CHARACTERISTICS_APPCONTAINER
A WDM driver.
Definition: COFF.h:637
llvm::COFF::PE32Header::AddressOfEntryPoint
uint32_t AddressOfEntryPoint
Definition: COFF.h:548
llvm::COFF::IMAGE_SYM_CLASS_SECTION
@ IMAGE_SYM_CLASS_SECTION
Line number, reformatted as symbol.
Definition: COFF.h:232
llvm::COFF::IMAGE_SUBSYSTEM_NATIVE_WINDOWS
@ IMAGE_SUBSYSTEM_NATIVE_WINDOWS
Native Windows 9x driver.
Definition: COFF.h:608
llvm::COFF::IMAGE_FILE_NET_RUN_FROM_SWAP
@ IMAGE_FILE_NET_RUN_FROM_SWAP
If the image is on network media, fully load it and copy it to swap.
Definition: COFF.h:150
llvm::COFF::DLLCharacteristics
DLLCharacteristics
Definition: COFF.h:620
llvm::COFF::IMAGE_FILE_EXECUTABLE_IMAGE
@ IMAGE_FILE_EXECUTABLE_IMAGE
The file is valid and can be run.
Definition: COFF.h:129
SelectionType
COFFYAML::COMDATType SelectionType
Definition: COFFYAML.cpp:318
llvm::COFF::AuxiliaryFunctionDefinition::PointerToNextFunction
uint32_t PointerToNextFunction
Definition: COFF.h:420
llvm::COFF::IMAGE_SYM_TYPE_VOID
@ IMAGE_SYM_TYPE_VOID
Used with void pointers and functions.
Definition: COFF.h:240
llvm::COFF::IMAGE_FILE_MACHINE_SH3
@ IMAGE_FILE_MACHINE_SH3
Definition: COFF.h:114
llvm::COFFYAML::Relocation::SymbolTableIndex
Optional< uint32_t > SymbolTableIndex
Definition: COFFYAML.h:66
llvm::COFF::RelocationTypesARM64
RelocationTypesARM64
Definition: COFF.h:384
llvm::COFF::AuxiliaryWeakExternal::Characteristics
uint32_t Characteristics
Definition: COFF.h:434
llvm::COFF::IMAGE_REL_AMD64_REL32_3
@ IMAGE_REL_AMD64_REL32_3
Definition: COFF.h:352
llvm::COFF::CLR_RUNTIME_HEADER
@ CLR_RUNTIME_HEADER
Definition: COFF.h:596
llvm::COFF::IMAGE_REL_I386_SECREL
@ IMAGE_REL_I386_SECREL
Definition: COFF.h:338
Machine
COFF::MachineTypes Machine
Definition: COFFYAML.cpp:369
llvm::COFF::IMAGE_FILE_DEBUG_STRIPPED
@ IMAGE_FILE_DEBUG_STRIPPED
Debugging info has been removed.
Definition: COFF.h:146
llvm::COFFYAML::Section::Alignment
unsigned Alignment
Definition: COFFYAML.h:71
llvm::COFF::IMAGE_SYM_DTYPE_NULL
@ IMAGE_SYM_DTYPE_NULL
No complex type; simple scalar variable.
Definition: COFF.h:258
llvm::yaml::BinaryRef::binary_size
ArrayRef< uint8_t >::size_type binary_size() const
The number of bytes that are represented by this BinaryRef.
Definition: YAML.h:80
llvm::COFF::IMAGE_REL_ARM64_BRANCH19
@ IMAGE_REL_ARM64_BRANCH19
Definition: COFF.h:400
llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_GUI
@ IMAGE_SUBSYSTEM_WINDOWS_GUI
The Windows GUI subsystem.
Definition: COFF.h:604
llvm::COFF::IMAGE_FILE_MACHINE_R4000
@ IMAGE_FILE_MACHINE_R4000
Definition: COFF.h:110
Characteristics
COFFYAML::WeakExternalCharacteristics Characteristics
Definition: COFFYAML.cpp:329
llvm::COFF::AuxiliaryFunctionDefinition::PointerToLinenumber
uint32_t PointerToLinenumber
Definition: COFF.h:419
llvm::COFF::IMAGE_SUBSYSTEM_POSIX_CUI
@ IMAGE_SUBSYSTEM_POSIX_CUI
The POSIX character subsystem.
Definition: COFF.h:607
llvm::COFF::IMAGE_SCN_MEM_NOT_CACHED
@ IMAGE_SCN_MEM_NOT_CACHED
Definition: COFF.h:316
llvm::COFF::PE32Header::MinorImageVersion
uint16_t MinorImageVersion
Definition: COFF.h:557
llvm::COFF::IMAGE_REL_AMD64_SECTION
@ IMAGE_REL_AMD64_SECTION
Definition: COFF.h:355
llvm::COFF::header
Definition: COFF.h:64
llvm::COFFYAML::Object::Header
COFF::header Header
Definition: COFFYAML.h:105
llvm::COFF::IMAGE_SCN_MEM_EXECUTE
@ IMAGE_SCN_MEM_EXECUTE
Definition: COFF.h:319
llvm::COFF::IMAGE_SYM_CLASS_AUTOMATIC
@ IMAGE_SYM_CLASS_AUTOMATIC
Stack variable.
Definition: COFF.h:207
llvm::COFF::IMAGE_FILE_MACHINE_AM33
@ IMAGE_FILE_MACHINE_AM33
Definition: COFF.h:96
llvm::yaml::ScalarEnumerationTraits< COFF::SymbolComplexType >::enumeration
static void enumeration(IO &IO, COFF::SymbolComplexType &Value)
Definition: COFFYAML.cpp:140
Subsystem
COFF::WindowsSubsystem Subsystem
Definition: COFFYAML.cpp:398
llvm::msgpack::Type
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
Definition: MsgPackReader.h:48
llvm::COFFYAML::Symbol::Header
COFF::symbol Header
Definition: COFFYAML.h:84
llvm::COFFYAML::Relocation::Type
uint16_t Type
Definition: COFFYAML.h:59
llvm::COFF::PE32Header::SizeOfStackReserve
uint64_t SizeOfStackReserve
Definition: COFF.h:567
llvm::COFF::IMAGE_SCN_MEM_16BIT
@ IMAGE_SCN_MEM_16BIT
Definition: COFF.h:296
llvm::COFF::IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY
@ IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY
Definition: COFF.h:439
llvm::COFF::DataDirectory::RelativeVirtualAddress
uint32_t RelativeVirtualAddress
Definition: COFF.h:577
llvm::COFF::IMAGE_SYM_TYPE_ENUM
@ IMAGE_SYM_TYPE_ENUM
An enumerated type.
Definition: COFF.h:249
llvm::COFF::IMAGE_SYM_TYPE_DOUBLE
@ IMAGE_SYM_TYPE_DOUBLE
An 8-byte floating-point number.
Definition: COFF.h:246
llvm::COFF::IMAGE_REL_AMD64_TOKEN
@ IMAGE_REL_AMD64_TOKEN
Definition: COFF.h:358
llvm::COFF::IMAGE_REL_ARM64_ADDR64
@ IMAGE_REL_ARM64_ADDR64
Definition: COFF.h:399
llvm::COFF::IMAGE_REL_ARM_BLX11
@ IMAGE_REL_ARM_BLX11
Definition: COFF.h:372
llvm::COFFYAML::Section::Header
COFF::section Header
Definition: COFFYAML.h:70
llvm::COFF::IMAGE_REL_ARM_ADDR32
@ IMAGE_REL_ARM_ADDR32
Definition: COFF.h:366
llvm::COFF::IMAGE_SYM_CLASS_MEMBER_OF_STRUCT
@ IMAGE_SYM_CLASS_MEMBER_OF_STRUCT
Member of structure.
Definition: COFF.h:214
llvm::COFF::IMAGE_SYM_DTYPE_FUNCTION
@ IMAGE_SYM_DTYPE_FUNCTION
A function that returns a base type.
Definition: COFF.h:260
llvm::COFF::IMAGE_REL_I386_SECREL7
@ IMAGE_REL_I386_SECREL7
Definition: COFF.h:340
llvm::COFF::SectionCharacteristics
SectionCharacteristics
Definition: COFF.h:282
llvm::COFF::IMAGE_SYM_CLASS_ENUM_TAG
@ IMAGE_SYM_CLASS_ENUM_TAG
Enumeration tag.
Definition: COFF.h:221
llvm::Value
LLVM Value Representation.
Definition: Value.h:74
llvm::COFF::BOUND_IMPORT
@ BOUND_IMPORT
Definition: COFF.h:593
llvm::COFF::IMAGE_SYM_TYPE_FLOAT
@ IMAGE_SYM_TYPE_FLOAT
A 4-byte floating-point number.
Definition: COFF.h:245
llvm::COFF::IMAGE_FILE_MACHINE_M32R
@ IMAGE_FILE_MACHINE_M32R
Definition: COFF.h:104
llvm::COFF::IMAGE_WEAK_EXTERN_SEARCH_LIBRARY
@ IMAGE_WEAK_EXTERN_SEARCH_LIBRARY
Definition: COFF.h:440
llvm::COFF::IMAGE_COMDAT_SELECT_ANY
@ IMAGE_COMDAT_SELECT_ANY
Definition: COFF.h:407
llvm::COFF::IMAGE_SCN_MEM_WRITE
@ IMAGE_SCN_MEM_WRITE
Definition: COFF.h:321
llvm::COFF::IMAGE_SUBSYSTEM_UNKNOWN
@ IMAGE_SUBSYSTEM_UNKNOWN
An unknown subsystem.
Definition: COFF.h:602
llvm::COFF::RelocationTypeAMD64
RelocationTypeAMD64
Definition: COFF.h:344
llvm::COFF::IMAGE_SUBSYSTEM_EFI_APPLICATION
@ IMAGE_SUBSYSTEM_EFI_APPLICATION
An EFI application.
Definition: COFF.h:610
llvm::COFF::PE32Header::DLLCharacteristics
uint16_t DLLCharacteristics
Definition: COFF.h:566
llvm::COFF::IMAGE_REL_ARM64_SECTION
@ IMAGE_REL_ARM64_SECTION
Definition: COFF.h:398