LLVM 20.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 532 of file XCOFFObjectFile.h.
using llvm::object::XCOFFObjectFile::xcoff_symbol_iterator_range = iterator_range<xcoff_symbol_iterator> |
Definition at line 591 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 llvm::objcopy::xcoff::XCOFFReader::create(), 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 901 of file XCOFFObjectFile.cpp.
References llvm::Offset, llvm::report_fatal_error(), and llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), and moveSymbolNext().
Definition at line 732 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 llvm::objcopy::xcoff::XCOFFReader::create(), 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 726 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 720 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 1045 of file XCOFFObjectFile.cpp.
References assert(), getSectionSize(), is64Bit(), llvm::object::DataRefImpl::p, llvm::XCOFF::STYP_EXCEPT, and llvm::Expected< T >::takeError().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 730 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 722 of file XCOFFObjectFile.cpp.
References is64Bit().
uint16_t llvm::object::XCOFFObjectFile::getFlags | ( | ) | const |
Definition at line 960 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), llvm::object::XCOFFFileHeader32::Flags, llvm::object::XCOFFFileHeader64::Flags, and is64Bit().
Definition at line 1105 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), llvm::object::Binary::Data, llvm::Expected< T >::get(), 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(), and llvm::Twine::utohexstr().
uint32_t llvm::object::XCOFFObjectFile::getLogicalNumberOfSymbolTableEntries32 | ( | ) | const |
Definition at line 876 of file XCOFFObjectFile.cpp.
References fileHeader32().
Referenced by getNumberOfSymbolTableEntries(), and getRelocationSymbol().
uint16_t llvm::object::XCOFFObjectFile::getMagic | ( | ) | const |
Definition at line 790 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 1000 of file XCOFFObjectFile.cpp.
References llvm::errorCodeToError(), is64Bit(), llvm::object::parse_failed, llvm::XCOFF::RelocOverflow, sections32(), and llvm::XCOFF::STYP_OVRFLO.
Referenced by relocations().
uint16_t llvm::object::XCOFFObjectFile::getNumberOfSections | ( | ) | const |
Definition at line 851 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), is64Bit(), llvm::object::XCOFFFileHeader32::NumberOfSections, and llvm::object::XCOFFFileHeader64::NumberOfSections.
Referenced by llvm::objcopy::xcoff::XCOFFReader::create(), getRelocationOffset(), getSectionByNum(), section_end(), sections32(), and sections64().
uint32_t llvm::object::XCOFFObjectFile::getNumberOfSymbolTableEntries | ( | ) | const |
Definition at line 890 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 886 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 860 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFFileHeader32::AuxHeaderSize, llvm::object::XCOFFFileHeader64::AuxHeaderSize, fileHeader32(), fileHeader64(), and is64Bit().
Referenced by llvm::objcopy::xcoff::XCOFFReader::create().
|
inline |
Definition at line 650 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 777 of file XCOFFObjectFile.cpp.
References llvm::object::Binary::checkOffset(), llvm::object::createError(), llvm::object::Binary::Data, E, Name, Size, llvm::toString(), and llvm::Twine::utohexstr().
int32_t llvm::object::XCOFFObjectFile::getRawNumberOfSymbolTableEntries32 | ( | ) | const |
Definition at line 869 of file XCOFFObjectFile.cpp.
References fileHeader32(), and llvm::object::XCOFFFileHeader32::NumberOfSymTableEntries.
Referenced by llvm::objcopy::xcoff::XCOFFReader::create().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 578 of file XCOFFObjectFile.cpp.
References getNumberOfSections(), I, InvalidRelocOffset, is64Bit(), llvm::object::DataRefImpl::p, llvm::object::XCOFFSectionHeader32::SectionSize, llvm::object::XCOFFSectionHeader64::SectionSize, llvm::object::XCOFFSectionHeader32::VirtualAddress, llvm::object::XCOFFSectionHeader64::VirtualAddress, and llvm::object::XCOFFRelocation< AddressType >::VirtualAddress.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 611 of file XCOFFObjectFile.cpp.
References getLogicalNumberOfSymbolTableEntries32(), getNumberOfSymbolTableEntries64(), getSymbolEntryAddressByIndex(), Index, is64Bit(), llvm::object::DataRefImpl::p, symbol_end(), llvm::object::XCOFFRelocation< AddressType >::SymbolIndex, and llvm::object::ObjectFile::SymbolRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 631 of file XCOFFObjectFile.cpp.
References is64Bit(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 637 of file XCOFFObjectFile.cpp.
References llvm::StringRef::begin(), llvm::StringRef::end(), llvm::XCOFF::getRelocationTypeString(), is64Bit(), llvm::object::DataRefImpl::p, and llvm::object::XCOFFRelocation< AddressType >::Type.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 381 of file XCOFFObjectFile.cpp.
References is64Bit(), llvm::object::XCOFFSectionHeader32::VirtualAddress, and llvm::object::XCOFFSectionHeader64::VirtualAddress.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 431 of file XCOFFObjectFile.cpp.
References llvm_unreachable.
Expected< DataRefImpl > llvm::object::XCOFFObjectFile::getSectionByNum | ( | int16_t | Num | ) | const |
Definition at line 794 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::object::ObjectFile::base(), llvm::object::Binary::checkOffset(), llvm::object::createError(), llvm::object::Binary::Data, E, llvm::object::XCOFFSectionHeader32::FileOffsetToRawData, llvm::object::XCOFFSectionHeader64::FileOffsetToRawData, getSectionSize(), is64Bit(), isSectionVirtual(), llvm::toString(), and llvm::Twine::utohexstr().
Expected< uintptr_t > llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData | ( | XCOFF::SectionTypeFlags | SectType | ) | const |
Definition at line 444 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 972 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSectionHeader32::Flags, llvm::object::XCOFFSectionHeader64::Flags, and 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(), llvm::object::XCOFFSectionHeader32::SectionSize, and llvm::object::XCOFFSectionHeader64::SectionSize.
Referenced by getExceptionEntries(), getSectionContents(), and getSectionFileOffsetToRawData().
Reimplemented from llvm::object::ObjectFile.
Definition at line 740 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.
Referenced by llvm::objcopy::xcoff::XCOFFReader::create().
Definition at line 229 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), llvm::Offset, and llvm::Twine::utohexstr().
Referenced by getCFileName(), and llvm::object::XCOFFSymbolRef::getName().
|
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(), and llvm::object::SymbolAuxTypeOffset.
|
inline |
Definition at line 683 of file XCOFFObjectFile.h.
References Idx, and llvm::XCOFF::SymbolTableEntrySize.
uintptr_t llvm::object::XCOFFObjectFile::getSymbolEntryAddressByIndex | ( | uint32_t | SymbolTableIndex | ) | const |
Definition at line 941 of file XCOFFObjectFile.cpp.
References getAdvancedSymbolEntryAddress(), getPointerToSymbolTable(), and Index.
Referenced by getRelocationSymbol(), getSymbolNameByIndex(), and symbol_end().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 650 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 916 of file XCOFFObjectFile.cpp.
References llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef().
|
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 947 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), getNumberOfSymbolTableEntries(), getSymbolEntryAddressByIndex(), getSymbolName(), Index, 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 842 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getSectionNumber(), and Sym.
Expected< StringRef > llvm::object::XCOFFObjectFile::getSymbolSectionName | ( | XCOFFSymbolRef | Ref | ) | const |
Definition at line 823 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 922 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.
Referenced by llvm::object::XCOFFSymbolRef::getSize().
uint32_t llvm::object::XCOFFObjectFile::getSymbolTableOffset32 | ( | ) | const |
Definition at line 865 of file XCOFFObjectFile.cpp.
References fileHeader32(), and llvm::object::XCOFFFileHeader32::SymbolTableOffset.
uint64_t llvm::object::XCOFFObjectFile::getSymbolTableOffset64 | ( | ) | const |
Definition at line 882 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 856 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 773 of file XCOFFObjectFile.cpp.
References llvm::object::Binary::getType(), and llvm::object::Binary::ID_XCOFF64.
Referenced by auxiliaryHeader32(), auxiliaryHeader64(), llvm::objcopy::xcoff::XCOFFReader::create(), 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(), llvm::object::XCOFFSymbolRef::getValue(), isRelocatableObject(), isSectionVirtual(), moveRelocationNext(), section_rel_end(), sections32(), and sections64().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 509 of file XCOFFObjectFile.cpp.
References getSectionFlags(), llvm::XCOFF::STYP_DEBUG, and llvm::XCOFF::STYP_DWARF.
Referenced by getSymbolType().
|
overridevirtual |
True if this is a relocatable object (.o/.obj).
Implements llvm::object::ObjectFile.
Definition at line 734 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 504 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 491 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 499 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 495 of file XCOFFObjectFile.cpp.
References getSectionFlags(), and llvm::XCOFF::STYP_TEXT.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 514 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSectionHeader32::FileOffsetToRawData, llvm::object::XCOFFSectionHeader64::FileOffsetToRawData, and is64Bit().
Referenced by getSectionContents().
|
overridevirtual |
Maps a debug section name to a standard DWARF section name.
Reimplemented from llvm::object::ObjectFile.
Definition at line 748 of file XCOFFObjectFile.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), and Name.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 571 of file XCOFFObjectFile.cpp.
References is64Bit(), and llvm::object::DataRefImpl::p.
|
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 1018 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), llvm::object::Binary::Data, E, getNumberOfRelocationEntries(), llvm::object::getWithOffset(), llvm::XCOFF::RelocationSerializationSize32, llvm::XCOFF::RelocationSerializationSize64, llvm::toString(), and llvm::Twine::utohexstr().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 707 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 713 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 519 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 545 of file XCOFFObjectFile.cpp.
References llvm::consumeError(), E, is64Bit(), and llvm::object::ObjectFile::RelocationRef.
ArrayRef< XCOFFSectionHeader32 > llvm::object::XCOFFObjectFile::sections32 | ( | ) | const |
Definition at line 988 of file XCOFFObjectFile.cpp.
References assert(), getNumberOfSections(), and is64Bit().
Referenced by getNumberOfRelocationEntries().
ArrayRef< XCOFFSectionHeader64 > llvm::object::XCOFFObjectFile::sections64 | ( | ) | const |
Definition at line 981 of file XCOFFObjectFile.cpp.
References assert(), getNumberOfSections(), and is64Bit().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 690 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 696 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 703 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(), and moveSymbolNext().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1237 of file XCOFFObjectFile.cpp.
|
friend |
|
staticconstexpr |
Definition at line 582 of file XCOFFObjectFile.h.
Referenced by getRelocationOffset().