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() constDeclared 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()
constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared at: llvm/include/llvm/Object/COFF.h:997
¶Triple::ArchType getArch() const
Triple::ArchType getArch() constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:1050
Templates
- T
Parameters
- uint32_t index
- const T*& Res
¶uint8_t getBytesInAddress() const
uint8_t getBytesInAddress() constDescription
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() constDeclared at: llvm/include/llvm/Object/COFF.h:1030
¶const llvm::object::coff_file_header*
getCOFFHeader() const
const llvm::object::coff_file_header*
getCOFFHeader() constDeclared 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)
constDeclared 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) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:981
Parameters
- const llvm::object::SymbolRef& Symbol
¶uint16_t getCharacteristics() const
uint16_t getCharacteristics() constDeclared at: llvm/include/llvm/Object/COFF.h:877
¶uint64_t getCommonSymbolSizeImpl(
llvm::object::DataRefImpl Symb) const
uint64_t getCommonSymbolSizeImpl(
llvm::object::DataRefImpl Symb) constDeclared at: llvm/include/llvm/Object/COFF.h:945
Parameters
¶const llvm::object::dos_header* getDOSHeader()
const
const llvm::object::dos_header* getDOSHeader()
constDeclared 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) constDeclared 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) constDescription
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) constDescription
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() constDeclared at: llvm/include/llvm/Object/COFF.h:990
¶llvm::StringRef getFileFormatName() const
llvm::StringRef getFileFormatName() constDeclared 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) constDeclared 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() constDeclared at: llvm/include/llvm/Object/COFF.h:1080
¶const llvm::object::coff_load_configuration32*
getLoadConfig32() const
const llvm::object::coff_load_configuration32*
getLoadConfig32() constDeclared at: llvm/include/llvm/Object/COFF.h:928
¶const llvm::object::coff_load_configuration64*
getLoadConfig64() const
const llvm::object::coff_load_configuration64*
getLoadConfig64() constDeclared at: llvm/include/llvm/Object/COFF.h:933
¶uint16_t getMachine() const
uint16_t getMachine() constDeclared at: llvm/include/llvm/Object/COFF.h:859
¶uint32_t getNumberOfSections() const
uint32_t getNumberOfSections() constDeclared at: llvm/include/llvm/Object/COFF.h:895
¶uint32_t getNumberOfSymbols() const
uint32_t getNumberOfSymbols() constDeclared at: llvm/include/llvm/Object/COFF.h:920
¶const llvm::object::pe32_header* getPE32Header()
const
const llvm::object::pe32_header* getPE32Header()
constDeclared at: llvm/include/llvm/Object/COFF.h:1033
¶const llvm::object::pe32plus_header*
getPE32PlusHeader() const
const llvm::object::pe32plus_header*
getPE32PlusHeader() constDeclared at: llvm/include/llvm/Object/COFF.h:1034
¶uint32_t getPointerToSymbolTable() const
uint32_t getPointerToSymbolTable() constDeclared at: llvm/include/llvm/Object/COFF.h:903
¶uint32_t getRawNumberOfSymbols() const
uint32_t getRawNumberOfSymbols() constDeclared at: llvm/include/llvm/Object/COFF.h:912
¶uint64_t getRelocationOffset(
llvm::object::DataRefImpl Rel) const
uint64_t getRelocationOffset(
llvm::object::DataRefImpl Rel) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:968
Parameters
¶uint64_t getRelocationType(
llvm::object::DataRefImpl Rel) const
uint64_t getRelocationType(
llvm::object::DataRefImpl Rel) constDeclared at: llvm/include/llvm/Object/COFF.h:969
Parameters
¶llvm::StringRef getRelocationTypeName(
uint16_t Type) const
llvm::StringRef getRelocationTypeName(
uint16_t Type) constDeclared 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) constDeclared 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) constDeclared 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) constDescription
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) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:951
Parameters
¶uint64_t getSectionAlignment(
llvm::object::DataRefImpl Sec) const
uint64_t getSectionAlignment(
llvm::object::DataRefImpl Sec) constDeclared 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) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:983
Parameters
¶uint64_t getSectionIndex(
llvm::object::DataRefImpl Sec) const
uint64_t getSectionIndex(
llvm::object::DataRefImpl Sec) constDeclared 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) constDeclared 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) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:953
Parameters
¶uint16_t getSizeOfOptionalHeader() const
uint16_t getSizeOfOptionalHeader() constDeclared at: llvm/include/llvm/Object/COFF.h:867
¶Expected<uint64_t> getStartAddress() const
Expected<uint64_t> getStartAddress() constDeclared at: llvm/include/llvm/Object/COFF.h:989
¶Expected<llvm::StringRef> getString(
uint32_t offset) const
Expected<llvm::StringRef> getString(
uint32_t offset) constDeclared at: llvm/include/llvm/Object/COFF.h:828
Parameters
- uint32_t offset
¶uint32_t getStringTableSize() const
uint32_t getStringTableSize() constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:942
Parameters
¶uint32_t getSymbolAlignment(
llvm::object::DataRefImpl Symb) const
uint32_t getSymbolAlignment(
llvm::object::DataRefImpl Symb) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:946
Parameters
¶uint32_t getSymbolIndex(
llvm::object::COFFSymbolRef Symbol) const
uint32_t getSymbolIndex(
llvm::object::COFFSymbolRef Symbol) constDeclared 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) constDeclared 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) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:948
Parameters
¶unsigned int getSymbolSectionID(
llvm::object::SymbolRef Sym) const
unsigned int getSymbolSectionID(
llvm::object::SymbolRef Sym) constDeclared at: llvm/include/llvm/Object/COFF.h:984
Parameters
¶uintptr_t getSymbolTable() const
uintptr_t getSymbolTable() constDeclared at: llvm/include/llvm/Object/COFF.h:851
¶size_t getSymbolTableEntrySize() const
size_t getSymbolTableEntrySize() constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:947
Parameters
¶uint64_t getSymbolValueImpl(
llvm::object::DataRefImpl Symb) const
uint64_t getSymbolValueImpl(
llvm::object::DataRefImpl Symb) constDeclared at: llvm/include/llvm/Object/COFF.h:944
Parameters
¶const llvm::object::coff_tls_directory32*
getTLSDirectory32() const
const llvm::object::coff_tls_directory32*
getTLSDirectory32() constDeclared at: llvm/include/llvm/Object/COFF.h:1016
¶const llvm::object::coff_tls_directory64*
getTLSDirectory64() const
const llvm::object::coff_tls_directory64*
getTLSDirectory64() constDeclared at: llvm/include/llvm/Object/COFF.h:1019
¶uint32_t getTimeDateStamp() const
uint32_t getTimeDateStamp() constDeclared 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) constDeclared 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() constDeclared 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() constDeclared 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() constDeclared 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() constDeclared at: llvm/include/llvm/Object/COFF.h:1108
¶bool isDebugSection(
llvm::object::DataRefImpl Sec) const
bool isDebugSection(
llvm::object::DataRefImpl Sec) constDeclared at: llvm/include/llvm/Object/COFF.h:962
Parameters
¶bool isRelocatableObject() const
bool isRelocatableObject() constDescription
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) constDeclared at: llvm/include/llvm/Object/COFF.h:960
Parameters
¶bool isSectionCompressed(
llvm::object::DataRefImpl Sec) const
bool isSectionCompressed(
llvm::object::DataRefImpl Sec) constDeclared at: llvm/include/llvm/Object/COFF.h:957
Parameters
¶bool isSectionData(
llvm::object::DataRefImpl Sec) const
bool isSectionData(
llvm::object::DataRefImpl Sec) constDeclared at: llvm/include/llvm/Object/COFF.h:959
Parameters
¶bool isSectionText(
llvm::object::DataRefImpl Sec) const
bool isSectionText(
llvm::object::DataRefImpl Sec) constDeclared at: llvm/include/llvm/Object/COFF.h:958
Parameters
¶bool isSectionVirtual(
llvm::object::DataRefImpl Sec) const
bool isSectionVirtual(
llvm::object::DataRefImpl Sec) constDeclared at: llvm/include/llvm/Object/COFF.h:961
Parameters
¶llvm::StringRef mapDebugSectionName(
llvm::StringRef Name) const
llvm::StringRef mapDebugSectionName(
llvm::StringRef Name) constDescription
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) constDeclared at: llvm/include/llvm/Object/COFF.h:966
Parameters
¶void moveSectionNext(
llvm::object::DataRefImpl& Sec) const
void moveSectionNext(
llvm::object::DataRefImpl& Sec) constDeclared at: llvm/include/llvm/Object/COFF.h:949
Parameters
¶void moveSymbolNext(
llvm::object::DataRefImpl& Symb) const
void moveSymbolNext(
llvm::object::DataRefImpl& Symb) constDeclared at: llvm/include/llvm/Object/COFF.h:940
Parameters
¶llvm::object::section_iterator section_begin()
const
llvm::object::section_iterator section_begin()
constDeclared at: llvm/include/llvm/Object/COFF.h:976
¶llvm::object::section_iterator section_end() const
llvm::object::section_iterator section_end() constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:964
Parameters
¶llvm::object::basic_symbol_iterator symbol_begin()
const
llvm::object::basic_symbol_iterator symbol_begin()
constDeclared at: llvm/include/llvm/Object/COFF.h:974
¶llvm::object::basic_symbol_iterator symbol_end()
const
llvm::object::basic_symbol_iterator symbol_end()
constDeclared 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) constDeclared 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) constDeclared 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) constDeclared at: llvm/include/llvm/Object/COFF.h:831
Templates
- coff_symbol_type