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 531 of file XCOFFObjectFile.h.
using llvm::object::XCOFFObjectFile::xcoff_symbol_iterator_range = iterator_range<xcoff_symbol_iterator> |
Definition at line 590 of file XCOFFObjectFile.h.
const XCOFFAuxiliaryHeader32 * llvm::object::XCOFFObjectFile::auxiliaryHeader32 | ( | ) | const |
Definition at line 189 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 194 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 900 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 731 of file XCOFFObjectFile.h.
References B.
const XCOFFFileHeader32 * llvm::object::XCOFFObjectFile::fileHeader32 | ( | ) | const |
Definition at line 179 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 184 of file XCOFFObjectFile.cpp.
References assert(), and is64Bit().
Referenced by getFlags(), getMagic(), getMemberAlignment(), getNumberOfSections(), getNumberOfSymbolTableEntries64(), getOptionalHeaderSize(), getSymbolTableOffset64(), getTimeStamp(), and isRelocatableObject().
|
static |
Definition at line 127 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 725 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 719 of file XCOFFObjectFile.cpp.
References is64Bit().
Expected< StringRef > llvm::object::XCOFFObjectFile::getCFileName | ( | const XCOFFFileAuxEnt * | CFileEntPtr | ) | const |
Definition at line 253 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 286 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 1044 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 729 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 721 of file XCOFFObjectFile.cpp.
References is64Bit().
uint16_t llvm::object::XCOFFObjectFile::getFlags | ( | ) | const |
Definition at line 959 of file XCOFFObjectFile.cpp.
References fileHeader32(), fileHeader64(), llvm::object::XCOFFFileHeader32::Flags, llvm::object::XCOFFFileHeader64::Flags, and is64Bit().
Definition at line 1104 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 875 of file XCOFFObjectFile.cpp.
References fileHeader32().
Referenced by getNumberOfSymbolTableEntries(), and getRelocationSymbol().
uint16_t llvm::object::XCOFFObjectFile::getMagic | ( | ) | const |
Definition at line 789 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 999 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 850 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 889 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 885 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 859 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 649 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 776 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 868 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 577 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 610 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 630 of file XCOFFObjectFile.cpp.
References is64Bit(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 636 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 380 of file XCOFFObjectFile.cpp.
References is64Bit(), llvm::object::XCOFFSectionHeader32::VirtualAddress, and llvm::object::XCOFFSectionHeader64::VirtualAddress.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 430 of file XCOFFObjectFile.cpp.
References llvm_unreachable.
Expected< DataRefImpl > llvm::object::XCOFFObjectFile::getSectionByNum | ( | int16_t | Num | ) | const |
Definition at line 793 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 408 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 443 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 971 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 389 of file XCOFFObjectFile.cpp.
References is64Bit().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 376 of file XCOFFObjectFile.cpp.
References llvm::object::generateXCOFFFixedNameStringRef().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 398 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 739 of file XCOFFObjectFile.cpp.
References auxiliaryHeader32(), auxiliaryHeader64(), llvm::object::XCOFFAuxiliaryHeader< T >::getEntryPointAddr(), and is64Bit().
StringRef llvm::object::XCOFFObjectFile::getStringTable | ( | ) | const |
Definition at line 245 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFStringTable::Data, and llvm::object::XCOFFStringTable::Size.
Referenced by llvm::objcopy::xcoff::XCOFFReader::create().
Definition at line 228 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 263 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getValue(), and toSymbolRef().
|
overridevirtual |
Reimplemented from llvm::object::ObjectFile.
Definition at line 271 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 133 of file XCOFFObjectFile.cpp.
References assert(), llvm::object::getWithOffset(), is64Bit(), and llvm::object::SymbolAuxTypeOffset.
|
inline |
Definition at line 682 of file XCOFFObjectFile.h.
References Idx, and llvm::XCOFF::SymbolTableEntrySize.
uintptr_t llvm::object::XCOFFObjectFile::getSymbolEntryAddressByIndex | ( | uint32_t | SymbolTableIndex | ) | const |
Definition at line 940 of file XCOFFObjectFile.cpp.
References getAdvancedSymbolEntryAddress(), and getPointerToSymbolTable().
Referenced by getRelocationSymbol(), getSymbolNameByIndex(), and symbol_end().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 649 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 915 of file XCOFFObjectFile.cpp.
References llvm::XCOFF::SymbolTableEntrySize.
Referenced by llvm::object::XCOFFSymbolRef::getXCOFFCsectAuxRef().
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 259 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 946 of file XCOFFObjectFile.cpp.
References llvm::object::createError(), getNumberOfSymbolTableEntries(), getSymbolEntryAddressByIndex(), getSymbolName(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 358 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 841 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getSectionNumber(), and Sym.
Expected< StringRef > llvm::object::XCOFFObjectFile::getSymbolSectionName | ( | XCOFFSymbolRef | Ref | ) | const |
Definition at line 822 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 921 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 864 of file XCOFFObjectFile.cpp.
References fileHeader32(), and llvm::object::XCOFFFileHeader32::SymbolTableOffset.
uint64_t llvm::object::XCOFFObjectFile::getSymbolTableOffset64 | ( | ) | const |
Definition at line 881 of file XCOFFObjectFile.cpp.
References fileHeader64(), and llvm::object::XCOFFFileHeader64::SymbolTableOffset.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 305 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 267 of file XCOFFObjectFile.cpp.
References llvm::object::XCOFFSymbolRef::getValue(), and toSymbolRef().
int32_t llvm::object::XCOFFObjectFile::getTimeStamp | ( | ) | const |
Definition at line 855 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 772 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 508 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 733 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 503 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 490 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 498 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 494 of file XCOFFObjectFile.cpp.
References getSectionFlags(), and llvm::XCOFF::STYP_TEXT.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 513 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 747 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 570 of file XCOFFObjectFile.cpp.
References is64Bit(), and llvm::object::DataRefImpl::p.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 371 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and Ptr.
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 215 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 1017 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 706 of file XCOFFObjectFile.cpp.
References llvm::object::DataRefImpl::p, and llvm::object::ObjectFile::SectionRef.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 712 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 518 of file XCOFFObjectFile.cpp.
|
overridevirtual |
Implements llvm::object::ObjectFile.
Definition at line 544 of file XCOFFObjectFile.cpp.
References llvm::consumeError(), E, is64Bit(), and llvm::object::ObjectFile::RelocationRef.
ArrayRef< XCOFFSectionHeader32 > llvm::object::XCOFFObjectFile::sections32 | ( | ) | const |
Definition at line 987 of file XCOFFObjectFile.cpp.
References assert(), getNumberOfSections(), and is64Bit().
Referenced by getNumberOfRelocationEntries().
ArrayRef< XCOFFSectionHeader64 > llvm::object::XCOFFObjectFile::sections64 | ( | ) | const |
Definition at line 980 of file XCOFFObjectFile.cpp.
References assert(), getNumberOfSections(), and is64Bit().
|
overridevirtual |
Implements llvm::object::SymbolicFile.
Definition at line 689 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 695 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 702 of file XCOFFObjectFile.cpp.
References symbol_begin(), and symbol_end().
XCOFFSymbolRef llvm::object::XCOFFObjectFile::toSymbolRef | ( | DataRefImpl | Ref | ) | const |
Definition at line 171 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 1236 of file XCOFFObjectFile.cpp.
|
friend |
|
staticconstexpr |
Definition at line 581 of file XCOFFObjectFile.h.
Referenced by getRelocationOffset().