LLVM 22.0.0git
|
#include "llvm/Object/XCOFFObjectFile.h"
Public Types | |
using | xcoff_symbol_iterator_range = iterator_range<xcoff_symbol_iterator> |
Public Types inherited from llvm::object::ObjectFile | |
using | symbol_iterator_range = iterator_range<symbol_iterator> |
using | section_iterator_range = iterator_range<section_iterator> |
Public Types inherited from llvm::object::SymbolicFile | |
using | basic_symbol_iterator_range = iterator_range<basic_symbol_iterator> |
Static Public Attributes | |
static constexpr uint64_t | InvalidRelocOffset |
Friends | |
Expected< std::unique_ptr< ObjectFile > > | ObjectFile::createXCOFFObjectFile (MemoryBufferRef Object, unsigned FileType) |
Definition at line 538 of file XCOFFObjectFile.h.
using llvm::object::XCOFFObjectFile::xcoff_symbol_iterator_range = iterator_range<xcoff_symbol_iterator> |
Definition at line 597 of file XCOFFObjectFile.h.
const XCOFFAuxiliaryHeader32 * llvm::object::XCOFFObjectFile::auxiliaryHeader32 | ( | ) | const |
Definition at line 190 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by getMemberAlignment(), getStartAddress(), and getSymbolFlags().
const XCOFFAuxiliaryHeader64 * llvm::object::XCOFFObjectFile::auxiliaryHeader64 | ( | ) | const |
Definition at line 195 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by getMemberAlignment(), and getStartAddress().
void llvm::object::XCOFFObjectFile::checkSymbolEntryPointer | ( | uintptr_t | SymbolEntPtr | ) | const |
Definition at line 905 of file XCOFFObjectFile.cpp.
References llvm::Offset, llvm::report_fatal_error(), and llvm::XCOFF::SymbolTableEntrySize.
Referenced by moveSymbolNext().
Definition at line 738 of file XCOFFObjectFile.h.
References B().
const XCOFFFileHeader32 * llvm::object::XCOFFObjectFile::fileHeader32 | ( | ) | const |
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().
const XCOFFFileHeader64 * llvm::object::XCOFFObjectFile::fileHeader64 | ( | ) | const |
Definition at line 185 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by getFlags(), getMagic(), getMemberAlignment(), getNumberOfSections(), getNumberOfSymbolTableEntries64(), getOptionalHeaderSize(), getSymbolTableOffset64(), getTimeStamp(), and isRelocatableObject().
|
static |
Definition at line 128 of file XCOFFObjectFile.cpp.
References llvm::object::getWithOffset(), and llvm::XCOFF::SymbolTableEntrySize.
Referenced by getSymbolEntryAddressByIndex(), llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), and moveSymbolNext().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 730 of file XCOFFObjectFile.cpp.
References is64Bit(), llvm::Triple::ppc, and llvm::Triple::ppc64.
|
overridevirtual |
The number of bytes used to represent an address in this object file format.
Implements llvm::object::ObjectFile.
Definition at line 724 of file XCOFFObjectFile.cpp.
References is64Bit().
Expected< StringRef > llvm::object::XCOFFObjectFile::getCFileName | ( | const XCOFFFileAuxEnt * | CFileEntPtr | ) | const |
Definition at line 254 of file XCOFFObjectFile.cpp.
References llvm::object::generateXCOFFFixedNameStringRef(), getStringTableEntry(), llvm::object::XCOFFFileAuxEnt::NameInStrTblType::Magic, llvm::object::XCOFFFileAuxEnt::Name, llvm::object::XCOFFSymbolRef::NAME_IN_STR_TBL_MAGIC, llvm::object::XCOFFFileAuxEnt::NameInStrTbl, and llvm::object::XCOFFFileAuxEnt::NameInStrTblType::Offset.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 287 of file XCOFFObjectFile.cpp.
References assert(), llvm::consumeError(), llvm::Expected< T >::get(), llvm::object::XCOFFCsectAuxRef::getSectionOrLength(), llvm::object::XCOFFCsectAuxRef::getSymbolType(), llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), llvm::object::XCOFFSymbolRef::isCsectSymbol(), llvm::Expected< T >::takeError(), toSymbolRef(), and llvm::XCOFF::XTY_CM.
template LLVM_EXPORT_TEMPLATE Expected< ArrayRef< ExceptionSectionEntry64 > > llvm::object::XCOFFObjectFile::getExceptionEntries | ( | ) | const |
Definition at line 1049 of file XCOFFObjectFile.cpp.
References llvm::ArrayRef(), assert(), getSectionSize(), is64Bit(), llvm::object::DataRefImpl::p, llvm::XCOFF::STYP_EXCEPT, and llvm::Expected< T >::takeError().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 734 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 726 of file XCOFFObjectFile.cpp.
References is64Bit().
uint16_t llvm::object::XCOFFObjectFile::getFlags | ( | ) | const |
Definition at line 964 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), llvm::object::XCOFFFileHeader32::Flags, llvm::object::XCOFFFileHeader64::Flags, and is64Bit().
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().
uint32_t llvm::object::XCOFFObjectFile::getLogicalNumberOfSymbolTableEntries32 | ( | ) | const |
Definition at line 880 of file XCOFFObjectFile.cpp.
References fileHeader32().
Referenced by getNumberOfSymbolTableEntries(), and getRelocationSymbol().
uint16_t llvm::object::XCOFFObjectFile::getMagic | ( | ) | const |
Definition at line 794 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), is64Bit(), llvm::object::XCOFFFileHeader32::Magic, and llvm::object::XCOFFFileHeader64::Magic.
Expected< uint32_t > llvm::object::XCOFFObjectFile::getNumberOfRelocationEntries | ( | const XCOFFSectionHeader< T > & | Sec | ) | const |
Definition at line 1004 of file XCOFFObjectFile.cpp.
References llvm::errorCodeToError(), is64Bit(), llvm::object::parse_failed, llvm::XCOFF::RelocOverflow, sections32(), llvm::XCOFF::STYP_OVRFLO, and T.
Referenced by relocations().
uint16_t llvm::object::XCOFFObjectFile::getNumberOfSections | ( | ) | const |
Definition at line 855 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), is64Bit(), llvm::object::XCOFFFileHeader32::NumberOfSections, and llvm::object::XCOFFFileHeader64::NumberOfSections.
Referenced by getRelocationOffset(), getSectionByNum(), section_end(), sections32(), and sections64().
uint32_t llvm::object::XCOFFObjectFile::getNumberOfSymbolTableEntries | ( | ) | const |
Definition at line 894 of file XCOFFObjectFile.cpp.
References getLogicalNumberOfSymbolTableEntries32(), getNumberOfSymbolTableEntries64(), and is64Bit().
Referenced by getSymbolNameByIndex(), and symbol_end().
uint32_t llvm::object::XCOFFObjectFile::getNumberOfSymbolTableEntries64 | ( | ) | const |
Definition at line 890 of file XCOFFObjectFile.cpp.
References fileHeader64(), and llvm::object::XCOFFFileHeader64::NumberOfSymTableEntries.
Referenced by getNumberOfSymbolTableEntries(), and getRelocationSymbol().
uint16_t llvm::object::XCOFFObjectFile::getOptionalHeaderSize | ( | ) | const |
Definition at line 864 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFFileHeader32::AuxHeaderSize, llvm::object::XCOFFFileHeader64::AuxHeaderSize, fileHeader32(), fileHeader64(), and is64Bit().
|
inline |
Definition at line 656 of file XCOFFObjectFile.h.
Referenced by getSymbolEntryAddressByIndex().
Expected< StringRef > llvm::object::XCOFFObjectFile::getRawData | ( | const char * | Start, |
uint64_t | Size, | ||
StringRef | Name ) const |
Definition at line 781 of file XCOFFObjectFile.cpp.
References llvm::object::Binary::checkOffset(), llvm::object::createError(), llvm::object::Binary::Data, E(), Size, llvm::toString(), and llvm::Twine::utohexstr().
int32_t llvm::object::XCOFFObjectFile::getRawNumberOfSymbolTableEntries32 | ( | ) | const |
Definition at line 873 of file XCOFFObjectFile.cpp.
References fileHeader32(), and llvm::object::XCOFFFileHeader32::NumberOfSymTableEntries.
|
overridevirtual |
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.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 615 of file XCOFFObjectFile.cpp.
References getLogicalNumberOfSymbolTableEntries32(), getNumberOfSymbolTableEntries64(), getSymbolEntryAddressByIndex(), is64Bit(), llvm::object::DataRefImpl::p, symbol_end(), llvm::object::ObjectFile::SymbolRef, and llvm::object::viewAs().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 635 of file XCOFFObjectFile.cpp.
References is64Bit(), llvm::object::DataRefImpl::p, and llvm::object::viewAs().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 641 of file XCOFFObjectFile.cpp.
References llvm::StringRef::begin(), llvm::StringRef::end(), llvm::XCOFF::getRelocationTypeString(), is64Bit(), llvm::object::DataRefImpl::p, and llvm::object::viewAs().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 381 of file XCOFFObjectFile.cpp.
References is64Bit().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 431 of file XCOFFObjectFile.cpp.
References isDebugSection().
Expected< DataRefImpl > llvm::object::XCOFFObjectFile::getSectionByNum | ( | int16_t | Num | ) | const |
Definition at line 798 of file XCOFFObjectFile.cpp.
References llvm::createStringError(), getNumberOfSections(), llvm::object::getWithOffset(), llvm::object::invalid_section_index, and llvm::object::DataRefImpl::p.
Referenced by getSymbolSection(), getSymbolSectionName(), and getSymbolType().
|
overridevirtual |
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().
Expected< uintptr_t > llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData | ( | XCOFF::SectionTypeFlags | SectType | ) | const |
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().
int32_t llvm::object::XCOFFObjectFile::getSectionFlags | ( | DataRefImpl | Sec | ) | const |
Definition at line 976 of file XCOFFObjectFile.cpp.
References is64Bit().
Referenced by isDebugSection(), isSectionBSS(), isSectionData(), and isSectionText().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 390 of file XCOFFObjectFile.cpp.
References is64Bit().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 377 of file XCOFFObjectFile.cpp.
References llvm::object::generateXCOFFFixedNameStringRef().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 399 of file XCOFFObjectFile.cpp.
References is64Bit().
Referenced by getExceptionEntries(), getSectionContents(), and getSectionFileOffsetToRawData().
Reimplemented from llvm::object::ObjectFile.
Definition at line 744 of file XCOFFObjectFile.cpp.
References auxiliaryHeader32(), auxiliaryHeader64(), llvm::object::XCOFFAuxiliaryHeader< T >::getEntryPointAddr(), and is64Bit().
StringRef llvm::object::XCOFFObjectFile::getStringTable | ( | ) | const |
Definition at line 246 of file XCOFFObjectFile.cpp.
Definition at line 229 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), llvm::Offset, and llvm::Twine::utohexstr().
Referenced by getCFileName().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 264 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getValue(), and toSymbolRef().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 272 of file XCOFFObjectFile.cpp.
References llvm::consumeError(), llvm::Expected< T >::get(), llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), llvm::object::XCOFFSymbolRef::isCsectSymbol(), llvm::Expected< T >::takeError(), and toSymbolRef().
const XCOFF::SymbolAuxType * llvm::object::XCOFFObjectFile::getSymbolAuxType | ( | uintptr_t | AuxEntryAddress | ) | const |
Definition at line 134 of file XCOFFObjectFile.cpp.
References assert(), llvm::object::getWithOffset(), is64Bit(), llvm::object::SymbolAuxTypeOffset, and llvm::object::viewAs().
|
inline |
Definition at line 689 of file XCOFFObjectFile.h.
References llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::jitlink::getXCOFFSymbolContainingSymbolRef().
uintptr_t llvm::object::XCOFFObjectFile::getSymbolEntryAddressByIndex | ( | uint32_t | SymbolTableIndex | ) | const |
Definition at line 945 of file XCOFFObjectFile.cpp.
References getAdvancedSymbolEntryAddress(), and getPointerToSymbolTable().
Referenced by getRelocationSymbol(), getSymbolNameByIndex(), and symbol_end().
|
overridevirtual |
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.
uint32_t llvm::object::XCOFFObjectFile::getSymbolIndex | ( | uintptr_t | SymEntPtr | ) | const |
Definition at line 920 of file XCOFFObjectFile.cpp.
References llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::jitlink::printSymbolEntry().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 260 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getName(), and toSymbolRef().
Referenced by getSymbolNameByIndex().
Expected< StringRef > llvm::object::XCOFFObjectFile::getSymbolNameByIndex | ( | uint32_t | SymbolTableIndex | ) | const |
Definition at line 951 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), getNumberOfSymbolTableEntries(), getSymbolEntryAddressByIndex(), getSymbolName(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 359 of file XCOFFObjectFile.cpp.
References llvm::Expected< T >::get(), getSectionByNum(), llvm::object::XCOFFSymbolRef::getSectionNumber(), section_end(), llvm::object::ObjectFile::SectionRef, llvm::Expected< T >::takeError(), and toSymbolRef().
Definition at line 846 of file XCOFFObjectFile.cpp.
References llvm::object::BasicSymbolRef::getRawDataRefImpl(), llvm::object::XCOFFSymbolRef::getSectionNumber(), and llvm::object::ObjectFile::SymbolRef.
Expected< StringRef > llvm::object::XCOFFObjectFile::getSymbolSectionName | ( | XCOFFSymbolRef | Ref | ) | const |
Definition at line 827 of file XCOFFObjectFile.cpp.
References llvm::object::generateXCOFFFixedNameStringRef(), llvm::Expected< T >::get(), getSectionByNum(), llvm::object::XCOFFSymbolRef::getSectionNumber(), llvm::XCOFF::N_ABS, llvm::XCOFF::N_DEBUG, llvm::XCOFF::N_UNDEF, and llvm::Expected< T >::takeError().
uint64_t llvm::object::XCOFFObjectFile::getSymbolSize | ( | DataRefImpl | Symb | ) | const |
Definition at line 926 of file XCOFFObjectFile.cpp.
References llvm::consumeError(), llvm::Expected< T >::get(), llvm::object::XCOFFCsectAuxRef::getSectionOrLength(), llvm::object::XCOFFCsectAuxRef::getSymbolType(), llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), llvm::object::XCOFFSymbolRef::isCsectSymbol(), llvm::Expected< T >::takeError(), toSymbolRef(), llvm::XCOFF::XTY_CM, and llvm::XCOFF::XTY_SD.
uint32_t llvm::object::XCOFFObjectFile::getSymbolTableOffset32 | ( | ) | const |
Definition at line 869 of file XCOFFObjectFile.cpp.
References fileHeader32(), and llvm::object::XCOFFFileHeader32::SymbolTableOffset.
uint64_t llvm::object::XCOFFObjectFile::getSymbolTableOffset64 | ( | ) | const |
Definition at line 886 of file XCOFFObjectFile.cpp.
References fileHeader64(), and llvm::object::XCOFFFileHeader64::SymbolTableOffset.
|
overridevirtual |
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().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 268 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getValue(), and toSymbolRef().
int32_t llvm::object::XCOFFObjectFile::getTimeStamp | ( | ) | const |
Definition at line 860 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), is64Bit(), llvm::object::XCOFFFileHeader32::TimeStamp, and llvm::object::XCOFFFileHeader64::TimeStamp.
|
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().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 513 of file XCOFFObjectFile.cpp.
References getSectionFlags(), llvm::XCOFF::STYP_DEBUG, and llvm::XCOFF::STYP_DWARF.
Referenced by getSectionAlignment(), and getSymbolType().
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 738 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), llvm::object::XCOFFFileHeader32::Flags, llvm::object::XCOFFFileHeader64::Flags, is64Bit(), and llvm::object::NoRelMask.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 508 of file XCOFFObjectFile.cpp.
References getSectionFlags(), llvm::XCOFF::STYP_BSS, and llvm::XCOFF::STYP_TBSS.
Referenced by getSymbolType().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 495 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 503 of file XCOFFObjectFile.cpp.
References getSectionFlags(), llvm::XCOFF::STYP_DATA, and llvm::XCOFF::STYP_TDATA.
Referenced by getSymbolType().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 499 of file XCOFFObjectFile.cpp.
References getSectionFlags(), and llvm::XCOFF::STYP_TEXT.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 518 of file XCOFFObjectFile.cpp.
References is64Bit().
Referenced by getSectionContents().
|
overridevirtual |
Maps a debug section name to a standard DWARF section name.
Reimplemented from llvm::object::ObjectFile.
Definition at line 752 of file XCOFFObjectFile.cpp.
References llvm::StringSwitch< T, R >::Case(), and llvm::StringSwitch< T, R >::Default().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 575 of file XCOFFObjectFile.cpp.
References is64Bit(), llvm::object::DataRefImpl::p, and llvm::object::viewAs().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 372 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and Ptr.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 216 of file XCOFFObjectFile.cpp.
References checkSymbolEntryPointer(), getAdvancedSymbolEntryAddress(), llvm::object::DataRefImpl::p, and toSymbolRef().
Expected< ArrayRef< Reloc > > llvm::object::XCOFFObjectFile::relocations | ( | const Shdr & | Sec | ) | const |
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().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 711 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 717 of file XCOFFObjectFile.cpp.
References getNumberOfSections(), llvm::object::getWithOffset(), llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SectionRef.
Referenced by getSymbolSection().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 523 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 549 of file XCOFFObjectFile.cpp.
References llvm::consumeError(), E(), is64Bit(), llvm::object::ObjectFile::RelocationRef, and relocations().
ArrayRef< XCOFFSectionHeader32 > llvm::object::XCOFFObjectFile::sections32 | ( | ) | const |
Definition at line 992 of file XCOFFObjectFile.cpp.
References llvm::ArrayRef(), assert(), getNumberOfSections(), and is64Bit().
Referenced by getNumberOfRelocationEntries().
ArrayRef< XCOFFSectionHeader64 > llvm::object::XCOFFObjectFile::sections64 | ( | ) | const |
Definition at line 985 of file XCOFFObjectFile.cpp.
References llvm::ArrayRef(), assert(), getNumberOfSections(), and is64Bit().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 694 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SymbolRef.
Referenced by symbols().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 700 of file XCOFFObjectFile.cpp.
References getNumberOfSymbolTableEntries(), getSymbolEntryAddressByIndex(), llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SymbolRef.
Referenced by getRelocationSymbol(), and symbols().
XCOFFObjectFile::xcoff_symbol_iterator_range llvm::object::XCOFFObjectFile::symbols | ( | ) | const |
Definition at line 707 of file XCOFFObjectFile.cpp.
References symbol_begin(), and symbol_end().
XCOFFSymbolRef llvm::object::XCOFFObjectFile::toSymbolRef | ( | DataRefImpl | Ref | ) | const |
Definition at line 172 of file XCOFFObjectFile.cpp.
Referenced by getCommonSymbolSizeImpl(), getSymbolAddress(), getSymbolAlignment(), getSymbolFlags(), getSymbolName(), getSymbolSection(), getSymbolSize(), getSymbolType(), getSymbolValueImpl(), llvm::jitlink::getXCOFFSymbolContainingSymbolRef(), and moveSymbolNext().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1241 of file XCOFFObjectFile.cpp.
|
friend |
|
staticconstexpr |
Definition at line 588 of file XCOFFObjectFile.h.
Referenced by getRelocationOffset().