23 #ifndef LLVM_BINARYFORMAT_COFF_H 24 #define LLVM_BINARYFORMAT_COFF_H 37 static const char PEMagic[] = {
'P',
'E',
'\0',
'\0'};
40 '\xc7',
'\xa1',
'\xba',
'\xd1',
'\xee',
'\xba',
'\xa9',
'\x4b',
41 '\xaf',
'\x20',
'\xfa',
'\xf6',
'\x6a',
'\xa4',
'\xdc',
'\xb8',
45 '\x38',
'\xfe',
'\xb3',
'\x0c',
'\xa5',
'\xd9',
'\xab',
'\x4d',
46 '\xac',
'\x9b',
'\xd6',
'\xb6',
'\x22',
'\x26',
'\x53',
'\xc2',
51 '\x00',
'\x00',
'\x00',
'\x00',
'\x20',
'\x00',
'\x00',
'\x00',
52 '\xff',
'\xff',
'\x00',
'\x00',
'\xff',
'\xff',
'\x00',
'\x00',
77 enum : uint16_t { MinBigObjectVersion = 2 };
493 assert(isOrdinal() &&
"ILT entry is not an ordinal!");
494 return data & 0xFFFF;
505 assert(!isOrdinal() &&
"ILT entry is not a Hint/Name RVA!");
529 uint16_t Reserved[4];
532 uint16_t Reserved2[10];
537 enum { PE32 = 0x10b, PE32_PLUS = 0x20b };
721 return SectionNumber <= 0;
Debugging info has been removed.
Isolation aware, but do not isolate the image.
The Windows GUI subsystem.
bool isOrdinal() const
Is this entry specified by ordinal, or name?
The POSIX character subsystem.
WeakExternalCharacteristics
This class represents lattice values for constants.
void setOrdinal(uint16_t o)
Set the ordinal value and set isOrdinal to true.
uint32_t ImportAddressTableRVA
Physical end of function.
uint32_t SymbolTableIndex
Used with void pointers and functions.
An EFI driver with boot services.
Code integrity checks are enforced.
AuxiliarySectionDefinition SectionDefinition
No complex type; simple scalar variable.
static const char BigObjMagic[]
An unsigned integer of natural size.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
Machine is based on a 32bit word architecture.
".bf" or ".ef" - beginning or end of function
An 8-byte floating-point number.
Aggressively trim working set. This is deprecated and must be 0.
An unsigned 4-byte integer.
const int32_t MaxNumberOfSections16
External symbol in dmert public lib.
bool isReservedSectionNumber(int32_t SectionNumber)
uint16_t getOrdinal() const
Get the ordinal value of this entry. isOrdinal must be true.
Big endian: the MSB precedes the LSB in memory.
ASLR with 64 bit address space.
AuxiliaryWeakExternal WeakExternal
The file does not contain base relocations and must be loaded at its preferred base.
Does not use structured exception handling (SEH).
Type is formed as (base + (derived << SCT_COMPLEX_TYPE_SHIFT))
uint16_t NumberOfRelocations
The PE32 Import Lookup Table.
uint8_t NumberOfAuxSymbols
static const char ClGlObjMagic[]
uint32_t SymbolTableIndex
Image can handle > 2GiB addresses.
Line number, reformatted as symbol.
uint32_t ImportLookupTableRVA
void setHintNameRVA(uint32_t rva)
Set the Hint/Name entry RVA and set isOrdinal to false.
No type information or unknown base type.
Little endian: the LSB precedes the MSB in memory.
uint32_t getHintNameRVA() const
Get the Hint/Name entry RVA. isOrdinal must be false.
A member of enumeration (a specific value).
Native Windows 9x driver.
uint16_t NumberOfLineNumbers
COFF line numbers have been stripped.
Device drivers and native Windows processes.
The image file is a system file, not a user program.
uint32_t PointerToRelocations
Image supports Control Flow Guard.
uint32_t PointerToNextFunction
An EFI driver with run-time services.
uint32_t PointerToRawData
uint32_t RelativeVirtualAddress
SymbolStorageClass
Storage class tells where and what the symbol represents.
".bb" or ".eb" - beginning or end of block
The import name is the public symbol name, but skipping the leading ?, @, or optionally _...
A byte; unsigned 1-byte integer.
If the image is on removable media, fully load it and copy it to swap.
If the image is on network media, fully load it and copy it to swap.
The file is valid and can be run.
A natural integer type on the target.
The OS/2 character subsytem.
COFF symbol table entries for local symbols have been removed.
The Import Directory Table.
DLL can be relocated at load time.
This file should only be run on a uniprocessor machine.
A 4-byte floating-point number.
A word; unsigned 2-byte integer.
static const char PEMagic[]
uint32_t PointerToNextFunction
The import name is identical to the public symbol name.
The Windows character subsystem.
uint32_t PointerToLinenumber
static const char WinResMagic[]
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
uint16_t NumberOfRelocations
The import name is the public symbol name, but skipping the leading ?, @, or optionally _...
AuxiliaryFunctionDefinition FunctionDefinition
A character (signed byte).
uint32_t PointerToLineNumbers
uint16_t NumberOfLinenumbers
AuxiliarybfAndefSymbol bfAndefSymbol
A function that returns a base type.