13#ifndef LLVM_OBJECT_COFF_H 
   14#define LLVM_OBJECT_COFF_H 
   31#include <system_error> 
  193template <
typename IntTy>
 
  201    return Data & 0xFFFF;
 
 
  206    return Data & 0xFFFFFFFF;
 
 
 
  254template <
typename SectionNumberType>
 
  292    return CS16 ? 
static_cast<const void *
>(CS16) : CS32;
 
 
  302    return A.getRawPtr() < 
B.getRawPtr();
 
 
  314    return CS16 ? CS16->Name.ShortName : CS32->Name.ShortName;
 
 
  318    assert(isSet() && 
"COFFSymbolRef points to nothing!");
 
  319    return CS16 ? CS16->Name.Offset : CS32->Name.Offset;
 
 
  323    assert(isSet() && 
"COFFSymbolRef points to nothing!");
 
  324    return CS16 ? CS16->Value : CS32->Value;
 
 
  328    assert(isSet() && 
"COFFSymbolRef points to nothing!");
 
  332        return CS16->SectionNumber;
 
  333      return static_cast<int16_t
>(CS16->SectionNumber);
 
  335    return static_cast<int32_t
>(CS32->SectionNumber);
 
 
  339    assert(isSet() && 
"COFFSymbolRef points to nothing!");
 
  340    return CS16 ? CS16->Type : CS32->Type;
 
 
  344    assert(isSet() && 
"COFFSymbolRef points to nothing!");
 
  345    return CS16 ? CS16->StorageClass : CS32->StorageClass;
 
 
  349    assert(isSet() && 
"COFFSymbolRef points to nothing!");
 
  350    return CS16 ? CS16->NumberOfAuxSymbols : CS32->NumberOfAuxSymbols;
 
 
  359  template <
typename T> 
const T *
getAux()
 const {
 
  360    return CS16 ? 
reinterpret_cast<const T *
>(CS16 + 1)
 
  361                : 
reinterpret_cast<const T *
>(CS32 + 1);
 
 
  429    bool isAppdomainGlobal =
 
  435    return isAppdomainGlobal || isOrdinarySection;
 
 
  443  bool isSet()
 const { 
return CS16 || CS32; }
 
 
  478      return 1U << (Shift - 1);
 
 
 
  498              "auxiliary entry must be 18 bytes");
 
  509              "auxiliary entry must be 18 bytes");
 
  518              "auxiliary entry must be 18 bytes");
 
  533    return static_cast<int32_t
>(
Number);
 
 
 
  537static_assert(
sizeof(coff_aux_section_definition) == 18,
 
  538              "auxiliary entry must be 18 bytes");
 
  548              "auxiliary entry must be 18 bytes");
 
  577template <
typename IntTy>
 
  590      return 1U << (Shift - 1);
 
 
 
  894  const char *StringTable;
 
  898  uint32_t NumberOfDelayImportDirectory;
 
  907  const void *LoadConfig = 
nullptr;
 
  913  template <
typename coff_symbol_type>
 
  914  const coff_symbol_type *toSymb(
DataRefImpl Symb) 
const;
 
  921  Error initSymbolTablePtr();
 
  922  Error initImportTablePtr();
 
  923  Error initDelayImportTablePtr();
 
  924  Error initExportTablePtr();
 
  925  Error initBaseRelocPtr();
 
  926  Error initDebugDirectoryPtr();
 
  927  Error initTLSDirectoryPtr();
 
  928  Error initLoadConfigPtr();
 
  937      return reinterpret_cast<uintptr_t
>(SymbolTable16);
 
  939      return reinterpret_cast<uintptr_t
>(SymbolTable32);
 
 
  944    return StringRef(StringTable, StringTableSize);
 
 
  950        switch (COFFHeader->Machine) {
 
  957      return COFFHeader->Machine;
 
  959    if (COFFBigObjHeader)
 
  960      return COFFBigObjHeader->Machine;
 
 
  966      return COFFHeader->isImportLibrary() ? 0
 
  967                                           : COFFHeader->SizeOfOptionalHeader;
 
  969    if (COFFBigObjHeader)
 
 
  976      return COFFHeader->isImportLibrary() ? 0 : COFFHeader->Characteristics;
 
  979    if (COFFBigObjHeader)
 
 
  986      return COFFHeader->TimeDateStamp;
 
  987    if (COFFBigObjHeader)
 
  988      return COFFBigObjHeader->TimeDateStamp;
 
 
  994      return COFFHeader->isImportLibrary() ? 0 : COFFHeader->NumberOfSections;
 
  995    if (COFFBigObjHeader)
 
  996      return COFFBigObjHeader->NumberOfSections;
 
 
 1002      return COFFHeader->isImportLibrary() ? 0
 
 1003                                           : COFFHeader->PointerToSymbolTable;
 
 1004    if (COFFBigObjHeader)
 
 1005      return COFFBigObjHeader->PointerToSymbolTable;
 
 
 1011      return COFFHeader->isImportLibrary() ? 0 : COFFHeader->NumberOfSymbols;
 
 1012    if (COFFBigObjHeader)
 
 1013      return COFFBigObjHeader->NumberOfSymbols;
 
 
 1018    if (!SymbolTable16 && !SymbolTable32)
 
 
 1026    return ExportDirectory;
 
 
 1041    return DynamicRelocTable;
 
 
 1047  void moveSymbolNext(
DataRefImpl &Symb) 
const override;
 
 1056  void moveSectionNext(
DataRefImpl &Sec) 
const override;
 
 1062  getSectionContents(
DataRefImpl Sec) 
const override;
 
 1064  bool isSectionCompressed(
DataRefImpl Sec) 
const override;
 
 1065  bool isSectionText(
DataRefImpl Sec) 
const override;
 
 1066  bool isSectionData(
DataRefImpl Sec) 
const override;
 
 1067  bool isSectionBSS(
DataRefImpl Sec) 
const override;
 
 1068  bool isSectionVirtual(
DataRefImpl Sec) 
const override;
 
 1073  void moveRelocationNext(
DataRefImpl &Rel) 
const override;
 
 1095  uint8_t getBytesInAddress() 
const override;
 
 1096  StringRef getFileFormatName() 
const override;
 
 1102  std::unique_ptr<MemoryBuffer> getHybridObjectView() 
const;
 
 1115    return DebugDirectoryBegin;
 
 
 1118    return DebugDirectoryEnd;
 
 
 1123      delay_import_directories() 
const;
 
 1132    return TLSDirectory32;
 
 
 1135    return TLSDirectory64;
 
 
 1139    if (!PE32Header && !PE32PlusHeader)
 
 
 1146    return COFFBigObjHeader;
 
 
 1164  template <
typename T>
 
 1169    Res = 
reinterpret_cast<const T *
>(S->getRawPtr());
 
 
 1183    if (COFFBigObjHeader)
 
 
 1198                  const char *ErrorContext = 
nullptr) 
const;
 
 1205                             const char *ErrorContext = 
nullptr) 
const;
 
 1222  bool isRelocatableObject() 
const override;
 
 1223  bool is64()
 const { 
return PE32PlusHeader; }
 
 
 1236      : ImportTable(Table), Index(
I), OwningObject(Owner) {}
 
 
 
 1268      : Table(
T), Index(
I), OwningObject(Owner) {}
 
 
 
 1294      : ExportTable(Table), Index(
I), OwningObject(Owner) {}
 
 
 
 1319      : Entry32(Entry), Entry64(nullptr), Index(
I), OwningObject(Owner) {}
 
 
 1322      : Entry32(nullptr), Entry64(Entry), Index(
I), OwningObject(Owner) {}
 
 
 
 1344      : Header(Header), Index(0) {}
 
 
 
 1361      : Obj(Owner), Header(reinterpret_cast<
const uint8_t *>(Header)) {}
 
 
 1373  Error validate() 
const;
 
 
 1385      : Header(Header), Index(Index) {}
 
 
 1403  uint16_t getArg()
 const { 
return getReloc() >> 14; }
 
 1405  Error validate(
const COFFObjectFile *Obj) 
const;
 
 1407  const coff_base_reloc_block_header *Header;
 
 
 1441  std::vector<const coff_relocation *> Relocs;
 
 
 1476    : 
public ErrorInfo<SectionStrippedError, BinaryError> {
 
 
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
 
AMDGPU Mark last scratch load
 
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
 
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
 
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
 
Analysis containing CSE Info
 
static StringRef getSymbolName(SymbolKind SymKind)
 
static bool isDebugSection(const SectionBase &Sec)
 
static unsigned getSymbolSectionID(const ObjectFile &O, SymbolRef Sym)
 
static unsigned getSectionID(const ObjectFile &O, SectionRef Sec)
 
static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringLiteral > StandardNames)
Initialize the set of available library functions based on the specified target triple.
 
static std::unique_ptr< PDBSymbol > getSymbolType(const PDBSymbol &Symbol)
 
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)
 
friend class DynamicRelocRef
 
LLVM_ABI bool operator==(const Arm64XRelocRef &Other) const
 
COFF::Arm64XFixupType getType() const
 
LLVM_ABI uint8_t getSize() const
 
LLVM_ABI uint64_t getValue() const
 
BaseRelocRef(const coff_base_reloc_block_header *Header, const COFFObjectFile *Owner)
 
LLVM_ABI Error getType(uint8_t &Type) const
 
LLVM_ABI bool operator==(const BaseRelocRef &Other) const
 
LLVM_ABI Error getRVA(uint32_t &Result) const
 
const dos_header * getDOSHeader() const
 
static bool classof(const Binary *v)
 
uint32_t getRawNumberOfSymbols() const
 
const coff_tls_directory64 * getTLSDirectory64() const
 
const pe32_header * getPE32Header() const
 
Expected< COFFSymbolRef > getSymbol(uint32_t index) const
 
const debug_directory * debug_directory_end() const
 
const coff_tls_directory32 * getTLSDirectory32() const
 
Expected< SubtargetFeatures > getFeatures() const override
 
uint32_t getPointerToSymbolTable() const
 
iterator_range< const debug_directory * > debug_directories() const
 
const coff_dynamic_reloc_table * getDynamicRelocTable() const
 
uint32_t getNumberOfSymbols() const
 
const coff_file_header * getCOFFHeader() const
 
size_t getSymbolTableEntrySize() const
 
friend class ImportDirectoryEntryRef
 
Error getAuxSymbol(uint32_t index, const T *&Res) const
 
uintptr_t getSymbolTable() const
 
static Expected< std::unique_ptr< COFFObjectFile > > create(MemoryBufferRef Object)
 
const coff_bigobj_file_header * getCOFFBigObjHeader() const
 
const coff_load_configuration64 * getLoadConfig64() const
 
uint32_t getNumberOfSections() const
 
uint32_t getTimeDateStamp() const
 
uint32_t getStringTableSize() const
 
const chpe_metadata * getCHPEMetadata() const
 
const debug_directory * debug_directory_begin() const
 
const coff_load_configuration32 * getLoadConfig32() const
 
StringRef getStringTable() const
 
uint16_t getSizeOfOptionalHeader() const
 
uint16_t getCharacteristics() const
 
friend class ExportDirectoryEntryRef
 
const pe32plus_header * getPE32PlusHeader() const
 
uint16_t getMachine() const
 
const export_directory_table_entry * getExportTable() const
 
bool is64Bit() 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
 
bool isEmptySectionDeclaration() const
 
friend bool operator<(COFFSymbolRef A, COFFSymbolRef B)
 
const char * getShortName() const
 
int32_t getSectionNumber() const
 
bool isFunctionDefinition() const
 
LLVM_ABI bool operator==(const DelayImportDirectoryEntryRef &Other) const
 
LLVM_ABI imported_symbol_iterator imported_symbol_begin() const
 
LLVM_ABI Error getImportAddress(int AddrIndex, uint64_t &Result) const
 
LLVM_ABI iterator_range< imported_symbol_iterator > imported_symbols() const
 
DelayImportDirectoryEntryRef()=default
 
LLVM_ABI imported_symbol_iterator imported_symbol_end() const
 
LLVM_ABI Error getDelayImportTable(const delay_import_directory_table_entry *&Result) const
 
DelayImportDirectoryEntryRef(const delay_import_directory_table_entry *T, uint32_t I, const COFFObjectFile *Owner)
 
LLVM_ABI Error getName(StringRef &Result) const
 
LLVM_ABI bool operator==(const DynamicRelocRef &Other) const
 
LLVM_ABI arm64x_reloc_iterator arm64x_reloc_begin() const
 
LLVM_ABI void getContents(ArrayRef< uint8_t > &Ref) const
 
DynamicRelocRef()=default
 
LLVM_ABI uint32_t getType() const
 
friend class COFFObjectFile
 
LLVM_ABI arm64x_reloc_iterator arm64x_reloc_end() const
 
LLVM_ABI iterator_range< arm64x_reloc_iterator > arm64x_relocs() const
 
DynamicRelocRef(const void *Header, const COFFObjectFile *Owner)
 
LLVM_ABI bool operator==(const ExportDirectoryEntryRef &Other) const
 
LLVM_ABI Error getDllName(StringRef &Result) const
 
ExportDirectoryEntryRef(const export_directory_table_entry *Table, uint32_t I, const COFFObjectFile *Owner)
 
LLVM_ABI Error getExportRVA(uint32_t &Result) const
 
LLVM_ABI Error getOrdinalBase(uint32_t &Result) const
 
LLVM_ABI Error getOrdinal(uint32_t &Result) const
 
LLVM_ABI Error isForwarder(bool &Result) const
 
LLVM_ABI Error getForwardTo(StringRef &Result) const
 
LLVM_ABI Error getSymbolName(StringRef &Result) const
 
ExportDirectoryEntryRef()=default
 
LLVM_ABI bool operator==(const ImportDirectoryEntryRef &Other) const
 
LLVM_ABI imported_symbol_iterator imported_symbol_end() const
 
LLVM_ABI imported_symbol_iterator imported_symbol_begin() const
 
LLVM_ABI Error getImportLookupTableRVA(uint32_t &Result) const
 
LLVM_ABI Error getImportTableEntry(const coff_import_directory_table_entry *&Result) const
 
LLVM_ABI imported_symbol_iterator lookup_table_end() const
 
ImportDirectoryEntryRef(const coff_import_directory_table_entry *Table, uint32_t I, const COFFObjectFile *Owner)
 
ImportDirectoryEntryRef()=default
 
LLVM_ABI iterator_range< imported_symbol_iterator > lookup_table_symbols() const
 
LLVM_ABI iterator_range< imported_symbol_iterator > imported_symbols() const
 
LLVM_ABI imported_symbol_iterator lookup_table_begin() const
 
LLVM_ABI Error getImportAddressTableRVA(uint32_t &Result) const
 
LLVM_ABI Error getName(StringRef &Result) const
 
LLVM_ABI bool operator==(const ImportedSymbolRef &Other) const
 
LLVM_ABI Error getHintNameRVA(uint32_t &Result) const
 
ImportedSymbolRef(const import_lookup_table_entry32 *Entry, uint32_t I, const COFFObjectFile *Owner)
 
LLVM_ABI Error getOrdinal(uint16_t &Result) const
 
ImportedSymbolRef()=default
 
LLVM_ABI Error getSymbolName(StringRef &Result) const
 
ImportedSymbolRef(const import_lookup_table_entry64 *Entry, uint32_t I, const COFFObjectFile *Owner)
 
LLVM_ABI Error isOrdinal(bool &Result) const
 
const uint8_t * base() const
 
ObjectFile(unsigned int Type, MemoryBufferRef Source)
 
This is a value type class that represents a single relocation in the list of relocations in the obje...
 
LLVM_ABI Expected< const coff_resource_dir_table & > getBaseTable()
 
LLVM_ABI Expected< const coff_resource_dir_table & > getEntrySubDir(const coff_resource_dir_entry &Entry)
 
LLVM_ABI Expected< const coff_resource_data_entry & > getEntryData(const coff_resource_dir_entry &Entry)
 
ResourceSectionRef(StringRef Ref)
 
ResourceSectionRef()=default
 
LLVM_ABI Expected< ArrayRef< UTF16 > > getEntryNameString(const coff_resource_dir_entry &Entry)
 
LLVM_ABI Expected< StringRef > getContents(const coff_resource_data_entry &Entry)
 
LLVM_ABI 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))
 
static constexpr const StringLiteral & getSectionName(DebugSectionKind SectionKind)
Return the name of the section.
 
Expected< const typename ELFT::Shdr * > getSection(typename ELFT::ShdrRange Sections, uint32_t Index)
 
content_iterator< SectionRef > section_iterator
 
coff_tls_directory< support::little64_t > coff_tls_directory64
 
content_iterator< BaseRelocRef > base_reloc_iterator
 
support::ulittle16_t export_ordinal_table_entry
 
content_iterator< ExportDirectoryEntryRef > export_directory_iterator
 
content_iterator< BasicSymbolRef > basic_symbol_iterator
 
content_iterator< ImportedSymbolRef > imported_symbol_iterator
 
content_iterator< ImportDirectoryEntryRef > import_directory_iterator
 
coff_tls_directory< support::little32_t > coff_tls_directory32
 
support::ulittle32_t export_name_pointer_table_entry
 
import_lookup_table_entry< support::little32_t > import_lookup_table_entry32
 
coff_symbol< support::ulittle16_t > coff_symbol16
 
import_lookup_table_entry< support::little64_t > import_lookup_table_entry64
 
coff_symbol< support::ulittle32_t > coff_symbol32
 
content_iterator< RelocationRef > relocation_iterator
 
content_iterator< DynamicRelocRef > dynamic_reloc_iterator
 
content_iterator< Arm64XRelocRef > arm64x_reloc_iterator
 
content_iterator< DelayImportDirectoryEntryRef > delay_import_directory_iterator
 
detail::packed_endian_specific_integral< uint64_t, llvm::endianness::little, unaligned > ulittle64_t
 
detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t
 
detail::packed_endian_specific_integral< uint16_t, llvm::endianness::little, unaligned > ulittle16_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.
 
LLVM_ABI Error errorCodeToError(std::error_code EC)
Helper for converting an std::error_code to a Error.
 
constexpr T maskTrailingOnes(unsigned N)
Create a bitmask with the N right-most bits set to 1, and all other bits set to 0.
 
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
 
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::@340141142036315122365305244060341126112054133072 Name
 
support::ulittle32_t Value
 
char ShortName[COFF::NameSize]
 
union llvm::object::coff_symbol::@265345154330271214162033131142206023012313265335 Name
 
support::ulittle16_t SectionNumber
 
support::ulittle32_t Value
 
char ShortName[COFF::NameSize]
 
support::ulittle16_t Type
 
uint8_t NumberOfAuxSymbols
 
support::ulittle32_t SizeOfZeroFill
 
uint32_t getAlignment() const
 
support::little32_t AddressOfIndex
 
support::little32_t AddressOfCallBacks
 
support::little32_t StartAddressOfRawData
 
support::ulittle32_t Characteristics
 
void setAlignment(uint32_t Align)
 
support::little32_t 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