16 #define ECase(X) IO.enumCase(Value, #X, COFF::X);
192 #define BCase(X) IO.bitSetCase(Value, #X, COFF::X);
255 struct NSectionSelectionType {
256 NSectionSelectionType(
IO &)
258 NSectionSelectionType(IO &, uint8_t
C)
264 struct NWeakExternalCharacteristics {
265 NWeakExternalCharacteristics(IO &)
267 NWeakExternalCharacteristics(IO &,
uint32_t C)
273 struct NSectionCharacteristics {
274 NSectionCharacteristics(IO &)
276 NSectionCharacteristics(IO &,
uint32_t C)
282 struct NAuxTokenType {
285 NAuxTokenType(IO &, uint8_t
C)
291 struct NStorageClass {
302 uint16_t denormalize(IO &) {
return Machine; }
306 struct NHeaderCharacteristics {
308 NHeaderCharacteristics(IO &, uint16_t
C)
315 template <
typename RelocType>
317 NType(IO &) :
Type(RelocType(0)) {}
318 NType(IO &, uint16_t
T) :
Type(RelocType(T)) {}
319 uint16_t denormalize(IO &) {
return Type; }
323 struct NWindowsSubsystem {
326 uint16_t denormalize(IO &) {
return Subsystem; }
331 struct NDLLCharacteristics {
333 NDLLCharacteristics(IO &, uint16_t
C)
387 IO.
mapRequired(
"DLLCharacteristics", NDC->Characteristics);
420 IO.
mapOptional(
"Characteristics", NC->Characteristics);
443 IO.
mapRequired(
"Characteristics", NWEC->Characteristics);
487 IO.
mapRequired(
"Characteristics", NC->Characteristics);
A byte; unsigned 1-byte integer.
void mapOptional(const char *Key, T &Val)
COFF::SymbolBaseType SimpleType
The Windows character subsystem.
Image can handle > 2GiB addresses.
Physical end of function.
uint32_t SymbolTableIndex
Device drivers and native Windows processes.
Optional< COFF::AuxiliarybfAndefSymbol > bfAndefSymbol
Aggressively trim working set. This is deprecated and must be 0.
Image supports Control Flow Guard.
Isolation aware, but do not isolate the image.
COFF::SymbolStorageClass StorageClass
The Windows GUI subsystem.
COFF symbol table entries for local symbols have been removed.
".bf" or ".ef" - beginning or end of function
No complex type; simple scalar variable.
ASLR with 64 bit address space.
std::vector< Relocation > Relocations
External symbol in dmert public lib.
std::vector< Section > Sections
An unsigned integer of natural size.
A 4-byte floating-point number.
This class should be specialized by any type that needs to be converted to/from a YAML mapping...
COFFYAML::COMDATType SelectionType
The OS/2 character subsytem.
COFF::MachineTypes Machine
uint16_t NumberOfRelocations
virtual bool mapTag(StringRef Tag, bool Default=false)=0
Used with void pointers and functions.
void enumCase(T &Val, const char *Str, const T ConstVal)
Machine is based on a 32bit word architecture.
An EFI driver with run-time services.
An EFI driver with boot services.
No type information or unknown base type.
COFF::WindowsSubsystem Subsystem
Line number, reformatted as symbol.
An 8-byte floating-point number.
A function that returns a base type.
If the image is on removable media, fully load it and copy it to swap.
A word; unsigned 2-byte integer.
yaml::BinaryRef SectionData
Little endian: the LSB precedes the MSB in memory.
An unsigned 4-byte integer.
Optional< COFF::AuxiliaryFunctionDefinition > FunctionDefinition
COFFYAML::AuxSymbolType AuxType
This file should only be run on a uniprocessor machine.
DLL can be relocated at load time.
This class should be specialized by any integral type that converts to/from a YAML scalar where there...
Optional< COFF::AuxiliaryCLRToken > CLRToken
If the image is on network media, fully load it and copy it to swap.
Debugging info has been removed.
uint32_t PointerToNextFunction
static GCRegistry::Add< ShadowStackGC > C("shadow-stack","Very portable GC for uncooperative code generators")
uint32_t RelativeVirtualAddress
SymbolStorageClass
Storage class tells where and what the symbol represents.
".bb" or ".eb" - beginning or end of block
COFF line numbers have been stripped.
Big endian: the MSB precedes the LSB in memory.
A character (signed byte).
The POSIX character subsystem.
Code integrity checks are enforced.
Optional< COFF::AuxiliaryWeakExternal > WeakExternal
COFFYAML::WeakExternalCharacteristics Characteristics
uint32_t PointerToNextFunction
Does not use structured exception handling (SEH).
The image file is a system file, not a user program.
uint32_t PointerToLinenumber
This class should be specialized by any integer type that is a union of bit values and the YAML repre...
LLVM Value Representation.
std::vector< Symbol > Symbols
A member of enumeration (a specific value).
StringRef - Represent a constant reference to a string, i.e.
The file does not contain base relocations and must be loaded at its preferred base.
void mapRequired(const char *Key, T &Val)
COFF::SymbolComplexType ComplexType
Optional< PEHeader > OptionalHeader
uint16_t NumberOfLinenumbers
WeakExternalCharacteristics
The file is valid and can be run.
Optional< COFF::AuxiliarySectionDefinition > SectionDefinition
Native Windows 9x driver.
A natural integer type on the target.