16 #define ECase(X) IO.enumCase(Value, #X, COFF::X);
143 #define BCase(X) IO.bitSetCase(Value, #X, COFF::X);
164 IO &
IO, COFF::SectionCharacteristics &
Value) {
165 BCase(IMAGE_SCN_TYPE_NO_PAD);
166 BCase(IMAGE_SCN_CNT_CODE);
167 BCase(IMAGE_SCN_CNT_INITIALIZED_DATA);
168 BCase(IMAGE_SCN_CNT_UNINITIALIZED_DATA);
169 BCase(IMAGE_SCN_LNK_OTHER);
170 BCase(IMAGE_SCN_LNK_INFO);
171 BCase(IMAGE_SCN_LNK_REMOVE);
172 BCase(IMAGE_SCN_LNK_COMDAT);
173 BCase(IMAGE_SCN_GPREL);
174 BCase(IMAGE_SCN_MEM_PURGEABLE);
175 BCase(IMAGE_SCN_MEM_16BIT);
176 BCase(IMAGE_SCN_MEM_LOCKED);
177 BCase(IMAGE_SCN_MEM_PRELOAD);
178 BCase(IMAGE_SCN_LNK_NRELOC_OVFL);
179 BCase(IMAGE_SCN_MEM_DISCARDABLE);
180 BCase(IMAGE_SCN_MEM_NOT_CACHED);
181 BCase(IMAGE_SCN_MEM_NOT_PAGED);
182 BCase(IMAGE_SCN_MEM_SHARED);
183 BCase(IMAGE_SCN_MEM_EXECUTE);
184 BCase(IMAGE_SCN_MEM_READ);
185 BCase(IMAGE_SCN_MEM_WRITE);
190 struct NSectionCharacteristics {
191 NSectionCharacteristics(
IO &)
193 NSectionCharacteristics(IO &, uint32_t
C)
199 struct NStorageClass {
210 uint16_t denormalize(IO &) {
return Machine; }
214 struct NHeaderCharacteristics {
216 NHeaderCharacteristics(IO &, uint16_t
C)
226 uint16_t denormalize(IO &) {
return Type; }
247 IO.
mapOptional(
"Characteristics", NC->Characteristics);
268 IO.
mapRequired(
"Characteristics", NC->Characteristics);
A byte; unsigned 1-byte integer.
COFF::RelocationTypeX86 Type
COFF::SymbolBaseType SimpleType
Image can handle > 2GiB addresses.
Physical end of function.
Aggressively trim working set. This is deprecated and must be 0.
COFF::SymbolStorageClass StorageClass
".bf" or ".ef" - beginning or end of function
No complex type; simple scalar variable.
Specialized YAMLIO scalar type for representing a binary blob.
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.
llvm::enable_if_c< has_SequenceTraits< T >::value, void >::type mapOptional(const char *Key, T &Val)
COFF::MachineTypes Machine
uint8_t NumberOfAuxSymbols
Used with void pointers and functions.
Machine is based on a 32bit word architecture.
No type information or unknown base type.
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.
object::yaml::BinaryRef AuxiliaryData
An unsigned 4-byte integer.
This file should only be run on a uniprocessor machine.
If the image is on network media, fully load it and copy it to swap.
Debugging info has been removed.
SymbolStorageClass
Storage class tells where and what the symbol represents.
".bb" or ".eb" - beginning or end of block
A character (signed byte).
The image file is a system file, not a user program.
LLVM Value Representation.
std::vector< Symbol > Symbols
A member of enumeration (a specific value).
void mapRequired(const char *Key, T &Val)
COFF::SymbolComplexType ComplexType
COFF::SectionCharacteristics Characteristics
The file is valid and can be run.
A natural integer type on the target.
object::yaml::BinaryRef SectionData