13#ifndef LLVM_OBJECT_COFF_H
14#define LLVM_OBJECT_COFF_H
30#include <system_error>
40class DelayImportDirectoryEntryRef;
42class ExportDirectoryEntryRef;
43class ImportDirectoryEntryRef;
44class ImportedSymbolRef;
45class ResourceSectionRef;
192template <
typename IntTy>
200 return Data & 0xFFFF;
205 return Data & 0xFFFFFFFF;
253template <
typename SectionNumberType>
291 return CS16 ?
static_cast<const void *
>(CS16) : CS32;
301 return A.getRawPtr() <
B.getRawPtr();
317 assert(isSet() &&
"COFFSymbolRef points to nothing!");
322 assert(isSet() &&
"COFFSymbolRef points to nothing!");
327 assert(isSet() &&
"COFFSymbolRef points to nothing!");
338 assert(isSet() &&
"COFFSymbolRef points to nothing!");
339 return CS16 ? CS16->
Type : CS32->
Type;
343 assert(isSet() &&
"COFFSymbolRef points to nothing!");
348 assert(isSet() &&
"COFFSymbolRef points to nothing!");
358 template <
typename T>
const T *
getAux()
const {
359 return CS16 ?
reinterpret_cast<const T *
>(CS16 + 1)
360 :
reinterpret_cast<const T *
>(CS32 + 1);
367 return getAux<coff_aux_section_definition>();
374 return getAux<coff_aux_weak_external>();
424 bool isAppdomainGlobal =
430 return isAppdomainGlobal || isOrdinarySection;
438 bool isSet()
const {
return CS16 || CS32; }
473 return 1U << (Shift - 1);
493 "auxiliary entry must be 18 bytes");
504 "auxiliary entry must be 18 bytes");
513 "auxiliary entry must be 18 bytes");
528 return static_cast<int32_t
>(
Number);
532static_assert(
sizeof(coff_aux_section_definition) == 18,
533 "auxiliary entry must be 18 bytes");
543 "auxiliary entry must be 18 bytes");
572template <
typename IntTy>
585 return 1U << (Shift - 1);
799 return maskTrailingOnes<uint32_t>(31) &
NameOffset;
884 const char *StringTable;
888 uint32_t NumberOfDelayImportDirectory;
897 const void *LoadConfig =
nullptr;
903 template <
typename coff_symbol_type>
904 const coff_symbol_type *toSymb(
DataRefImpl Symb)
const;
911 Error initSymbolTablePtr();
912 Error initImportTablePtr();
913 Error initDelayImportTablePtr();
914 Error initExportTablePtr();
915 Error initBaseRelocPtr();
916 Error initDebugDirectoryPtr();
917 Error initTLSDirectoryPtr();
918 Error initLoadConfigPtr();
927 return reinterpret_cast<uintptr_t
>(SymbolTable16);
929 return reinterpret_cast<uintptr_t
>(SymbolTable32);
945 if (COFFBigObjHeader)
946 return COFFBigObjHeader->
Machine;
955 if (COFFBigObjHeader)
965 if (COFFBigObjHeader)
973 if (COFFBigObjHeader)
981 if (COFFBigObjHeader)
990 if (COFFBigObjHeader)
998 if (COFFBigObjHeader)
1004 if (!SymbolTable16 && !SymbolTable32)
1012 return ExportDirectory;
1027 return DynamicRelocTable;
1101 return DebugDirectoryBegin;
1104 return DebugDirectoryEnd;
1118 return TLSDirectory32;
1121 return TLSDirectory64;
1125 if (!PE32Header && !PE32PlusHeader)
1132 return COFFBigObjHeader;
1150 template <
typename T>
1155 Res =
reinterpret_cast<const T *
>(S->getRawPtr());
1169 if (COFFBigObjHeader)
1184 const char *ErrorContext =
nullptr)
const;
1191 const char *ErrorContext =
nullptr)
const;
1209 bool is64()
const {
return PE32PlusHeader; }
1222 : ImportTable(Table),
Index(
I), OwningObject(Owner) {}
1253 : Table(
T),
Index(
I), OwningObject(Owner) {}
1279 : ExportTable(Table),
Index(
I), OwningObject(Owner) {}
1304 : Entry32(Entry), Entry64(nullptr),
Index(
I), OwningObject(Owner) {}
1307 : Entry32(nullptr), Entry64(Entry),
Index(
I), OwningObject(Owner) {}
1329 : Header(Header),
Index(0) {}
1346 : Obj(Owner), Header(reinterpret_cast<
const uint8_t *>(Header)) {}
1358 Error validate()
const;
1361 const uint8_t *Header;
1388 uint16_t getArg()
const {
return getReloc() >> 14; }
1389 uint8_t getEntrySize()
const;
1390 Error validate(
const COFFObjectFile *Obj)
const;
1392 const coff_base_reloc_block_header *Header;
1425 std::vector<const coff_relocation *> Relocs;
1460 :
public ErrorInfo<SectionStrippedError, BinaryError> {
AMDGPU Mark last scratch load
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Analysis containing CSE Info
Given that RA is a live value
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringLiteral > StandardNames)
Initialize the set of available library functions based on the specified target triple.
std::pair< llvm::MachO::Target, std::string > UUID
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
An implementation of BinaryStream which holds its entire data set in a single contiguous buffer.
Base class for user error types.
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
Tagged union holding either a T or a Error.
Error takeError()
Take ownership of the stored error.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
StringRef - Represent a constant reference to a string, i.e.
Manages the enabling and disabling of subtarget specific features.
The instances of the Type class are immutable: once they are created, they are never changed.
A range adaptor for a pair of iterators.
Arm64XRelocRef(const coff_base_reloc_block_header *Header, uint32_t Index=0)
COFF::Arm64XFixupType getType() const
uint64_t getValue() const
BaseRelocRef(const coff_base_reloc_block_header *Header, const COFFObjectFile *Owner)
Error getType(uint8_t &Type) const
Error getRVA(uint32_t &Result) const
const dos_header * getDOSHeader() const
uint64_t getSectionSize(DataRefImpl Sec) const override
Expected< StringRef > getSectionName(DataRefImpl Sec) const override
static bool classof(const Binary *v)
uint64_t getSectionIndex(DataRefImpl Sec) const override
uint32_t getRawNumberOfSymbols() const
dynamic_reloc_iterator dynamic_reloc_begin() const
std::unique_ptr< MemoryBuffer > getHybridObjectView() const
uint32_t getSymbolAlignment(DataRefImpl Symb) const override
bool isSectionCompressed(DataRefImpl Sec) const override
const coff_tls_directory64 * getTLSDirectory64() const
void moveRelocationNext(DataRefImpl &Rel) const override
Expected< section_iterator > getSymbolSection(DataRefImpl Symb) const override
uint8_t getBytesInAddress() const override
The number of bytes used to represent an address in this object file format.
export_directory_iterator export_directory_begin() const
delay_import_directory_iterator delay_import_directory_end() const
base_reloc_iterator base_reloc_begin() const
section_iterator section_end() const override
const pe32_header * getPE32Header() const
Expected< COFFSymbolRef > getSymbol(uint32_t index) const
Error getVaPtr(uint64_t VA, uintptr_t &Res) const
uint64_t getRelocationType(DataRefImpl Rel) const override
void moveSymbolNext(DataRefImpl &Symb) const override
uint64_t getCommonSymbolSizeImpl(DataRefImpl Symb) const override
iterator_range< delay_import_directory_iterator > delay_import_directories() const
const debug_directory * debug_directory_end() const
import_directory_iterator import_directory_end() const
const coff_tls_directory32 * getTLSDirectory32() const
Expected< SubtargetFeatures > getFeatures() const override
uint32_t getPointerToSymbolTable() const
const coff_relocation * getCOFFRelocation(const RelocationRef &Reloc) const
Expected< StringRef > getSymbolName(DataRefImpl Symb) const override
bool isDebugSection(DataRefImpl Sec) const override
iterator_range< const debug_directory * > debug_directories() const
const coff_dynamic_reloc_table * getDynamicRelocTable() const
StringRef getRelocationTypeName(uint16_t Type) const
bool isSectionBSS(DataRefImpl Sec) const override
base_reloc_iterator base_reloc_end() const
uint64_t getSectionAddress(DataRefImpl Sec) const override
Expected< uint64_t > getSymbolAddress(DataRefImpl Symb) const override
uint32_t getNumberOfSymbols() const
section_iterator section_begin() const override
Expected< SymbolRef::Type > getSymbolType(DataRefImpl Symb) const override
const coff_file_header * getCOFFHeader() const
size_t getSymbolTableEntrySize() const
export_directory_iterator export_directory_end() const
Error getHintName(uint32_t Rva, uint16_t &Hint, StringRef &Name) const
Error getAuxSymbol(uint32_t index, const T *&Res) const
uintptr_t getSymbolTable() const
static Expected< std::unique_ptr< COFFObjectFile > > create(MemoryBufferRef Object)
bool isSectionVirtual(DataRefImpl Sec) const override
unsigned getSectionID(SectionRef Sec) const
const coff_bigobj_file_header * getCOFFBigObjHeader() const
relocation_iterator section_rel_begin(DataRefImpl Sec) const override
iterator_range< import_directory_iterator > import_directories() const
delay_import_directory_iterator delay_import_directory_begin() const
basic_symbol_iterator symbol_end() const override
Error getRvaAndSizeAsBytes(uint32_t RVA, uint32_t Size, ArrayRef< uint8_t > &Contents, const char *ErrorContext=nullptr) const
Given an RVA base and size, returns a valid array of bytes or an error code if the RVA and size is no...
const coff_load_configuration64 * getLoadConfig64() const
iterator_range< export_directory_iterator > export_directories() const
uint32_t getNumberOfSections() const
uint64_t getRelocationOffset(DataRefImpl Rel) const override
basic_symbol_iterator symbol_begin() const override
uint32_t getTimeDateStamp() const
Triple::ArchType getArch() const override
uint32_t getStringTableSize() const
bool isRelocatableObject() const override
True if this is a relocatable object (.o/.obj).
Expected< uint32_t > getSymbolFlags(DataRefImpl Symb) const override
const chpe_metadata * getCHPEMetadata() const
const debug_directory * debug_directory_begin() const
Expected< const coff_section * > getSection(int32_t index) const
bool isSectionText(DataRefImpl Sec) const override
Expected< ArrayRef< uint8_t > > getSectionContents(DataRefImpl Sec) const override
const data_directory * getDataDirectory(uint32_t index) const
StringRef mapDebugSectionName(StringRef Name) const override
Maps a debug section name to a standard DWARF section name.
ArrayRef< uint8_t > getSymbolAuxData(COFFSymbolRef Symbol) const
uint64_t getImageBase() const
const coff_load_configuration32 * getLoadConfig32() const
const coff_section * getCOFFSection(const SectionRef &Section) const
import_directory_iterator import_directory_begin() const
void moveSectionNext(DataRefImpl &Sec) const override
relocation_iterator section_rel_end(DataRefImpl Sec) const override
dynamic_reloc_iterator dynamic_reloc_end() const
ArrayRef< coff_relocation > getRelocations(const coff_section *Sec) const
uint64_t getSymbolValueImpl(DataRefImpl Symb) const override
uint16_t getSizeOfOptionalHeader() const
Error getRvaPtr(uint32_t Rva, uintptr_t &Res, const char *ErrorContext=nullptr) const
uint16_t getCharacteristics() const
iterator_range< dynamic_reloc_iterator > dynamic_relocs() const
unsigned getSymbolSectionID(SymbolRef Sym) const
Error getDebugPDBInfo(const debug_directory *DebugDir, const codeview::DebugInfo *&Info, StringRef &PDBFileName) const
Get PDB information out of a codeview debug directory entry.
const pe32plus_header * getPE32PlusHeader() const
symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override
uint64_t getSectionAlignment(DataRefImpl Sec) const override
uint32_t getSymbolIndex(COFFSymbolRef Symbol) const
uint16_t getMachine() const
COFFSymbolRef getCOFFSymbol(const DataRefImpl &Ref) const
const export_directory_table_entry * getExportTable() const
Expected< uint64_t > getStartAddress() const override
iterator_range< base_reloc_iterator > base_relocs() const
bool isSectionData(DataRefImpl Sec) const override
bool is64Bit() const override
StringRef getFileFormatName() const override
const void * getRawPtr() const
const StringTableOffset & getStringTableOffset() const
uint8_t getStorageClass() const
bool isAnyUndefined() const
bool isFileRecord() const
const coff_symbol_generic * getGeneric() const
const coff_aux_weak_external * getWeakExternal() const
bool isSectionDefinition() const
uint8_t getComplexType() const
uint8_t getNumberOfAuxSymbols() const
bool isFunctionLineInfo() const
uint8_t getBaseType() const
COFFSymbolRef(const coff_symbol32 *CS)
COFFSymbolRef(const coff_symbol16 *CS)
uint32_t getValue() const
const coff_aux_section_definition * getSectionDefinition() const
bool isWeakExternal() const
friend bool operator<(COFFSymbolRef A, COFFSymbolRef B)
const char * getShortName() const
int32_t getSectionNumber() const
bool isFunctionDefinition() const
imported_symbol_iterator imported_symbol_begin() const
Error getImportAddress(int AddrIndex, uint64_t &Result) const
iterator_range< imported_symbol_iterator > imported_symbols() const
DelayImportDirectoryEntryRef()=default
imported_symbol_iterator imported_symbol_end() const
Error getDelayImportTable(const delay_import_directory_table_entry *&Result) const
DelayImportDirectoryEntryRef(const delay_import_directory_table_entry *T, uint32_t I, const COFFObjectFile *Owner)
Error getName(StringRef &Result) const
arm64x_reloc_iterator arm64x_reloc_begin() const
void getContents(ArrayRef< uint8_t > &Ref) const
DynamicRelocRef()=default
arm64x_reloc_iterator arm64x_reloc_end() const
iterator_range< arm64x_reloc_iterator > arm64x_relocs() const
DynamicRelocRef(const void *Header, const COFFObjectFile *Owner)
Error getDllName(StringRef &Result) const
ExportDirectoryEntryRef(const export_directory_table_entry *Table, uint32_t I, const COFFObjectFile *Owner)
Error getExportRVA(uint32_t &Result) const
Error getOrdinalBase(uint32_t &Result) const
Error getOrdinal(uint32_t &Result) const
Error isForwarder(bool &Result) const
Error getForwardTo(StringRef &Result) const
Error getSymbolName(StringRef &Result) const
ExportDirectoryEntryRef()=default
imported_symbol_iterator imported_symbol_end() const
imported_symbol_iterator imported_symbol_begin() const
Error getImportLookupTableRVA(uint32_t &Result) const
Error getImportTableEntry(const coff_import_directory_table_entry *&Result) const
imported_symbol_iterator lookup_table_end() const
ImportDirectoryEntryRef(const coff_import_directory_table_entry *Table, uint32_t I, const COFFObjectFile *Owner)
ImportDirectoryEntryRef()=default
iterator_range< imported_symbol_iterator > lookup_table_symbols() const
iterator_range< imported_symbol_iterator > imported_symbols() const
imported_symbol_iterator lookup_table_begin() const
Error getImportAddressTableRVA(uint32_t &Result) const
Error getName(StringRef &Result) const
Error getHintNameRVA(uint32_t &Result) const
ImportedSymbolRef(const import_lookup_table_entry32 *Entry, uint32_t I, const COFFObjectFile *Owner)
Error getOrdinal(uint16_t &Result) const
ImportedSymbolRef()=default
Error getSymbolName(StringRef &Result) const
ImportedSymbolRef(const import_lookup_table_entry64 *Entry, uint32_t I, const COFFObjectFile *Owner)
Error isOrdinal(bool &Result) const
This class is the base class for all object file types.
const uint8_t * base() const
This is a value type class that represents a single relocation in the list of relocations in the obje...
Expected< const coff_resource_dir_table & > getBaseTable()
Expected< const coff_resource_dir_table & > getEntrySubDir(const coff_resource_dir_entry &Entry)
Expected< const coff_resource_data_entry & > getEntryData(const coff_resource_dir_entry &Entry)
ResourceSectionRef(StringRef Ref)
ResourceSectionRef()=default
Expected< ArrayRef< UTF16 > > getEntryNameString(const coff_resource_dir_entry &Entry)
Expected< StringRef > getContents(const coff_resource_data_entry &Entry)
Expected< const coff_resource_dir_entry & > getTableEntry(const coff_resource_dir_table &Table, uint32_t Index)
This is a value type class that represents a single section in the list of sections in the object fil...
This is a value type class that represents a single symbol in the list of symbols in the object file.
This provides a very simple, boring adaptor for a begin and end iterator into a range type.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
@ IMAGE_FILE_MACHINE_ARM64
@ IMAGE_FILE_MACHINE_AMD64
@ IMAGE_FILE_MACHINE_ARM64EC
@ IMAGE_FILE_MACHINE_ARM64X
@ IMAGE_SCN_LNK_NRELOC_OVFL
@ IMAGE_SYM_CLASS_SECTION
Line number, reformatted as symbol.
@ IMAGE_SYM_CLASS_FUNCTION
".bf" or ".ef" - beginning or end of function
@ IMAGE_SYM_CLASS_EXTERNAL
External symbol.
@ IMAGE_SYM_CLASS_FILE
File name.
@ IMAGE_SYM_CLASS_CLR_TOKEN
External symbol in dmert public lib.
@ IMAGE_SYM_CLASS_WEAK_EXTERNAL
Duplicate tag.
@ IMAGE_SYM_CLASS_STATIC
Static.
const int32_t MaxNumberOfSections16
bool isReservedSectionNumber(int32_t SectionNumber)
@ IMAGE_SYM_TYPE_NULL
No type information or unknown base type.
@ IMAGE_SYM_DTYPE_FUNCTION
A function that returns a base type.
@ SCT_COMPLEX_TYPE_SHIFT
Type is formed as (base + (derived << SCT_COMPLEX_TYPE_SHIFT))
coff_symbol< support::ulittle32_t > coff_symbol32
coff_symbol< support::ulittle16_t > coff_symbol16
detail::packed_endian_specific_integral< uint16_t, llvm::endianness::little, unaligned > ulittle16_t
detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t
This is an optimization pass for GlobalISel generic memory operations.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
unsigned Log2_32(uint32_t Value)
Return the floor log base 2 of the specified value, -1 if the value is zero.
constexpr bool isPowerOf2_32(uint32_t Value)
Return true if the argument is a power of two > 0.
@ Ref
The access may reference the value stored in memory.
ArrayRef(const T &OneElt) -> ArrayRef< T >
Error errorCodeToError(std::error_code EC)
Helper for converting an std::error_code to a Error.
This struct is a compact representation of a valid (non-zero power of two) alignment.
support::ulittle32_t NumLocals
int getNumSavedRegs() const
support::ulittle32_t Size
int getPrologSize() const
support::ulittle16_t NumParams
support::ulittle16_t Attributes
support::ulittle32_t Offset
support::ulittle32_t Offset
support::ulittle32_t Zeroes
support::ulittle32_t EntryPoint
support::ulittle32_t StartRva
support::ulittle32_t EndRva
support::ulittle32_t Length
static constexpr uint32_t TypeMask
support::ulittle32_t StartOffset
uint32_t getStart() const
support::ulittle32_t Source
support::ulittle32_t Destination
support::ulittle32_t PointerToNextFunction
support::ulittle16_t Linenumber
support::ulittle32_t SymbolTableIndex
support::ulittle32_t PointerToLinenumber
support::ulittle32_t TotalSize
support::ulittle32_t TagIndex
support::ulittle32_t PointerToNextFunction
support::ulittle16_t NumberOfLinenumbers
support::ulittle32_t CheckSum
int32_t getNumber(bool IsBigObj) const
support::ulittle16_t NumberHighPart
support::ulittle16_t NumberLowPart
support::ulittle32_t Length
support::ulittle16_t NumberOfRelocations
support::ulittle32_t Characteristics
support::ulittle32_t TagIndex
support::ulittle16_t Data
support::ulittle32_t Version
support::ulittle32_t Size
support::ulittle32_t HeaderSize
support::ulittle32_t Symbol
support::ulittle32_t FixupInfoSize
support::ulittle32_t SymbolGroup
support::ulittle32_t Flags
support::ulittle32_t BaseRelocSize
support::ulittle32_t Symbol
support::ulittle32_t HeaderSize
support::ulittle32_t SymbolGroup
support::ulittle32_t FixupInfoSize
support::ulittle32_t Flags
support::ulittle64_t Symbol
support::ulittle32_t BaseRelocSize
support::ulittle64_t Symbol
support::ulittle32_t TimeDateStamp
support::ulittle32_t ImportAddressTableRVA
support::ulittle32_t ForwarderChain
support::ulittle32_t NameRVA
support::ulittle32_t ImportLookupTableRVA
support::ulittle16_t Flags
support::ulittle32_t Reserved
support::ulittle16_t Catalog
support::ulittle32_t CatalogOffset
32-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY32)
support::ulittle16_t MinorVersion
support::ulittle32_t SEHandlerCount
support::ulittle32_t GuardAddressTakenIatEntryCount
support::ulittle32_t GuardRFFailureRoutineFunctionPointer
support::ulittle32_t DynamicValueRelocTable
support::ulittle32_t GuardCFCheckFunction
support::ulittle32_t GuardRFVerifyStackPointerFunctionPointer
support::ulittle32_t GuardEHContinuationTable
support::ulittle32_t Size
support::ulittle32_t SEHandlerTable
support::ulittle32_t LockPrefixTable
support::ulittle16_t CSDVersion
support::ulittle16_t Reserved2
support::ulittle32_t CHPEMetadataPointer
support::ulittle32_t VirtualMemoryThreshold
support::ulittle32_t GuardCFFunctionCount
support::ulittle32_t DeCommitFreeBlockThreshold
support::ulittle32_t ProcessAffinityMask
support::ulittle32_t MaximumAllocationSize
support::ulittle32_t EnclaveConfigurationPointer
support::ulittle16_t DependentLoadFlags
support::ulittle32_t TimeDateStamp
support::ulittle32_t GuardXFGCheckFunctionPointer
support::ulittle32_t GuardCFCheckDispatch
support::ulittle32_t GuardLongJumpTargetCount
support::ulittle32_t GuardLongJumpTargetTable
support::ulittle32_t Reserved3
support::ulittle32_t GuardAddressTakenIatEntryTable
support::ulittle32_t CriticalSectionDefaultTimeout
support::ulittle32_t GuardEHContinuationCount
support::ulittle16_t DynamicValueRelocTableSection
support::ulittle32_t GuardXFGTableDispatchFunctionPointer
support::ulittle32_t GuardCFFunctionTable
support::ulittle32_t GuardFlags
support::ulittle32_t SecurityCookie
support::ulittle32_t HotPatchTableOffset
coff_load_config_code_integrity CodeIntegrity
support::ulittle16_t MajorVersion
support::ulittle32_t ProcessHeapFlags
support::ulittle32_t GuardXFGDispatchFunctionPointer
support::ulittle32_t GuardRFFailureRoutine
support::ulittle32_t DynamicValueRelocTableOffset
support::ulittle32_t DeCommitTotalFreeThreshold
support::ulittle32_t GlobalFlagsSet
support::ulittle32_t EditList
support::ulittle32_t GlobalFlagsClear
support::ulittle32_t CastGuardOsDeterminedFailureMode
support::ulittle32_t VolatileMetadataPointer
64-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY64)
support::ulittle64_t VirtualMemoryThreshold
support::ulittle32_t TimeDateStamp
support::ulittle64_t GuardCFFunctionCount
support::ulittle32_t GuardFlags
support::ulittle64_t VolatileMetadataPointer
support::ulittle16_t MinorVersion
support::ulittle16_t MajorVersion
support::ulittle64_t GuardRFFailureRoutineFunctionPointer
support::ulittle32_t DynamicValueRelocTableOffset
support::ulittle16_t DependentLoadFlags
support::ulittle16_t Reserved2
support::ulittle32_t GlobalFlagsSet
support::ulittle64_t GuardAddressTakenIatEntryTable
support::ulittle64_t EditList
support::ulittle64_t DeCommitFreeBlockThreshold
support::ulittle64_t GuardXFGCheckFunctionPointer
coff_load_config_code_integrity CodeIntegrity
support::ulittle64_t DynamicValueRelocTable
support::ulittle64_t ProcessAffinityMask
support::ulittle64_t DeCommitTotalFreeThreshold
support::ulittle64_t GuardAddressTakenIatEntryCount
support::ulittle64_t GuardEHContinuationCount
support::ulittle64_t GuardRFFailureRoutine
support::ulittle32_t CriticalSectionDefaultTimeout
support::ulittle64_t GuardCFFunctionTable
support::ulittle64_t GuardLongJumpTargetTable
support::ulittle64_t SEHandlerTable
support::ulittle64_t MaximumAllocationSize
support::ulittle64_t SEHandlerCount
support::ulittle64_t GuardCFCheckFunction
support::ulittle32_t Reserved3
support::ulittle32_t HotPatchTableOffset
support::ulittle64_t GuardCFCheckDispatch
support::ulittle64_t GuardXFGTableDispatchFunctionPointer
support::ulittle64_t SecurityCookie
support::ulittle64_t GuardEHContinuationTable
support::ulittle64_t LockPrefixTable
support::ulittle16_t CSDVersion
support::ulittle64_t CastGuardOsDeterminedFailureMode
support::ulittle32_t GlobalFlagsClear
support::ulittle32_t ProcessHeapFlags
support::ulittle16_t DynamicValueRelocTableSection
support::ulittle64_t CHPEMetadataPointer
support::ulittle64_t GuardXFGDispatchFunctionPointer
support::ulittle64_t GuardRFVerifyStackPointerFunctionPointer
support::ulittle64_t GuardLongJumpTargetCount
support::ulittle64_t EnclaveConfigurationPointer
support::ulittle32_t Size
support::ulittle16_t Type
support::ulittle32_t SymbolTableIndex
support::ulittle32_t VirtualAddress
support::ulittle32_t Reserved
support::ulittle32_t DataSize
support::ulittle32_t Codepage
support::ulittle32_t DataRVA
support::ulittle32_t NameOffset
support::ulittle32_t DataEntryOffset
union llvm::object::coff_resource_dir_entry::@361 Identifier
union llvm::object::coff_resource_dir_entry::@362 Offset
support::ulittle32_t SubdirOffset
support::ulittle16_t NumberOfNameEntries
support::ulittle32_t Characteristics
support::ulittle16_t NumberOfIDEntries
support::ulittle32_t TimeDateStamp
support::ulittle16_t MinorVersion
support::ulittle16_t MajorVersion
support::ulittle32_t BeginAddress
support::ulittle32_t UnwindInformation
support::ulittle32_t EndAddress
support::ulittle32_t PointerToRawData
char Name[COFF::NameSize]
support::ulittle32_t VirtualSize
bool hasExtendedRelocations() const
uint32_t getAlignment() const
support::ulittle32_t Characteristics
support::ulittle16_t NumberOfLinenumbers
support::ulittle32_t SizeOfRawData
support::ulittle32_t VirtualAddress
support::ulittle32_t PointerToRelocations
support::ulittle16_t NumberOfRelocations
support::ulittle32_t PointerToLinenumbers
union llvm::object::coff_symbol_generic::@360 Name
support::ulittle32_t Value
char ShortName[COFF::NameSize]
union llvm::object::coff_symbol::@359 Name
SectionNumberType SectionNumber
support::ulittle32_t Value
char ShortName[COFF::NameSize]
support::ulittle16_t Type
uint8_t NumberOfAuxSymbols
support::ulittle32_t SizeOfZeroFill
uint32_t getAlignment() const
IntTy StartAddressOfRawData
support::ulittle32_t Characteristics
void setAlignment(uint32_t Align)
IntTy EndAddressOfRawData
support::ulittle32_t RelativeVirtualAddress
support::ulittle32_t Size
support::ulittle16_t MajorVersion
support::ulittle32_t SizeOfData
support::ulittle32_t PointerToRawData
support::ulittle32_t AddressOfRawData
support::ulittle32_t TimeDateStamp
support::ulittle32_t Type
support::ulittle32_t Characteristics
support::ulittle16_t MinorVersion
support::ulittle32_t DelayImportNameTable
support::ulittle32_t DelayImportAddressTable
support::ulittle32_t Name
support::ulittle32_t UnloadDelayImportTable
support::ulittle32_t BoundDelayImportTable
support::ulittle32_t TimeStamp
support::ulittle32_t Attributes
support::ulittle32_t ModuleHandle
support::ulittle32_t OrdinalBase
support::ulittle32_t ExportAddressTableRVA
support::ulittle32_t NameRVA
support::ulittle32_t NumberOfNamePointers
support::ulittle32_t NamePointerRVA
support::ulittle32_t ExportFlags
support::ulittle32_t AddressTableEntries
support::ulittle16_t MinorVersion
support::ulittle16_t MajorVersion
support::ulittle32_t TimeDateStamp
support::ulittle32_t OrdinalTableRVA
uint32_t getHintNameRVA() const
uint16_t getOrdinal() const
support::ulittle32_t ExportRVA
support::ulittle32_t ForwarderRVA