13#ifndef LLVM_OBJECT_COFF_H
14#define LLVM_OBJECT_COFF_H
31#include <system_error>
41class DelayImportDirectoryEntryRef;
43class ExportDirectoryEntryRef;
44class ImportDirectoryEntryRef;
45class ImportedSymbolRef;
46class ResourceSectionRef;
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();
318 assert(isSet() &&
"COFFSymbolRef points to nothing!");
323 assert(isSet() &&
"COFFSymbolRef points to nothing!");
328 assert(isSet() &&
"COFFSymbolRef points to nothing!");
339 assert(isSet() &&
"COFFSymbolRef points to nothing!");
340 return CS16 ? CS16->
Type : CS32->
Type;
344 assert(isSet() &&
"COFFSymbolRef points to nothing!");
349 assert(isSet() &&
"COFFSymbolRef points to nothing!");
359 template <
typename T>
const T *
getAux()
const {
360 return CS16 ?
reinterpret_cast<const T *
>(CS16 + 1)
361 :
reinterpret_cast<const T *
>(CS32 + 1);
368 return getAux<coff_aux_section_definition>();
375 return getAux<coff_aux_weak_external>();
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);
809 return maskTrailingOnes<uint32_t>(31) &
NameOffset;
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);
951 case COFF::IMAGE_FILE_MACHINE_AMD64:
952 return COFF::IMAGE_FILE_MACHINE_ARM64EC;
953 case COFF::IMAGE_FILE_MACHINE_ARM64:
954 return COFF::IMAGE_FILE_MACHINE_ARM64X;
959 if (COFFBigObjHeader)
960 return COFFBigObjHeader->
Machine;
969 if (COFFBigObjHeader)
979 if (COFFBigObjHeader)
987 if (COFFBigObjHeader)
995 if (COFFBigObjHeader)
1004 if (COFFBigObjHeader)
1012 if (COFFBigObjHeader)
1018 if (!SymbolTable16 && !SymbolTable32)
1020 return getRawNumberOfSymbols();
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;
1128 return make_range(debug_directory_begin(), debug_directory_end());
1132 return TLSDirectory32;
1135 return TLSDirectory64;
1139 if (!PE32Header && !PE32PlusHeader)
1141 return reinterpret_cast<const dos_header *
>(base());
1146 return COFFBigObjHeader;
1155 if (index >= getNumberOfSymbols())
1164 template <
typename T>
1169 Res =
reinterpret_cast<const T *
>(S->getRawPtr());
1170 return Error::success();
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< 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
static StringRef getSymbolName(SymbolKind SymKind)
Given that RA is a live value
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.
std::pair< llvm::MachO::Target, std::string > UUID
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.
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.
A table of densely packed, null-terminated strings indexed by offset.
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
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 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
Error getAuxSymbol(uint32_t index, const T *&Res) const
uintptr_t getSymbolTable() const
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
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 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 arm64x_reloc_iterator arm64x_reloc_begin() const
LLVM_ABI void getContents(ArrayRef< uint8_t > &Ref) const
DynamicRelocRef()=default
LLVM_ABI uint32_t getType() const
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 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 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 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
This class is the base class for all object file types.
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_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))
Expected< const typename ELFT::Shdr * > getSection(typename ELFT::ShdrRange Sections, uint32_t Index)
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 >
LLVM_ABI 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
union llvm::object::coff_resource_dir_entry::@371 Identifier
support::ulittle32_t DataEntryOffset
union llvm::object::coff_resource_dir_entry::@372 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::@370 Name
support::ulittle32_t Value
char ShortName[COFF::NameSize]
union llvm::object::coff_symbol::@369 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