LLVM: llvm::object::XCOFFObjectFile Class Reference (original ) (raw )#include "[llvm/Object/XCOFFObjectFile.h](XCOFFObjectFile%5F8h%5Fsource.html)"
Static Public Member Functions
static uintptr_t
getAdvancedSymbolEntryAddress (uintptr_t CurrentAddress, uint32_t Distance)
static bool
classof (const Binary *B )
Static Public Member Functions inherited from llvm::object::ObjectFile
static Expected < OwningBinary < ObjectFile > >
createObjectFile (StringRef ObjectPath)
static Expected < std::unique_ptr< ObjectFile > >
createObjectFile (MemoryBufferRef Object, llvm::file_magic Type , bool InitContent=true)
static Expected < std::unique_ptr< ObjectFile > >
createObjectFile (MemoryBufferRef Object)
static bool
classof (const Binary *v)
static Expected < std::unique_ptr< COFFObjectFile > >
createCOFFObjectFile (MemoryBufferRef Object)
static Expected < std::unique_ptr< ObjectFile > >
createXCOFFObjectFile (MemoryBufferRef Object, unsigned FileType)
static Expected < std::unique_ptr< ObjectFile > >
createELFObjectFile (MemoryBufferRef Object, bool InitContent=true)
static Expected < std::unique_ptr< MachOObjectFile > >
createMachOObjectFile (MemoryBufferRef Object, uint32_t UniversalCputype=0, uint32_t UniversalIndex=0, size_t MachOFilesetEntryOffset=0)
Create a MachOObjectFile instance from a given buffer.
static Expected < std::unique_ptr< ObjectFile > >
createGOFFObjectFile (MemoryBufferRef Object)
static Expected < std::unique_ptr< WasmObjectFile > >
createWasmObjectFile (MemoryBufferRef Object)
static Expected < std::unique_ptr< DXContainerObjectFile > >
createDXContainerObjectFile (MemoryBufferRef Object)
Static Public Member Functions inherited from llvm::object::SymbolicFile
static Expected < std::unique_ptr< SymbolicFile > >
createSymbolicFile (MemoryBufferRef Object, llvm::file_magic Type , LLVMContext *Context , bool InitContent=true)
static Expected < std::unique_ptr< SymbolicFile > >
createSymbolicFile (MemoryBufferRef Object)
static bool
classof (const Binary *v)
static bool
isSymbolicFile (file_magic Type , const LLVMContext *Context )
Static Public Member Functions inherited from llvm::object::Binary
static Error
checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size )
Additional Inherited Members
Protected Types inherited from llvm::object::Binary
enum
{ ID_Archive , ID_MachOUniversalBinary , ID_COFFImportFile , ID_IR , ID_TapiUniversal , ID_TapiFile , ID_Minidump , ID_WinRes , ID_Offload , ID_StartObjects , ID_COFF , ID_XCOFF32 , ID_XCOFF64 , ID_ELF32L , ID_ELF32B , ID_ELF64L , ID_ELF64B , ID_MachO32L , ID_MachO32B , ID_MachO64L , ID_MachO64B , ID_GOFF , ID_Wasm , ID_DXContainer , ID_EndObjects }
Protected Member Functions inherited from llvm::object::ObjectFile
ObjectFile (unsigned int Type , MemoryBufferRef Source)
const uint8_t *
base () const
Error
printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
virtual bool
isSectionBitcode (DataRefImpl Sec) const
virtual bool
isSectionStripped (DataRefImpl Sec) const
virtual bool
isBerkeleyText (DataRefImpl Sec) const
virtual bool
isBerkeleyData (DataRefImpl Sec) const
virtual Expected < section_iterator >
getRelocatedSection (DataRefImpl Sec) const
virtual llvm::binaryformat::Swift5ReflectionSectionKind
mapReflectionSectionNameToEnumValue (StringRef SectionName ) const
Expected < uint64_t >
getSymbolValue (DataRefImpl Symb) const
Protected Member Functions inherited from llvm::object::Binary
Binary (unsigned int Type , MemoryBufferRef Source)
Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int
getELFType (bool isLE, bool is64Bits)
static unsigned int
getMachOType (bool isLE, bool is64Bits)
Protected Attributes inherited from llvm::object::Binary
MemoryBufferRef
Data
Definition at line 538 of file XCOFFObjectFile.h .
◆ xcoff_symbol_iterator_range◆ checkSymbolEntryPointer()
void llvm::object::XCOFFObjectFile::checkSymbolEntryPointer
(
uintptr_t
SymbolEntPtr
)
const
◆ classof()
bool llvm::object::XCOFFObjectFile::classof ( const Binary * B )
inlinestatic
Definition at line 180 of file XCOFFObjectFile.cpp .
References assert() , and is64Bit() .
Referenced by getFlags() , getLogicalNumberOfSymbolTableEntries32() , getMagic() , getMemberAlignment() , getNumberOfSections() , getOptionalHeaderSize() , getRawNumberOfSymbolTableEntries32() , getSymbolTableOffset32() , getTimeStamp() , and isRelocatableObject() .
◆ getAdvancedSymbolEntryAddress()
uintptr_t llvm::object::XCOFFObjectFile::getAdvancedSymbolEntryAddress ( uintptr_t CurrentAddress , uint32_t Distance )
static
◆ getArch()
Triple::ArchType llvm::object::XCOFFObjectFile::getArch ( ) const
overridevirtual
◆ getBytesInAddress()
uint8_t llvm::object::XCOFFObjectFile::getBytesInAddress ( ) const
overridevirtual
◆ getCFileName()◆ getCommonSymbolSizeImpl()
uint64_t llvm::object::XCOFFObjectFile::getCommonSymbolSizeImpl ( DataRefImpl Symb ) const
overridevirtual
◆ getExceptionEntries()◆ getFeatures()
StringRef llvm::object::XCOFFObjectFile::getFileFormatName ( ) const
overridevirtual
◆ getFlags()
uint16_t llvm::object::XCOFFObjectFile::getFlags
(
)
const
◆ getImportFileTable()Definition at line 1109 of file XCOFFObjectFile.cpp .
References llvm::object::createError() , llvm::object::Binary::Data , llvm::Expected< T >::get() , llvm::object::getObject() , is64Bit() , llvm::object::LoaderSectionHeader32::LengthOfImpidStrTbl , llvm::object::LoaderSectionHeader64::LengthOfImpidStrTbl , llvm::object::LoaderSectionHeader32::OffsetToImpid , llvm::object::LoaderSectionHeader64::OffsetToImpid , llvm::XCOFF::STYP_LOADER , llvm::Expected< T >::takeError() , llvm::toString() , llvm::Twine::utohexstr() , and llvm::object::viewAs() .
◆ getLogicalNumberOfSymbolTableEntries32()
uint32_t llvm::object::XCOFFObjectFile::getLogicalNumberOfSymbolTableEntries32
(
)
const
◆ getMagic()
uint16_t llvm::object::XCOFFObjectFile::getMagic
(
)
const
◆ getNumberOfRelocationEntries()◆ getNumberOfSections()
uint16_t llvm::object::XCOFFObjectFile::getNumberOfSections
(
)
const
◆ getNumberOfSymbolTableEntries()
uint32_t llvm::object::XCOFFObjectFile::getNumberOfSymbolTableEntries
(
)
const
◆ getNumberOfSymbolTableEntries64()
uint32_t llvm::object::XCOFFObjectFile::getNumberOfSymbolTableEntries64
(
)
const
uint16_t llvm::object::XCOFFObjectFile::getOptionalHeaderSize
(
)
const
◆ getPointerToSymbolTable()
const void * llvm::object::XCOFFObjectFile::getPointerToSymbolTable ( ) const
inline
◆ getRawData()◆ getRawNumberOfSymbolTableEntries32()
int32_t llvm::object::XCOFFObjectFile::getRawNumberOfSymbolTableEntries32
(
)
const
◆ getRelocationOffset()
uint64_t llvm::object::XCOFFObjectFile::getRelocationOffset ( DataRefImpl Rel ) const
overridevirtual
Returns
the relocation offset with the base address of the containing section as zero, or InvalidRelocOffset on errors (such as a relocation that does not refer to an address in any section).
Implements llvm::object::ObjectFile .
Definition at line 582 of file XCOFFObjectFile.cpp .
References getNumberOfSections() , I , InvalidRelocOffset , is64Bit() , llvm::object::DataRefImpl::p , llvm::object::XCOFFSectionHeader32::SectionSize , llvm::object::XCOFFSectionHeader64::SectionSize , llvm::object::viewAs() , llvm::object::XCOFFSectionHeader32::VirtualAddress , and llvm::object::XCOFFSectionHeader64::VirtualAddress .
◆ getRelocationSymbol()◆ getRelocationType()
uint64_t llvm::object::XCOFFObjectFile::getRelocationType ( DataRefImpl Rel ) const
overridevirtual
◆ getRelocationTypeName()◆ getSectionAddress()
uint64_t llvm::object::XCOFFObjectFile::getSectionAddress ( DataRefImpl Sec ) const
overridevirtual
◆ getSectionAlignment()
uint64_t llvm::object::XCOFFObjectFile::getSectionAlignment ( DataRefImpl Sec ) const
overridevirtual
◆ getSectionByNum()◆ getSectionContents()Implements llvm::object::ObjectFile .
Definition at line 409 of file XCOFFObjectFile.cpp .
References llvm::ArrayRef() , llvm::object::ObjectFile::base() , llvm::object::Binary::checkOffset() , llvm::object::createError() , llvm::object::Binary::Data , E() , getSectionSize() , is64Bit() , isSectionVirtual() , llvm::toString() , and llvm::Twine::utohexstr() .
◆ getSectionFileOffsetToRawData()Definition at line 448 of file XCOFFObjectFile.cpp .
References llvm::object::ObjectFile::base() , llvm::SmallString< InternalLen >::c_str() , llvm::object::Binary::checkOffset() , llvm::object::createError() , llvm::object::Binary::Data , E() , ECASE , getSectionSize() , llvm::object::DataRefImpl::p , llvm::XCOFF::STYP_BSS , llvm::XCOFF::STYP_DATA , llvm::XCOFF::STYP_DEBUG , llvm::XCOFF::STYP_DWARF , llvm::XCOFF::STYP_EXCEPT , llvm::XCOFF::STYP_INFO , llvm::XCOFF::STYP_LOADER , llvm::XCOFF::STYP_OVRFLO , llvm::XCOFF::STYP_PAD , llvm::XCOFF::STYP_TBSS , llvm::XCOFF::STYP_TDATA , llvm::XCOFF::STYP_TEXT , llvm::XCOFF::STYP_TYPCHK , llvm::toString() , llvm::Twine::toVector() , and llvm::Twine::utohexstr() .
◆ getSectionFlags()
int32_t llvm::object::XCOFFObjectFile::getSectionFlags
(
DataRefImpl
Sec
)
const
◆ getSectionIndex()
uint64_t llvm::object::XCOFFObjectFile::getSectionIndex ( DataRefImpl Sec ) const
overridevirtual
◆ getSectionName()◆ getSectionSize()
uint64_t llvm::object::XCOFFObjectFile::getSectionSize ( DataRefImpl Sec ) const
overridevirtual
◆ getStartAddress()
Expected < uint64_t > llvm::object::XCOFFObjectFile::getStartAddress ( ) const
overridevirtual
◆ getStringTable()
StringRef llvm::object::XCOFFObjectFile::getStringTable
(
)
const
◆ getStringTableEntry()◆ getSymbolAddress()◆ getSymbolAlignment()
uint32_t llvm::object::XCOFFObjectFile::getSymbolAlignment ( DataRefImpl Symb ) const
overridevirtual
◆ getSymbolAuxType()◆ getSymbolByIndex()
uintptr_t llvm::object::XCOFFObjectFile::getSymbolByIndex ( uint32_t Idx ) const
inline
◆ getSymbolEntryAddressByIndex()
uintptr_t llvm::object::XCOFFObjectFile::getSymbolEntryAddressByIndex
(
uint32_t
SymbolTableIndex
)
const
◆ getSymbolFlags()Implements llvm::object::SymbolicFile .
Definition at line 654 of file XCOFFObjectFile.cpp .
References auxiliaryHeader32() , llvm::XCOFF::C_EXT , llvm::XCOFF::C_WEAKEXT , llvm::Expected< T >::get() , llvm::object::XCOFFSymbolRef::getSectionNumber() , llvm::object::XCOFFSymbolRef::getStorageClass() , llvm::object::XCOFFSymbolRef::getSymbolType() , llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef() , is64Bit() , llvm::object::XCOFFSymbolRef::isCsectSymbol() , llvm::XCOFF::N_ABS , llvm::XCOFF::N_UNDEF , llvm::XCOFF::NEW_XCOFF_INTERPRET , llvm::object::BasicSymbolRef::SF_Absolute , llvm::object::BasicSymbolRef::SF_Common , llvm::object::BasicSymbolRef::SF_Exported , llvm::object::BasicSymbolRef::SF_Global , llvm::object::BasicSymbolRef::SF_Hidden , llvm::object::BasicSymbolRef::SF_None , llvm::object::BasicSymbolRef::SF_Undefined , llvm::object::BasicSymbolRef::SF_Weak , llvm::XCOFF::SYM_V_EXPORTED , llvm::XCOFF::SYM_V_HIDDEN , llvm::Expected< T >::takeError() , toSymbolRef() , llvm::XCOFF::VISIBILITY_MASK , and llvm::XCOFF::XTY_CM .
◆ getSymbolIndex()
uint32_t llvm::object::XCOFFObjectFile::getSymbolIndex
(
uintptr_t
SymEntPtr
)
const
◆ getSymbolName()◆ getSymbolNameByIndex()◆ getSymbolSection()◆ getSymbolSectionID()◆ getSymbolSectionName()◆ getSymbolSize()◆ getSymbolTableOffset32()
uint32_t llvm::object::XCOFFObjectFile::getSymbolTableOffset32
(
)
const
◆ getSymbolTableOffset64()
uint64_t llvm::object::XCOFFObjectFile::getSymbolTableOffset64
(
)
const
◆ getSymbolType()Implements llvm::object::ObjectFile .
Definition at line 306 of file XCOFFObjectFile.cpp .
References llvm::XCOFF::C_FILE , llvm::Expected< T >::get() , llvm::object::XCOFFSymbolRef::getName() , getSectionByNum() , llvm::object::XCOFFSymbolRef::getSectionNumber() , llvm::object::XCOFFSymbolRef::getStorageClass() , is64Bit() , isDebugSection() , llvm::object::XCOFFSymbolRef::isFunction() , isSectionBSS() , isSectionData() , llvm::object::SymbolRef::ST_Data , llvm::object::SymbolRef::ST_Debug , llvm::object::SymbolRef::ST_File , llvm::object::SymbolRef::ST_Function , llvm::object::SymbolRef::ST_Other , llvm::Expected< T >::takeError() , and toSymbolRef() .
◆ getSymbolValueImpl()
uint64_t llvm::object::XCOFFObjectFile::getSymbolValueImpl ( DataRefImpl Symb ) const
overridevirtual
◆ getTimeStamp()
int32_t llvm::object::XCOFFObjectFile::getTimeStamp
(
)
const
◆ is64Bit()
bool llvm::object::XCOFFObjectFile::is64Bit ( ) const
overridevirtual
Implements llvm::object::SymbolicFile .
Definition at line 777 of file XCOFFObjectFile.cpp .
References llvm::object::Binary::getType() , and llvm::object::Binary::ID_XCOFF64 .
Referenced by auxiliaryHeader32() , auxiliaryHeader64() , fileHeader32() , fileHeader64() , getArch() , getBytesInAddress() , getExceptionEntries() , getFileFormatName() , getFlags() , getImportFileTable() , getMagic() , getMemberAlignment() , getNumberOfRelocationEntries() , getNumberOfSections() , getNumberOfSymbolTableEntries() , getOptionalHeaderSize() , getRelocationOffset() , getRelocationSymbol() , getRelocationType() , getRelocationTypeName() , getSectionAddress() , getSectionContents() , getSectionFlags() , getSectionIndex() , getSectionSize() , getStartAddress() , getSymbolAuxType() , getSymbolFlags() , getSymbolType() , getTimeStamp() , isRelocatableObject() , isSectionVirtual() , moveRelocationNext() , section_rel_end() , sections32() , and sections64() .
◆ isDebugSection()
bool llvm::object::XCOFFObjectFile::isDebugSection ( DataRefImpl Sec ) const
overridevirtual
◆ isRelocatableObject()
bool llvm::object::XCOFFObjectFile::isRelocatableObject ( ) const
overridevirtual
◆ isSectionBSS()
bool llvm::object::XCOFFObjectFile::isSectionBSS ( DataRefImpl Sec ) const
overridevirtual
◆ isSectionCompressed()
bool llvm::object::XCOFFObjectFile::isSectionCompressed ( DataRefImpl Sec ) const
overridevirtual
◆ isSectionData()
bool llvm::object::XCOFFObjectFile::isSectionData ( DataRefImpl Sec ) const
overridevirtual
◆ isSectionText()
bool llvm::object::XCOFFObjectFile::isSectionText ( DataRefImpl Sec ) const
overridevirtual
◆ isSectionVirtual()
bool llvm::object::XCOFFObjectFile::isSectionVirtual ( DataRefImpl Sec ) const
overridevirtual
◆ mapDebugSectionName()
StringRef llvm::object::XCOFFObjectFile::mapDebugSectionName ( StringRef Name ) const
overridevirtual
◆ moveRelocationNext()
void llvm::object::XCOFFObjectFile::moveRelocationNext ( DataRefImpl & Rel ) const
overridevirtual
◆ moveSectionNext()
void llvm::object::XCOFFObjectFile::moveSectionNext ( DataRefImpl & Sec ) const
overridevirtual
◆ moveSymbolNext()
void llvm::object::XCOFFObjectFile::moveSymbolNext ( DataRefImpl & Symb ) const
overridevirtual
◆ relocations()template<typename Shdr, typename Reloc>
Definition at line 1022 of file XCOFFObjectFile.cpp .
References llvm::ArrayRef() , llvm::object::createError() , llvm::object::Binary::Data , E() , getNumberOfRelocationEntries() , llvm::object::getObject() , llvm::object::getWithOffset() , llvm::XCOFF::RelocationSerializationSize32 , llvm::XCOFF::RelocationSerializationSize64 , llvm::toString() , and llvm::Twine::utohexstr() .
Referenced by llvm::object::XCOFFRelocation< llvm::support::ubig32_t >::getRelocatedLength() , llvm::object::llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader32, llvm::object::XCOFFRelocation32 >() , llvm::object::llvm::object::XCOFFObjectFile::relocations< llvm::object::XCOFFSectionHeader64, llvm::object::XCOFFRelocation64 >() , and section_rel_end() .
◆ section_begin()
section_iterator llvm::object::XCOFFObjectFile::section_begin ( ) const
overridevirtual
◆ section_end()
section_iterator llvm::object::XCOFFObjectFile::section_end ( ) const
overridevirtual
◆ section_rel_begin()◆ section_rel_end()◆ sections32()◆ sections64()◆ symbol_begin()◆ symbol_end()◆ symbols()
◆ toSymbolRef()◆ tryGetCPUName()
std::optional< StringRef > llvm::object::XCOFFObjectFile::tryGetCPUName ( ) const
overridevirtual
◆ ObjectFile::createXCOFFObjectFile◆ InvalidRelocOffset
uint64_t llvm::object::XCOFFObjectFile::InvalidRelocOffset
staticconstexpr
The documentation for this class was generated from the following files: