class COFFObjectFile
Declaration
class COFFObjectFile : public ObjectFile { /* full declaration omitted */ };
Description
This class is the base class for all object file types. Concrete instances of this object are created by createObjectFile, which figures out which type to create.
Declared at: llvm/include/llvm/Object/COFF.h:799
Inherits from: ObjectFile
Member Variables
- private const llvm::object::coff_file_header* COFFHeader
- private const llvm::object::coff_bigobj_file_header* COFFBigObjHeader
- private const llvm::object::pe32_header* PE32Header
- private const llvm::object::pe32plus_header* PE32PlusHeader
- private const llvm::object::data_directory* DataDirectory
- private const llvm::object::coff_section* SectionTable
- private const llvm::object::coff_symbol16* SymbolTable16
- private const llvm::object::coff_symbol32* SymbolTable32
- private const char* StringTable
- private uint32_t StringTableSize
- private const llvm::object:: coff_import_directory_table_entry* ImportDirectory
- private const llvm::object:: delay_import_directory_table_entry* DelayImportDirectory
- private uint32_t NumberOfDelayImportDirectory
- private const llvm::object::export_directory_table_entry* ExportDirectory
- private const llvm::object::coff_base_reloc_block_header* BaseRelocHeader
- private const llvm::object::coff_base_reloc_block_header* BaseRelocEnd
- private const llvm::object::debug_directory* DebugDirectoryBegin
- private const llvm::object::debug_directory* DebugDirectoryEnd
- private const llvm::object::coff_tls_directory32* TLSDirectory32
- private const llvm::object::coff_tls_directory64* TLSDirectory64
- private const void* LoadConfig = nullptr
Inherited from Binary:
Method Overview
- private COFFObjectFile(llvm::MemoryBufferRef Object)
- public llvm::object::base_reloc_iterator base_reloc_begin() const
- public llvm::object::base_reloc_iterator base_reloc_end() const
- public iterator_range<llvm::object::base_reloc_iterator> base_relocs() const
- public static bool classof(const llvm::object::Binary * v)
- public static Expected<std::unique_ptr<COFFObjectFile>> create(llvm::MemoryBufferRef Object)
- public iterator_range<const llvm::object::debug_directory *> debug_directories() const
- public const llvm::object::debug_directory * debug_directory_begin() const
- public const llvm::object::debug_directory * debug_directory_end() const
- public iterator_range<llvm::object::delay_import_directory_iterator> delay_import_directories() const
- public llvm::object::delay_import_directory_iterator delay_import_directory_begin() const
- public llvm::object::delay_import_directory_iterator delay_import_directory_end() const
- public iterator_range<llvm::object::export_directory_iterator> export_directories() const
- public llvm::object::export_directory_iterator export_directory_begin() const
- public llvm::object::export_directory_iterator export_directory_end() const
- public Triple::ArchType getArch() const
- public template <typename T>llvm::Error getAuxSymbol(uint32_t index, const T *& Res) const
- public uint8_t getBytesInAddress() const
- public const llvm::object::coff_bigobj_file_header * getCOFFBigObjHeader() const
- public const llvm::object::coff_file_header * getCOFFHeader() const
- public const llvm::object::coff_relocation * getCOFFRelocation(const llvm::object::RelocationRef & Reloc) const
- public const llvm::object::coff_section * getCOFFSection(const llvm::object::SectionRef & Section) const
- public llvm::object::COFFSymbolRef getCOFFSymbol(const llvm::object::DataRefImpl & Ref) const
- public llvm::object::COFFSymbolRef getCOFFSymbol(const llvm::object::SymbolRef & Symbol) const
- public uint16_t getCharacteristics() const
- protected uint64_t getCommonSymbolSizeImpl(llvm::object::DataRefImpl Symb) const
- public const llvm::object::dos_header * getDOSHeader() const
- public const llvm::object::data_directory * getDataDirectory(uint32_t index) const
- public llvm::Error getDebugPDBInfo(const codeview::DebugInfo *& Info, llvm::StringRef & PDBFileName) const
- public llvm::Error getDebugPDBInfo(const llvm::object::debug_directory * DebugDir, const codeview::DebugInfo *& Info, llvm::StringRef & PDBFileName) const
- public llvm::SubtargetFeatures getFeatures() const
- public llvm::StringRef getFileFormatName() const
- public llvm::Error getHintName(uint32_t Rva, uint16_t & Hint, llvm::StringRef & Name) const
- public uint64_t getImageBase() const
- public const llvm::object::coff_load_configuration32 * getLoadConfig32() const
- public const llvm::object::coff_load_configuration64 * getLoadConfig64() const
- public uint16_t getMachine() const
- public uint32_t getNumberOfSections() const
- public uint32_t getNumberOfSymbols() const
- public const llvm::object::pe32_header * getPE32Header() const
- public const llvm::object::pe32plus_header * getPE32PlusHeader() const
- public uint32_t getPointerToSymbolTable() const
- public uint32_t getRawNumberOfSymbols() const
- protected uint64_t getRelocationOffset(llvm::object::DataRefImpl Rel) const
- protected llvm::object::symbol_iterator getRelocationSymbol(llvm::object::DataRefImpl Rel) const
- protected uint64_t getRelocationType(llvm::object::DataRefImpl Rel) const
- public llvm::StringRef getRelocationTypeName(uint16_t Type) const
- protected void getRelocationTypeName(llvm::object::DataRefImpl Rel, SmallVectorImpl<char> & Result) const
- public ArrayRef<llvm::object::coff_relocation> getRelocations(const llvm::object::coff_section * Sec) const
- public llvm::Error getRvaAndSizeAsBytes(uint32_t RVA, uint32_t Size, ArrayRef<uint8_t> & Contents, const char * ErrorContext = nullptr) const
- public llvm::Error getRvaPtr(uint32_t Rva, uintptr_t & Res, const char * ErrorContext = nullptr) const
- public Expected<const llvm::object::coff_section *> getSection(int32_t index) const
- protected uint64_t getSectionAddress(llvm::object::DataRefImpl Sec) const
- protected uint64_t getSectionAlignment(llvm::object::DataRefImpl Sec) const
- protected Expected<ArrayRef<uint8_t>> getSectionContents(llvm::object::DataRefImpl Sec) const
- public llvm::Error getSectionContents(const llvm::object::coff_section * Sec, ArrayRef<uint8_t> & Res) const
- public unsigned int getSectionID(llvm::object::SectionRef Sec) const
- protected uint64_t getSectionIndex(llvm::object::DataRefImpl Sec) const
- public Expected<llvm::StringRef> getSectionName(const llvm::object::coff_section * Sec) const
- protected Expected<llvm::StringRef> getSectionName(llvm::object::DataRefImpl Sec) const
- public uint64_t getSectionSize(const llvm::object::coff_section * Sec) const
- protected uint64_t getSectionSize(llvm::object::DataRefImpl Sec) const
- public uint16_t getSizeOfOptionalHeader() const
- public Expected<uint64_t> getStartAddress() const
- private Expected<llvm::StringRef> getString(uint32_t offset) const
- public uint32_t getStringTableSize() const
- public Expected<llvm::object::COFFSymbolRef> getSymbol(uint32_t index) const
- protected Expected<uint64_t> getSymbolAddress(llvm::object::DataRefImpl Symb) const
- protected uint32_t getSymbolAlignment(llvm::object::DataRefImpl Symb) const
- public ArrayRef<uint8_t> getSymbolAuxData(llvm::object::COFFSymbolRef Symbol) const
- protected Expected<uint32_t> getSymbolFlags(llvm::object::DataRefImpl Symb) const
- public uint32_t getSymbolIndex(llvm::object::COFFSymbolRef Symbol) const
- public Expected<llvm::StringRef> getSymbolName(const llvm::object::coff_symbol_generic * Symbol) const
- public Expected<llvm::StringRef> getSymbolName(llvm::object::COFFSymbolRef Symbol) const
- protected Expected<llvm::StringRef> getSymbolName(llvm::object::DataRefImpl Symb) const
- protected Expected<llvm::object::section_iterator> getSymbolSection(llvm::object::DataRefImpl Symb) const
- public unsigned int getSymbolSectionID(llvm::object::SymbolRef Sym) const
- public uintptr_t getSymbolTable() const
- public size_t getSymbolTableEntrySize() const
- protected Expected<SymbolRef::Type> getSymbolType(llvm::object::DataRefImpl Symb) const
- protected uint64_t getSymbolValueImpl(llvm::object::DataRefImpl Symb) const
- public const llvm::object::coff_tls_directory32 * getTLSDirectory32() const
- public const llvm::object::coff_tls_directory64 * getTLSDirectory64() const
- public uint32_t getTimeDateStamp() const
- public llvm::Error getVaPtr(uint64_t VA, uintptr_t & Res) const
- public iterator_range<llvm::object::import_directory_iterator> import_directories() const
- public llvm::object::import_directory_iterator import_directory_begin() const
- public llvm::object::import_directory_iterator import_directory_end() const
- private llvm::Error initBaseRelocPtr()
- private llvm::Error initDebugDirectoryPtr()
- private llvm::Error initDelayImportTablePtr()
- private llvm::Error initExportTablePtr()
- private llvm::Error initImportTablePtr()
- private llvm::Error initLoadConfigPtr()
- private llvm::Error initSymbolTablePtr()
- private llvm::Error initTLSDirectoryPtr()
- private llvm::Error initialize()
- public bool is64() const
- protected bool isDebugSection(llvm::object::DataRefImpl Sec) const
- public bool isRelocatableObject() const
- protected bool isSectionBSS(llvm::object::DataRefImpl Sec) const
- protected bool isSectionCompressed(llvm::object::DataRefImpl Sec) const
- protected bool isSectionData(llvm::object::DataRefImpl Sec) const
- protected bool isSectionText(llvm::object::DataRefImpl Sec) const
- protected bool isSectionVirtual(llvm::object::DataRefImpl Sec) const
- public llvm::StringRef mapDebugSectionName(llvm::StringRef Name) const
- protected void moveRelocationNext(llvm::object::DataRefImpl & Rel) const
- protected void moveSectionNext(llvm::object::DataRefImpl & Sec) const
- protected void moveSymbolNext(llvm::object::DataRefImpl & Symb) const
- public llvm::object::section_iterator section_begin() const
- public llvm::object::section_iterator section_end() const
- protected llvm::object::relocation_iterator section_rel_begin(llvm::object::DataRefImpl Sec) const
- protected llvm::object::relocation_iterator section_rel_end(llvm::object::DataRefImpl Sec) const
- public llvm::object::basic_symbol_iterator symbol_begin() const
- public llvm::object::basic_symbol_iterator symbol_end() const
- private const llvm::object::coff_relocation * toRel(llvm::object::DataRefImpl Rel) const
- private const llvm::object::coff_section * toSec(llvm::object::DataRefImpl Sec) const
- private template <typename coff_symbol_type>const coff_symbol_type * toSymb(llvm::object::DataRefImpl Symb) const
Inherited from ObjectFile:
- protected base
- public classof
- public createCOFFObjectFile
- public createELFObjectFile
- public createMachOObjectFile
- public createObjectFile
- public createObjectFile
- public createObjectFile
- public createWasmObjectFile
- public createXCOFFObjectFile
- public dynamic_relocation_sections
- public getArch
- public getBytesInAddress
- public getCommonSymbolSize
- protected getCommonSymbolSizeImpl
- public getFeatures
- public getFileFormatName
- protected getRelocatedSection
- protected getRelocationOffset
- protected getRelocationSymbol
- protected getRelocationType
- protected getRelocationTypeName
- protected getSectionAddress
- protected getSectionAlignment
- protected getSectionContents
- protected getSectionIndex
- protected getSectionName
- protected getSectionSize
- public getStartAddress
- protected getSymbolAddress
- protected getSymbolAlignment
- protected getSymbolName
- protected getSymbolSection
- protected getSymbolType
- protected getSymbolValue
- protected getSymbolValueImpl
- protected isBerkeleyData
- protected isBerkeleyText
- protected isDebugSection
- public isReflectionSectionStrippable
- public isRelocatableObject
- protected isSectionBSS
- protected isSectionBitcode
- protected isSectionCompressed
- protected isSectionData
- protected isSectionStripped
- protected isSectionText
- protected isSectionVirtual
- public makeTriple
- public mapDebugSectionName
- protected mapReflectionSectionNameToEnumValue
- protected moveRelocationNext
- protected moveSectionNext
- protected printSymbolName
- public section_begin
- public section_end
- protected section_rel_begin
- protected section_rel_end
- public sections
- public setARMSubArch
- public symbols
- public tryGetCPUName
Inherited from SymbolicFile:
- public classof
- public createSymbolicFile
- public createSymbolicFile
- public getSymbolFlags
- public isSymbolicFile
- public moveSymbolNext
- public printSymbolName
- public symbol_begin
- public symbol_end
- public symbols
Inherited from Binary:
- public checkOffset
- public getData
- protected getELFType
- public getFileName
- protected getMachOType
- public getMemoryBufferRef
- public getTripleObjectFormat
- public getType
- public initContent
- public isArchive
- public isCOFF
- public isCOFFImportFile
- public isELF
- public isIR
- public isLittleEndian
- public isMachO
- public isMachOUniversalBinary
- public isMinidump
- public isObject
- public isOffloadFile
- public isSymbolic
- public isTapiFile
- public isTapiUniversal
- public isWasm
- public isWinRes
- public isXCOFF
Methods
¶COFFObjectFile(llvm::MemoryBufferRef Object)
COFFObjectFile(llvm::MemoryBufferRef Object)
Declared at: llvm/include/llvm/Object/COFF.h:801
Parameters
- llvm::MemoryBufferRef Object
¶llvm::object::base_reloc_iterator
base_reloc_begin() const
llvm::object::base_reloc_iterator
base_reloc_begin() const
Declared at: llvm/include/llvm/Object/COFF.h:998
¶llvm::object::base_reloc_iterator base_reloc_end()
const
llvm::object::base_reloc_iterator base_reloc_end()
const
Declared at: llvm/include/llvm/Object/COFF.h:999
¶iterator_range<llvm::object::base_reloc_iterator>
base_relocs() const
iterator_range<llvm::object::base_reloc_iterator>
base_relocs() const
Declared at: llvm/include/llvm/Object/COFF.h:1011
¶static bool classof(const llvm::object::Binary* v)
static bool classof(const llvm::object::Binary* v)
Declared at: llvm/include/llvm/Object/COFF.h:1112
Parameters
- const llvm::object::Binary* v
¶static Expected<std::unique_ptr<COFFObjectFile>>
create(llvm::MemoryBufferRef Object)
static Expected<std::unique_ptr<COFFObjectFile>>
create(llvm::MemoryBufferRef Object)
Declared at: llvm/include/llvm/Object/COFF.h:849
Parameters
- llvm::MemoryBufferRef Object
¶iterator_range<
const llvm::object::debug_directory*>
debug_directories() const
iterator_range<
const llvm::object::debug_directory*>
debug_directories() const
Declared at: llvm/include/llvm/Object/COFF.h:1012
¶const llvm::object::debug_directory*
debug_directory_begin() const
const llvm::object::debug_directory*
debug_directory_begin() const
Declared at: llvm/include/llvm/Object/COFF.h:1000
¶const llvm::object::debug_directory*
debug_directory_end() const
const llvm::object::debug_directory*
debug_directory_end() const
Declared at: llvm/include/llvm/Object/COFF.h:1003
¶iterator_range<
llvm::object::delay_import_directory_iterator>
delay_import_directories() const
iterator_range<
llvm::object::delay_import_directory_iterator>
delay_import_directories() const
Declared at: llvm/include/llvm/Object/COFF.h:1009
¶llvm::object::delay_import_directory_iterator
delay_import_directory_begin() const
llvm::object::delay_import_directory_iterator
delay_import_directory_begin() const
Declared at: llvm/include/llvm/Object/COFF.h:994
¶llvm::object::delay_import_directory_iterator
delay_import_directory_end() const
llvm::object::delay_import_directory_iterator
delay_import_directory_end() const
Declared at: llvm/include/llvm/Object/COFF.h:995
¶iterator_range<
llvm::object::export_directory_iterator>
export_directories() const
iterator_range<
llvm::object::export_directory_iterator>
export_directories() const
Declared at: llvm/include/llvm/Object/COFF.h:1010
¶llvm::object::export_directory_iterator
export_directory_begin() const
llvm::object::export_directory_iterator
export_directory_begin() const
Declared at: llvm/include/llvm/Object/COFF.h:996
¶llvm::object::export_directory_iterator
export_directory_end() const
llvm::object::export_directory_iterator
export_directory_end() const
Declared at: llvm/include/llvm/Object/COFF.h:997
¶Triple::ArchType getArch() const
Triple::ArchType getArch() const
Declared at: llvm/include/llvm/Object/COFF.h:988
¶template <typename T>
llvm::Error getAuxSymbol(uint32_t index,
const T*& Res) const
template <typename T>
llvm::Error getAuxSymbol(uint32_t index,
const T*& Res) const
Declared at: llvm/include/llvm/Object/COFF.h:1050
Templates
- T
Parameters
- uint32_t index
- const T*& Res
¶uint8_t getBytesInAddress() const
uint8_t getBytesInAddress() const
Description
The number of bytes used to represent an address in this object file format.
Declared at: llvm/include/llvm/Object/COFF.h:986
¶const llvm::object::coff_bigobj_file_header*
getCOFFBigObjHeader() const
const llvm::object::coff_bigobj_file_header*
getCOFFBigObjHeader() const
Declared at: llvm/include/llvm/Object/COFF.h:1030
¶const llvm::object::coff_file_header*
getCOFFHeader() const
const llvm::object::coff_file_header*
getCOFFHeader() const
Declared at: llvm/include/llvm/Object/COFF.h:1029
¶const llvm::object::coff_relocation*
getCOFFRelocation(
const llvm::object::RelocationRef& Reloc)
const
const llvm::object::coff_relocation*
getCOFFRelocation(
const llvm::object::RelocationRef& Reloc)
const
Declared at: llvm/include/llvm/Object/COFF.h:982
Parameters
- const llvm::object::RelocationRef& Reloc
¶const llvm::object::coff_section* getCOFFSection(
const llvm::object::SectionRef& Section) const
const llvm::object::coff_section* getCOFFSection(
const llvm::object::SectionRef& Section) const
Declared at: llvm/include/llvm/Object/COFF.h:979
Parameters
- const llvm::object::SectionRef& Section
¶llvm::object::COFFSymbolRef getCOFFSymbol(
const llvm::object::DataRefImpl& Ref) const
llvm::object::COFFSymbolRef getCOFFSymbol(
const llvm::object::DataRefImpl& Ref) const
Declared at: llvm/include/llvm/Object/COFF.h:980
Parameters
- const llvm::object::DataRefImpl& Ref
¶llvm::object::COFFSymbolRef getCOFFSymbol(
const llvm::object::SymbolRef& Symbol) const
llvm::object::COFFSymbolRef getCOFFSymbol(
const llvm::object::SymbolRef& Symbol) const
Declared at: llvm/include/llvm/Object/COFF.h:981
Parameters
- const llvm::object::SymbolRef& Symbol
¶uint16_t getCharacteristics() const
uint16_t getCharacteristics() const
Declared at: llvm/include/llvm/Object/COFF.h:877
¶uint64_t getCommonSymbolSizeImpl(
llvm::object::DataRefImpl Symb) const
uint64_t getCommonSymbolSizeImpl(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:945
Parameters
¶const llvm::object::dos_header* getDOSHeader()
const
const llvm::object::dos_header* getDOSHeader()
const
Declared at: llvm/include/llvm/Object/COFF.h:1023
¶const llvm::object::data_directory*
getDataDirectory(uint32_t index) const
const llvm::object::data_directory*
getDataDirectory(uint32_t index) const
Declared at: llvm/include/llvm/Object/COFF.h:1036
Parameters
- uint32_t index
¶llvm::Error getDebugPDBInfo(
const codeview::DebugInfo*& Info,
llvm::StringRef& PDBFileName) const
llvm::Error getDebugPDBInfo(
const codeview::DebugInfo*& Info,
llvm::StringRef& PDBFileName) const
Description
Get PDB information from an executable. If the information is not present, Info will be set to nullptr and PDBFileName will be empty. An error is returned only on corrupt object files. Convenience accessor that can be used if the debug directory is not already handy.
Declared at: llvm/include/llvm/Object/COFF.h:1104
Parameters
- const codeview::DebugInfo*& Info
- llvm::StringRef& PDBFileName
¶llvm::Error getDebugPDBInfo(
const llvm::object::debug_directory* DebugDir,
const codeview::DebugInfo*& Info,
llvm::StringRef& PDBFileName) const
llvm::Error getDebugPDBInfo(
const llvm::object::debug_directory* DebugDir,
const codeview::DebugInfo*& Info,
llvm::StringRef& PDBFileName) const
Description
Get PDB information out of a codeview debug directory entry.
Declared at: llvm/include/llvm/Object/COFF.h:1096
Parameters
- const llvm::object::debug_directory* DebugDir
- const codeview::DebugInfo*& Info
- llvm::StringRef& PDBFileName
¶llvm::SubtargetFeatures getFeatures() const
llvm::SubtargetFeatures getFeatures() const
Declared at: llvm/include/llvm/Object/COFF.h:990
¶llvm::StringRef getFileFormatName() const
llvm::StringRef getFileFormatName() const
Declared at: llvm/include/llvm/Object/COFF.h:987
¶llvm::Error getHintName(
uint32_t Rva,
uint16_t& Hint,
llvm::StringRef& Name) const
llvm::Error getHintName(
uint32_t Rva,
uint16_t& Hint,
llvm::StringRef& Name) const
Declared at: llvm/include/llvm/Object/COFF.h:1092
Parameters
- uint32_t Rva
- uint16_t& Hint
- llvm::StringRef& Name
¶uint64_t getImageBase() const
uint64_t getImageBase() const
Declared at: llvm/include/llvm/Object/COFF.h:1080
¶const llvm::object::coff_load_configuration32*
getLoadConfig32() const
const llvm::object::coff_load_configuration32*
getLoadConfig32() const
Declared at: llvm/include/llvm/Object/COFF.h:928
¶const llvm::object::coff_load_configuration64*
getLoadConfig64() const
const llvm::object::coff_load_configuration64*
getLoadConfig64() const
Declared at: llvm/include/llvm/Object/COFF.h:933
¶uint16_t getMachine() const
uint16_t getMachine() const
Declared at: llvm/include/llvm/Object/COFF.h:859
¶uint32_t getNumberOfSections() const
uint32_t getNumberOfSections() const
Declared at: llvm/include/llvm/Object/COFF.h:895
¶uint32_t getNumberOfSymbols() const
uint32_t getNumberOfSymbols() const
Declared at: llvm/include/llvm/Object/COFF.h:920
¶const llvm::object::pe32_header* getPE32Header()
const
const llvm::object::pe32_header* getPE32Header()
const
Declared at: llvm/include/llvm/Object/COFF.h:1033
¶const llvm::object::pe32plus_header*
getPE32PlusHeader() const
const llvm::object::pe32plus_header*
getPE32PlusHeader() const
Declared at: llvm/include/llvm/Object/COFF.h:1034
¶uint32_t getPointerToSymbolTable() const
uint32_t getPointerToSymbolTable() const
Declared at: llvm/include/llvm/Object/COFF.h:903
¶uint32_t getRawNumberOfSymbols() const
uint32_t getRawNumberOfSymbols() const
Declared at: llvm/include/llvm/Object/COFF.h:912
¶uint64_t getRelocationOffset(
llvm::object::DataRefImpl Rel) const
uint64_t getRelocationOffset(
llvm::object::DataRefImpl Rel) const
Declared at: llvm/include/llvm/Object/COFF.h:967
Parameters
¶llvm::object::symbol_iterator getRelocationSymbol(
llvm::object::DataRefImpl Rel) const
llvm::object::symbol_iterator getRelocationSymbol(
llvm::object::DataRefImpl Rel) const
Declared at: llvm/include/llvm/Object/COFF.h:968
Parameters
¶uint64_t getRelocationType(
llvm::object::DataRefImpl Rel) const
uint64_t getRelocationType(
llvm::object::DataRefImpl Rel) const
Declared at: llvm/include/llvm/Object/COFF.h:969
Parameters
¶llvm::StringRef getRelocationTypeName(
uint16_t Type) const
llvm::StringRef getRelocationTypeName(
uint16_t Type) const
Declared at: llvm/include/llvm/Object/COFF.h:937
Parameters
- uint16_t Type
¶void getRelocationTypeName(
llvm::object::DataRefImpl Rel,
SmallVectorImpl<char>& Result) const
void getRelocationTypeName(
llvm::object::DataRefImpl Rel,
SmallVectorImpl<char>& Result) const
Declared at: llvm/include/llvm/Object/COFF.h:970
Parameters
- llvm::object::DataRefImpl Rel
- SmallVectorImpl<char>& Result
¶ArrayRef<llvm::object::coff_relocation>
getRelocations(
const llvm::object::coff_section* Sec) const
ArrayRef<llvm::object::coff_relocation>
getRelocations(
const llvm::object::coff_section* Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:1073
Parameters
- const llvm::object::coff_section* Sec
¶llvm::Error getRvaAndSizeAsBytes(
uint32_t RVA,
uint32_t Size,
ArrayRef<uint8_t>& Contents,
const char* ErrorContext = nullptr) const
llvm::Error getRvaAndSizeAsBytes(
uint32_t RVA,
uint32_t Size,
ArrayRef<uint8_t>& Contents,
const char* ErrorContext = nullptr) const
Description
Given an RVA base and size, returns a valid array of bytes or an error code if the RVA and size is not contained completely within a valid section.
Declared at: llvm/include/llvm/Object/COFF.h:1088
Parameters
- uint32_t RVA
- uint32_t Size
- ArrayRef<uint8_t>& Contents
- const char* ErrorContext = nullptr
¶llvm::Error getRvaPtr(
uint32_t Rva,
uintptr_t& Res,
const char* ErrorContext = nullptr) const
llvm::Error getRvaPtr(
uint32_t Rva,
uintptr_t& Res,
const char* ErrorContext = nullptr) const
Declared at: llvm/include/llvm/Object/COFF.h:1082
Parameters
- uint32_t Rva
- uintptr_t& Res
- const char* ErrorContext = nullptr
¶Expected<const llvm::object::coff_section*>
getSection(int32_t index) const
Expected<const llvm::object::coff_section*>
getSection(int32_t index) const
Declared at: llvm/include/llvm/Object/COFF.h:1037
Parameters
- int32_t index
¶uint64_t getSectionAddress(
llvm::object::DataRefImpl Sec) const
uint64_t getSectionAddress(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:951
Parameters
¶uint64_t getSectionAlignment(
llvm::object::DataRefImpl Sec) const
uint64_t getSectionAlignment(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:956
Parameters
¶Expected<ArrayRef<uint8_t>> getSectionContents(
llvm::object::DataRefImpl Sec) const
Expected<ArrayRef<uint8_t>> getSectionContents(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:955
Parameters
¶llvm::Error getSectionContents(
const llvm::object::coff_section* Sec,
ArrayRef<uint8_t>& Res) const
llvm::Error getSectionContents(
const llvm::object::coff_section* Sec,
ArrayRef<uint8_t>& Res) const
Declared at: llvm/include/llvm/Object/COFF.h:1077
Parameters
- const llvm::object::coff_section* Sec
- ArrayRef<uint8_t>& Res
¶unsigned int getSectionID(
llvm::object::SectionRef Sec) const
unsigned int getSectionID(
llvm::object::SectionRef Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:983
Parameters
¶uint64_t getSectionIndex(
llvm::object::DataRefImpl Sec) const
uint64_t getSectionIndex(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:952
Parameters
¶Expected<llvm::StringRef> getSectionName(
const llvm::object::coff_section* Sec) const
Expected<llvm::StringRef> getSectionName(
const llvm::object::coff_section* Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:1075
Parameters
- const llvm::object::coff_section* Sec
¶Expected<llvm::StringRef> getSectionName(
llvm::object::DataRefImpl Sec) const
Expected<llvm::StringRef> getSectionName(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:950
Parameters
¶uint64_t getSectionSize(
const llvm::object::coff_section* Sec) const
uint64_t getSectionSize(
const llvm::object::coff_section* Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:1076
Parameters
- const llvm::object::coff_section* Sec
¶uint64_t getSectionSize(
llvm::object::DataRefImpl Sec) const
uint64_t getSectionSize(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:953
Parameters
¶uint16_t getSizeOfOptionalHeader() const
uint16_t getSizeOfOptionalHeader() const
Declared at: llvm/include/llvm/Object/COFF.h:867
¶Expected<uint64_t> getStartAddress() const
Expected<uint64_t> getStartAddress() const
Declared at: llvm/include/llvm/Object/COFF.h:989
¶Expected<llvm::StringRef> getString(
uint32_t offset) const
Expected<llvm::StringRef> getString(
uint32_t offset) const
Declared at: llvm/include/llvm/Object/COFF.h:828
Parameters
- uint32_t offset
¶uint32_t getStringTableSize() const
uint32_t getStringTableSize() const
Declared at: llvm/include/llvm/Object/COFF.h:926
¶Expected<llvm::object::COFFSymbolRef> getSymbol(
uint32_t index) const
Expected<llvm::object::COFFSymbolRef> getSymbol(
uint32_t index) const
Declared at: llvm/include/llvm/Object/COFF.h:1039
Parameters
- uint32_t index
¶Expected<uint64_t> getSymbolAddress(
llvm::object::DataRefImpl Symb) const
Expected<uint64_t> getSymbolAddress(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:942
Parameters
¶uint32_t getSymbolAlignment(
llvm::object::DataRefImpl Symb) const
uint32_t getSymbolAlignment(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:943
Parameters
¶ArrayRef<uint8_t> getSymbolAuxData(
llvm::object::COFFSymbolRef Symbol) const
ArrayRef<uint8_t> getSymbolAuxData(
llvm::object::COFFSymbolRef Symbol) const
Declared at: llvm/include/llvm/Object/COFF.h:1061
Parameters
- llvm::object::COFFSymbolRef Symbol
¶Expected<uint32_t> getSymbolFlags(
llvm::object::DataRefImpl Symb) const
Expected<uint32_t> getSymbolFlags(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:946
Parameters
¶uint32_t getSymbolIndex(
llvm::object::COFFSymbolRef Symbol) const
uint32_t getSymbolIndex(
llvm::object::COFFSymbolRef Symbol) const
Declared at: llvm/include/llvm/Object/COFF.h:1063
Parameters
- llvm::object::COFFSymbolRef Symbol
¶Expected<llvm::StringRef> getSymbolName(
const llvm::object::coff_symbol_generic*
Symbol) const
Expected<llvm::StringRef> getSymbolName(
const llvm::object::coff_symbol_generic*
Symbol) const
Declared at: llvm/include/llvm/Object/COFF.h:1059
Parameters
- const llvm::object::coff_symbol_generic* Symbol
¶Expected<llvm::StringRef> getSymbolName(
llvm::object::COFFSymbolRef Symbol) const
Expected<llvm::StringRef> getSymbolName(
llvm::object::COFFSymbolRef Symbol) const
Declared at: llvm/include/llvm/Object/COFF.h:1058
Parameters
- llvm::object::COFFSymbolRef Symbol
¶Expected<llvm::StringRef> getSymbolName(
llvm::object::DataRefImpl Symb) const
Expected<llvm::StringRef> getSymbolName(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:941
Parameters
¶Expected<llvm::object::section_iterator>
getSymbolSection(
llvm::object::DataRefImpl Symb) const
Expected<llvm::object::section_iterator>
getSymbolSection(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:948
Parameters
¶unsigned int getSymbolSectionID(
llvm::object::SymbolRef Sym) const
unsigned int getSymbolSectionID(
llvm::object::SymbolRef Sym) const
Declared at: llvm/include/llvm/Object/COFF.h:984
Parameters
¶uintptr_t getSymbolTable() const
uintptr_t getSymbolTable() const
Declared at: llvm/include/llvm/Object/COFF.h:851
¶size_t getSymbolTableEntrySize() const
size_t getSymbolTableEntrySize() const
Declared at: llvm/include/llvm/Object/COFF.h:1065
¶Expected<SymbolRef::Type> getSymbolType(
llvm::object::DataRefImpl Symb) const
Expected<SymbolRef::Type> getSymbolType(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:947
Parameters
¶uint64_t getSymbolValueImpl(
llvm::object::DataRefImpl Symb) const
uint64_t getSymbolValueImpl(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:944
Parameters
¶const llvm::object::coff_tls_directory32*
getTLSDirectory32() const
const llvm::object::coff_tls_directory32*
getTLSDirectory32() const
Declared at: llvm/include/llvm/Object/COFF.h:1016
¶const llvm::object::coff_tls_directory64*
getTLSDirectory64() const
const llvm::object::coff_tls_directory64*
getTLSDirectory64() const
Declared at: llvm/include/llvm/Object/COFF.h:1019
¶uint32_t getTimeDateStamp() const
uint32_t getTimeDateStamp() const
Declared at: llvm/include/llvm/Object/COFF.h:887
¶llvm::Error getVaPtr(uint64_t VA,
uintptr_t& Res) const
llvm::Error getVaPtr(uint64_t VA,
uintptr_t& Res) const
Declared at: llvm/include/llvm/Object/COFF.h:1081
Parameters
- uint64_t VA
- uintptr_t& Res
¶iterator_range<
llvm::object::import_directory_iterator>
import_directories() const
iterator_range<
llvm::object::import_directory_iterator>
import_directories() const
Declared at: llvm/include/llvm/Object/COFF.h:1007
¶llvm::object::import_directory_iterator
import_directory_begin() const
llvm::object::import_directory_iterator
import_directory_begin() const
Declared at: llvm/include/llvm/Object/COFF.h:992
¶llvm::object::import_directory_iterator
import_directory_end() const
llvm::object::import_directory_iterator
import_directory_end() const
Declared at: llvm/include/llvm/Object/COFF.h:993
¶llvm::Error initBaseRelocPtr()
llvm::Error initBaseRelocPtr()
Declared at: llvm/include/llvm/Object/COFF.h:842
¶llvm::Error initDebugDirectoryPtr()
llvm::Error initDebugDirectoryPtr()
Declared at: llvm/include/llvm/Object/COFF.h:843
¶llvm::Error initDelayImportTablePtr()
llvm::Error initDelayImportTablePtr()
Declared at: llvm/include/llvm/Object/COFF.h:840
¶llvm::Error initExportTablePtr()
llvm::Error initExportTablePtr()
Declared at: llvm/include/llvm/Object/COFF.h:841
¶llvm::Error initImportTablePtr()
llvm::Error initImportTablePtr()
Declared at: llvm/include/llvm/Object/COFF.h:839
¶llvm::Error initLoadConfigPtr()
llvm::Error initLoadConfigPtr()
Declared at: llvm/include/llvm/Object/COFF.h:845
¶llvm::Error initSymbolTablePtr()
llvm::Error initSymbolTablePtr()
Declared at: llvm/include/llvm/Object/COFF.h:838
¶llvm::Error initTLSDirectoryPtr()
llvm::Error initTLSDirectoryPtr()
Declared at: llvm/include/llvm/Object/COFF.h:844
¶llvm::Error initialize()
llvm::Error initialize()
Declared at: llvm/include/llvm/Object/COFF.h:836
¶bool is64() const
bool is64() const
Declared at: llvm/include/llvm/Object/COFF.h:1108
¶bool isDebugSection(
llvm::object::DataRefImpl Sec) const
bool isDebugSection(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:962
Parameters
¶bool isRelocatableObject() const
bool isRelocatableObject() const
Description
True if this is a relocatable object (.o/.obj).
Declared at: llvm/include/llvm/Object/COFF.h:1107
¶bool isSectionBSS(
llvm::object::DataRefImpl Sec) const
bool isSectionBSS(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:960
Parameters
¶bool isSectionCompressed(
llvm::object::DataRefImpl Sec) const
bool isSectionCompressed(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:957
Parameters
¶bool isSectionData(
llvm::object::DataRefImpl Sec) const
bool isSectionData(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:959
Parameters
¶bool isSectionText(
llvm::object::DataRefImpl Sec) const
bool isSectionText(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:958
Parameters
¶bool isSectionVirtual(
llvm::object::DataRefImpl Sec) const
bool isSectionVirtual(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:961
Parameters
¶llvm::StringRef mapDebugSectionName(
llvm::StringRef Name) const
llvm::StringRef mapDebugSectionName(
llvm::StringRef Name) const
Description
Maps a debug section name to a standard DWARF section name.
Declared at: llvm/include/llvm/Object/COFF.h:1110
Parameters
- llvm::StringRef Name
¶void moveRelocationNext(
llvm::object::DataRefImpl& Rel) const
void moveRelocationNext(
llvm::object::DataRefImpl& Rel) const
Declared at: llvm/include/llvm/Object/COFF.h:966
Parameters
¶void moveSectionNext(
llvm::object::DataRefImpl& Sec) const
void moveSectionNext(
llvm::object::DataRefImpl& Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:949
Parameters
¶void moveSymbolNext(
llvm::object::DataRefImpl& Symb) const
void moveSymbolNext(
llvm::object::DataRefImpl& Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:940
Parameters
¶llvm::object::section_iterator section_begin()
const
llvm::object::section_iterator section_begin()
const
Declared at: llvm/include/llvm/Object/COFF.h:976
¶llvm::object::section_iterator section_end() const
llvm::object::section_iterator section_end() const
Declared at: llvm/include/llvm/Object/COFF.h:977
¶llvm::object::relocation_iterator
section_rel_begin(
llvm::object::DataRefImpl Sec) const
llvm::object::relocation_iterator
section_rel_begin(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:963
Parameters
¶llvm::object::relocation_iterator section_rel_end(
llvm::object::DataRefImpl Sec) const
llvm::object::relocation_iterator section_rel_end(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:964
Parameters
¶llvm::object::basic_symbol_iterator symbol_begin()
const
llvm::object::basic_symbol_iterator symbol_begin()
const
Declared at: llvm/include/llvm/Object/COFF.h:974
¶llvm::object::basic_symbol_iterator symbol_end()
const
llvm::object::basic_symbol_iterator symbol_end()
const
Declared at: llvm/include/llvm/Object/COFF.h:975
¶const llvm::object::coff_relocation* toRel(
llvm::object::DataRefImpl Rel) const
const llvm::object::coff_relocation* toRel(
llvm::object::DataRefImpl Rel) const
Declared at: llvm/include/llvm/Object/COFF.h:833
Parameters
¶const llvm::object::coff_section* toSec(
llvm::object::DataRefImpl Sec) const
const llvm::object::coff_section* toSec(
llvm::object::DataRefImpl Sec) const
Declared at: llvm/include/llvm/Object/COFF.h:832
Parameters
¶template <typename coff_symbol_type>
const coff_symbol_type* toSymb(
llvm::object::DataRefImpl Symb) const
template <typename coff_symbol_type>
const coff_symbol_type* toSymb(
llvm::object::DataRefImpl Symb) const
Declared at: llvm/include/llvm/Object/COFF.h:831
Templates
- coff_symbol_type