LLVM 18.0.0git
|
#include "llvm/Object/XCOFFObjectFile.h"
Static Public Attributes | |
static constexpr uint64_t | InvalidRelocOffset |
Friends | |
Expected< std::unique_ptr< ObjectFile > > | ObjectFile::createXCOFFObjectFile (MemoryBufferRef Object, unsigned FileType) |
Definition at line 521 of file XCOFFObjectFile.h.
const XCOFFAuxiliaryHeader32 * llvm::object::XCOFFObjectFile::auxiliaryHeader32 | ( | ) | const |
Definition at line 183 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by llvm::objcopy::xcoff::XCOFFReader::create(), getMemberAlignment(), and getSymbolFlags().
const XCOFFAuxiliaryHeader64 * llvm::object::XCOFFObjectFile::auxiliaryHeader64 | ( | ) | const |
Definition at line 188 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by getMemberAlignment().
void llvm::object::XCOFFObjectFile::checkSymbolEntryPointer | ( | uintptr_t | SymbolEntPtr | ) | const |
Definition at line 884 of file XCOFFObjectFile.cpp.
References llvm::Offset, llvm::report_fatal_error(), and llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), moveSymbolNext(), and toSymbolRef().
Definition at line 717 of file XCOFFObjectFile.h.
References B.
const XCOFFFileHeader32 * llvm::object::XCOFFObjectFile::fileHeader32 | ( | ) | const |
Definition at line 173 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 178 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by getFlags(), getMagic(), getMemberAlignment(), getNumberOfSections(), getNumberOfSymbolTableEntries64(), getOptionalHeaderSize(), getSymbolTableOffset64(), getTimeStamp(), and isRelocatableObject().
|
static |
Definition at line 121 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 711 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 705 of file XCOFFObjectFile.cpp.
References is64Bit().
Expected< StringRef > llvm::object::XCOFFObjectFile::getCFileName | ( | const XCOFFFileAuxEnt * | CFileEntPtr | ) | const |
Definition at line 247 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 280 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 Expected< ArrayRef< ExceptionSectionEntry64 > > llvm::object::XCOFFObjectFile::getExceptionEntries | ( | ) | const |
Definition at line 1028 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 715 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 707 of file XCOFFObjectFile.cpp.
References is64Bit().
uint16_t llvm::object::XCOFFObjectFile::getFlags | ( | ) | const |
Definition at line 943 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), llvm::object::XCOFFFileHeader32::Flags, llvm::object::XCOFFFileHeader64::Flags, and is64Bit().
Definition at line 1088 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::dwarf::toString(), and llvm::Twine::utohexstr().
uint32_t llvm::object::XCOFFObjectFile::getLogicalNumberOfSymbolTableEntries32 | ( | ) | const |
Definition at line 859 of file XCOFFObjectFile.cpp.
References fileHeader32().
Referenced by getNumberOfSymbolTableEntries(), and getRelocationSymbol().
uint16_t llvm::object::XCOFFObjectFile::getMagic | ( | ) | const |
Definition at line 773 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 983 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 834 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 873 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 869 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 843 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 635 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 760 of file XCOFFObjectFile.cpp.
References llvm::object::Binary::checkOffset(), llvm::object::createError(), llvm::object::Binary::Data, E, Name, Size, llvm::dwarf::toString(), and llvm::Twine::utohexstr().
int32_t llvm::object::XCOFFObjectFile::getRawNumberOfSymbolTableEntries32 | ( | ) | const |
Definition at line 852 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 567 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 600 of file XCOFFObjectFile.cpp.
References getLogicalNumberOfSymbolTableEntries32(), getNumberOfSymbolTableEntries64(), getSymbolEntryAddressByIndex(), 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 620 of file XCOFFObjectFile.cpp.
References is64Bit(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 626 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 370 of file XCOFFObjectFile.cpp.
References is64Bit(), llvm::object::XCOFFSectionHeader32::VirtualAddress, and llvm::object::XCOFFSectionHeader64::VirtualAddress.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 420 of file XCOFFObjectFile.cpp.
References llvm_unreachable.
Expected< DataRefImpl > llvm::object::XCOFFObjectFile::getSectionByNum | ( | int16_t | Num | ) | const |
Definition at line 777 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(), getSymbolType(), and llvm::object::XCOFFSymbolRef::isFunction().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 398 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::dwarf::toString(), and llvm::Twine::utohexstr().
Expected< uintptr_t > llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData | ( | XCOFF::SectionTypeFlags | SectType | ) | const |
Definition at line 433 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::dwarf::toString(), llvm::Twine::toVector(), and llvm::Twine::utohexstr().
int32_t llvm::object::XCOFFObjectFile::getSectionFlags | ( | DataRefImpl | Sec | ) | const |
Definition at line 955 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSectionHeader32::Flags, llvm::object::XCOFFSectionHeader64::Flags, and is64Bit().
Referenced by isDebugSection(), llvm::object::XCOFFSymbolRef::isFunction(), isSectionBSS(), isSectionData(), and isSectionText().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 379 of file XCOFFObjectFile.cpp.
References is64Bit().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 366 of file XCOFFObjectFile.cpp.
References llvm::object::generateXCOFFFixedNameStringRef().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 388 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 725 of file XCOFFObjectFile.cpp.
StringRef llvm::object::XCOFFObjectFile::getStringTable | ( | ) | const |
Definition at line 239 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFStringTable::Data, and llvm::object::XCOFFStringTable::Size.
Referenced by llvm::objcopy::xcoff::XCOFFReader::create().
Definition at line 222 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), llvm::object::XCOFFStringTable::Data, llvm::Offset, llvm::object::XCOFFStringTable::Size, and llvm::Twine::utohexstr().
Referenced by getCFileName(), and llvm::object::XCOFFSymbolRef::getName().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 257 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getValue(), and toSymbolRef().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 265 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 127 of file XCOFFObjectFile.cpp.
References assert(), llvm::object::getWithOffset(), is64Bit(), and llvm::object::SymbolAuxTypeOffset.
Referenced by llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef().
|
inline |
Definition at line 668 of file XCOFFObjectFile.h.
References Idx, and llvm::XCOFF::SymbolTableEntrySize.
uintptr_t llvm::object::XCOFFObjectFile::getSymbolEntryAddressByIndex | ( | uint32_t | SymbolTableIndex | ) | const |
Definition at line 924 of file XCOFFObjectFile.cpp.
References getAdvancedSymbolEntryAddress(), and getPointerToSymbolTable().
Referenced by getRelocationSymbol(), getSymbolNameByIndex(), and symbol_end().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 639 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 899 of file XCOFFObjectFile.cpp.
References llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 253 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 930 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), getNumberOfSymbolTableEntries(), getSymbolEntryAddressByIndex(), getSymbolName(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 348 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 825 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getSectionNumber(), and Sym.
Expected< StringRef > llvm::object::XCOFFObjectFile::getSymbolSectionName | ( | XCOFFSymbolRef | Ref | ) | const |
Definition at line 806 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 905 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 848 of file XCOFFObjectFile.cpp.
References fileHeader32(), and llvm::object::XCOFFFileHeader32::SymbolTableOffset.
uint64_t llvm::object::XCOFFObjectFile::getSymbolTableOffset64 | ( | ) | const |
Definition at line 865 of file XCOFFObjectFile.cpp.
References fileHeader64(), and llvm::object::XCOFFFileHeader64::SymbolTableOffset.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 299 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 261 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getValue(), and toSymbolRef().
int32_t llvm::object::XCOFFObjectFile::getTimeStamp | ( | ) | const |
Definition at line 839 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 756 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(), getSymbolAuxType(), getSymbolFlags(), getSymbolType(), getTimeStamp(), llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef(), isRelocatableObject(), isSectionVirtual(), moveRelocationNext(), section_rel_end(), sections32(), sections64(), and llvm::object::XCOFFSymbolRef::XCOFFSymbolRef().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 498 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 719 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 493 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 480 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 488 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 484 of file XCOFFObjectFile.cpp.
References getSectionFlags(), and llvm::XCOFF::STYP_TEXT.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 503 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 731 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 560 of file XCOFFObjectFile.cpp.
References is64Bit(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 361 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and Ptr.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 209 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 1001 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), llvm::object::Binary::Data, E, getNumberOfRelocationEntries(), llvm::object::getWithOffset(), llvm::XCOFF::RelocationSerializationSize32, llvm::XCOFF::RelocationSerializationSize64, llvm::dwarf::toString(), and llvm::Twine::utohexstr().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 692 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 698 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 508 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 534 of file XCOFFObjectFile.cpp.
References llvm::consumeError(), E, is64Bit(), and llvm::object::ObjectFile::RelocationRef.
ArrayRef< XCOFFSectionHeader32 > llvm::object::XCOFFObjectFile::sections32 | ( | ) | const |
Definition at line 971 of file XCOFFObjectFile.cpp.
References assert(), getNumberOfSections(), and is64Bit().
Referenced by getNumberOfRelocationEntries().
ArrayRef< XCOFFSectionHeader64 > llvm::object::XCOFFObjectFile::sections64 | ( | ) | const |
Definition at line 964 of file XCOFFObjectFile.cpp.
References assert(), getNumberOfSections(), and is64Bit().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 679 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SymbolRef.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 685 of file XCOFFObjectFile.cpp.
References getNumberOfSymbolTableEntries(), getSymbolEntryAddressByIndex(), llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SymbolRef.
Referenced by getRelocationSymbol().
XCOFFSymbolRef llvm::object::XCOFFObjectFile::toSymbolRef | ( | DataRefImpl | Ref | ) | const |
Definition at line 165 of file XCOFFObjectFile.cpp.
References assert(), checkSymbolEntryPointer(), and llvm::Ref.
Referenced by getCommonSymbolSizeImpl(), getSymbolAddress(), getSymbolAlignment(), getSymbolFlags(), getSymbolName(), getSymbolSection(), getSymbolSize(), getSymbolType(), getSymbolValueImpl(), and moveSymbolNext().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 1220 of file XCOFFObjectFile.cpp.
|
friend |
|
staticconstexpr |
Definition at line 571 of file XCOFFObjectFile.h.
Referenced by getRelocationOffset().