LLVM: llvm::object::ObjectFile Class Reference (original) (raw)

This class is the base class for all object file types. More...

#include "[llvm/Object/ObjectFile.h](ObjectFile%5F8h%5Fsource.html)"

Public Member Functions
ObjectFile ()=delete
ObjectFile (const ObjectFile &other)=delete
ObjectFile & operator= (const ObjectFile &other)=delete
uint64_t getCommonSymbolSize (DataRefImpl Symb) const
virtual std::vector< SectionRef > dynamic_relocation_sections () const
symbol_iterator_range symbols () const
virtual section_iterator section_begin () const =0
virtual section_iterator section_end () const =0
section_iterator_range sections () const
virtual bool hasDebugInfo () const
virtual uint8_t getBytesInAddress () const =0
The number of bytes used to represent an address in this object file format.
virtual StringRef getFileFormatName () const =0
virtual Triple::ArchType getArch () const =0
virtual Triple::OSType getOS () const
virtual Expected< SubtargetFeatures > getFeatures () const =0
virtual std::optional< StringRef > tryGetCPUName () const
virtual void setARMSubArch (Triple &TheTriple) const
virtual Expected< uint64_t > getStartAddress () const
Triple makeTriple () const
Create a triple from the data in this object file.
virtual StringRef mapDebugSectionName (StringRef Name) const
Maps a debug section name to a standard DWARF section name.
virtual bool isRelocatableObject () const =0
True if this is a relocatable object (.o/.obj).
bool isReflectionSectionStrippable (llvm::binaryformat::Swift5ReflectionSectionKind ReflectionSectionKind) const
True if the reflection section can be stripped by the linker.
Public Member Functions inherited from llvm::object::SymbolicFile
SymbolicFile (unsigned int Type, MemoryBufferRef Source)
~SymbolicFile () override
virtual void moveSymbolNext (DataRefImpl &Symb) const =0
virtual Expected< uint32_t > getSymbolFlags (DataRefImpl Symb) const =0
virtual basic_symbol_iterator symbol_begin () const =0
virtual basic_symbol_iterator symbol_end () const =0
virtual bool is64Bit () const =0
basic_symbol_iterator_range symbols () const
Public Member Functions inherited from llvm::object::Binary
Binary ()=delete
Binary (const Binary &other)=delete
virtual ~Binary ()
virtual Error initContent ()
StringRef getData () const
StringRef getFileName () const
MemoryBufferRef getMemoryBufferRef () const
unsigned int getType () const
bool isObject () const
bool isSymbolic () const
bool isArchive () const
bool isMachOUniversalBinary () const
bool isTapiUniversal () const
bool isELF () const
bool isMachO () const
bool isCOFF () const
bool isXCOFF () const
bool isWasm () const
bool isOffloadFile () const
bool isCOFFImportFile () const
bool isIR () const
bool isGOFF () const
bool isMinidump () const
bool isTapiFile () const
bool isLittleEndian () const
bool isWinRes () const
bool isDXContainer () const
Triple::ObjectFormatType getTripleObjectFormat () const
Static Public Member Functions
static Expected< OwningBinary< ObjectFile > > createObjectFile (StringRef ObjectPath)
static Expected< std::unique_ptr< ObjectFile > > createObjectFile (MemoryBufferRef Object, llvm::file_magic Type, bool InitContent=true)
static Expected< std::unique_ptr< ObjectFile > > createObjectFile (MemoryBufferRef Object)
static bool classof (const Binary *v)
static Expected< std::unique_ptr< COFFObjectFile > > createCOFFObjectFile (MemoryBufferRef Object)
static Expected< std::unique_ptr< ObjectFile > > createXCOFFObjectFile (MemoryBufferRef Object, unsigned FileType)
static Expected< std::unique_ptr< ObjectFile > > createELFObjectFile (MemoryBufferRef Object, bool InitContent=true)
static Expected< std::unique_ptr< MachOObjectFile > > createMachOObjectFile (MemoryBufferRef Object, uint32_t UniversalCputype=0, uint32_t UniversalIndex=0, size_t MachOFilesetEntryOffset=0)
Create a MachOObjectFile instance from a given buffer.
static Expected< std::unique_ptr< ObjectFile > > createGOFFObjectFile (MemoryBufferRef Object)
static Expected< std::unique_ptr< WasmObjectFile > > createWasmObjectFile (MemoryBufferRef Object)
static Expected< std::unique_ptr< DXContainerObjectFile > > createDXContainerObjectFile (MemoryBufferRef Object)
Static Public Member Functions inherited from llvm::object::SymbolicFile
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object, llvm::file_magic Type, LLVMContext *Context, bool InitContent=true)
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object)
static bool classof (const Binary *v)
static bool isSymbolicFile (file_magic Type, const LLVMContext *Context)
Static Public Member Functions inherited from llvm::object::Binary
static Error checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
Protected Member Functions
ObjectFile (unsigned int Type, MemoryBufferRef Source)
const uint8_t * base () const
virtual Expected< StringRef > getSymbolName (DataRefImpl Symb) const =0
Error printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
virtual Expected< uint64_t > getSymbolAddress (DataRefImpl Symb) const =0
virtual uint64_t getSymbolValueImpl (DataRefImpl Symb) const =0
virtual uint32_t getSymbolAlignment (DataRefImpl Symb) const
virtual uint64_t getCommonSymbolSizeImpl (DataRefImpl Symb) const =0
virtual Expected< SymbolRef::Type > getSymbolType (DataRefImpl Symb) const =0
virtual Expected< section_iterator > getSymbolSection (DataRefImpl Symb) const =0
virtual void moveSectionNext (DataRefImpl &Sec) const =0
virtual Expected< StringRef > getSectionName (DataRefImpl Sec) const =0
virtual uint64_t getSectionAddress (DataRefImpl Sec) const =0
virtual uint64_t getSectionIndex (DataRefImpl Sec) const =0
virtual uint64_t getSectionSize (DataRefImpl Sec) const =0
virtual Expected< ArrayRef< uint8_t > > getSectionContents (DataRefImpl Sec) const =0
virtual uint64_t getSectionAlignment (DataRefImpl Sec) const =0
virtual bool isSectionCompressed (DataRefImpl Sec) const =0
virtual bool isSectionText (DataRefImpl Sec) const =0
virtual bool isSectionData (DataRefImpl Sec) const =0
virtual bool isSectionBSS (DataRefImpl Sec) const =0
virtual bool isSectionVirtual (DataRefImpl Sec) const =0
virtual bool isSectionBitcode (DataRefImpl Sec) const
virtual bool isSectionStripped (DataRefImpl Sec) const
virtual bool isBerkeleyText (DataRefImpl Sec) const
virtual bool isBerkeleyData (DataRefImpl Sec) const
virtual bool isDebugSection (DataRefImpl Sec) const
virtual relocation_iterator section_rel_begin (DataRefImpl Sec) const =0
virtual relocation_iterator section_rel_end (DataRefImpl Sec) const =0
virtual Expected< section_iterator > getRelocatedSection (DataRefImpl Sec) const
virtual void moveRelocationNext (DataRefImpl &Rel) const =0
virtual uint64_t getRelocationOffset (DataRefImpl Rel) const =0
virtual symbol_iterator getRelocationSymbol (DataRefImpl Rel) const =0
virtual uint64_t getRelocationType (DataRefImpl Rel) const =0
virtual void getRelocationTypeName (DataRefImpl Rel, SmallVectorImpl< char > &Result) const =0
virtual llvm::binaryformat::Swift5ReflectionSectionKind mapReflectionSectionNameToEnumValue (StringRef SectionName) const
Expected< uint64_t > getSymbolValue (DataRefImpl Symb) const
Protected Member Functions inherited from llvm::object::Binary
Binary (unsigned int Type, MemoryBufferRef Source)
Friends
class SymbolRef
class SectionRef
class RelocationRef
Additional Inherited Members
Protected Types inherited from llvm::object::Binary
enum { ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR, ID_TapiUniversal, ID_TapiFile, ID_Minidump, ID_WinRes, ID_Offload, ID_StartObjects, ID_COFF, ID_XCOFF32, ID_XCOFF64, ID_ELF32L, ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L, ID_MachO32B, ID_MachO64L, ID_MachO64B, ID_GOFF, ID_Wasm, ID_DXContainer, ID_EndObjects }
Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int getELFType (bool isLE, bool is64Bits)
static unsigned int getMachOType (bool isLE, bool is64Bits)
Protected Attributes inherited from llvm::object::Binary
MemoryBufferRef Data

This class is the base class for all object file types.

Concrete instances of this object are created by createObjectFile, which figures out which type to create.

Definition at line 231 of file ObjectFile.h.

section_iterator_range

symbol_iterator_range

ObjectFile() [2/3]

llvm::object::ObjectFile::ObjectFile ( ) delete

ObjectFile() [3/3]

base()

const uint8_t * llvm::object::ObjectFile::base ( ) const inlineprotected

Definition at line 237 of file ObjectFile.h.

References llvm::object::Binary::Data.

Referenced by llvm::object::ELFObjectFile< ELFT >::dynamic_relocation_sections(), llvm::object::COFFObjectFile::getDOSHeader(), llvm::object::COFFObjectFile::getHybridObjectView(), llvm::object::COFFObjectFile::getRelocations(), llvm::object::COFFObjectFile::getRvaAndSizeAsBytes(), llvm::object::COFFObjectFile::getRvaPtr(), llvm::object::COFFObjectFile::getSectionContents(), llvm::object::ELFObjectFile< ELFT >::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), llvm::object::COFFObjectFile::getSymbolAuxData(), llvm::object::GOFFObjectFile::GOFFObjectFile(), llvm::object::COFFObjectFile::section_rel_begin(), and llvm::object::COFFObjectFile::section_rel_end().

classof()

createCOFFObjectFile()

createDXContainerObjectFile()

createELFObjectFile()

Definition at line 72 of file ELFObjectFile.cpp.

References llvm::countr_zero(), llvm::object::createError(), createPtr(), llvm::ELF::ELFCLASS32, llvm::ELF::ELFCLASS64, llvm::ELF::ELFDATA2LSB, llvm::ELF::ELFDATA2MSB, and llvm::object::getElfArchType().

Referenced by llvm::jitlink::createLinkGraphFromELFObject_aarch64(), llvm::jitlink::createLinkGraphFromELFObject_loongarch(), llvm::jitlink::createLinkGraphFromELFObject_ppc64(), llvm::jitlink::createLinkGraphFromELFObject_riscv(), llvm::jitlink::createLinkGraphFromELFObject_systemz(), llvm::jitlink::createLinkGraphFromELFObject_x86(), llvm::jitlink::createLinkGraphFromELFObject_x86_64(), and createObjectFile().

createGOFFObjectFile()

createMachOObjectFile()

createObjectFile() [1/3]

createObjectFile() [2/3]

Definition at line 150 of file ObjectFile.cpp.

References llvm::file_magic::archive, llvm::file_magic::bitcode, llvm::file_magic::clang_ast, llvm::file_magic::coff_cl_gl_object, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, createCOFFObjectFile(), createDXContainerObjectFile(), createELFObjectFile(), createMachOObjectFile(), createWasmObjectFile(), createXCOFFObjectFile(), llvm::file_magic::cuda_fatbinary, llvm::object::Binary::Data, llvm::file_magic::dxcontainer_object, llvm::file_magic::elf, llvm::file_magic::elf_core, llvm::file_magic::elf_executable, llvm::file_magic::elf_relocatable, llvm::file_magic::elf_shared_object, llvm::errorCodeToError(), llvm::file_magic::goff_object, llvm::object::Binary::ID_XCOFF32, llvm::object::Binary::ID_XCOFF64, llvm::identify_magic(), llvm::object::invalid_file_type, llvm_unreachable, llvm::file_magic::macho_bundle, llvm::file_magic::macho_core, llvm::file_magic::macho_dsym_companion, llvm::file_magic::macho_dynamic_linker, llvm::file_magic::macho_dynamically_linked_shared_lib, llvm::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::file_magic::macho_executable, llvm::file_magic::macho_file_set, llvm::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::file_magic::macho_kext_bundle, llvm::file_magic::macho_object, llvm::file_magic::macho_preload_executable, llvm::file_magic::macho_universal_binary, llvm::file_magic::minidump, llvm::file_magic::offload_binary, llvm::file_magic::offload_bundle, llvm::file_magic::offload_bundle_compressed, llvm::file_magic::pdb, llvm::file_magic::pecoff_executable, llvm::file_magic::spirv_object, llvm::file_magic::tapi_file, llvm::file_magic::unknown, llvm::file_magic::wasm_object, llvm::file_magic::windows_resource, llvm::file_magic::xcoff_object_32, and llvm::file_magic::xcoff_object_64.

createObjectFile() [3/3]

Returns

Pointer to ObjectFile subclass to handle this type of object.

Parameters

ObjectPath The path to the object file. ObjectPath.isObject must return true. Create ObjectFile from path.

Definition at line 211 of file ObjectFile.cpp.

References createObjectFile(), llvm::errorCodeToError(), llvm::ErrorOr< T >::get(), llvm::Expected< T >::get(), llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFile(), and llvm::Expected< T >::takeError().

Referenced by llvm::jitlink::createLinkGraphFromXCOFFObject_ppc64(), createObjectFile(), createObjectFile(), llvm::object::SymbolicFile::createSymbolicFile(), llvm::NewArchiveMember::detectKindFromObject(), llvm::orc::RTDyldObjectLinkingLayer::emit(), llvm::object::extractOffloadBinaries(), llvm::object::extractOffloadBundleByURI(), llvm::object::IRObjectFile::findBitcodeInMemBuffer(), llvm::MCJIT::generateCodeForModule(), llvm::orc::getObjectFileInterface(), isRelocatableObject(), LLVMCreateObjectFile(), llvm::xray::loadInstrumentationMap(), llvm::cgdata::mergeCodeGenData(), llvm::orc::ForceLoadMachOArchiveMembers::operator()(), llvm::orc::SimpleCompiler::operator()(), llvm::dwarf_linker::parallel::SectionDescriptor::setSizesForSectionCreatedByAsmPrinter(), llvm::write(), and llvm::yaml::yaml2ObjectFile().

createWasmObjectFile()

createXCOFFObjectFile()

dynamic_relocation_sections()

virtual std::vector< SectionRef > llvm::object::ObjectFile::dynamic_relocation_sections ( ) const inlinevirtual

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.

Definition at line 318 of file ObjectFile.h.

getArch()

virtual Triple::ArchType llvm::object::ObjectFile::getArch ( ) const pure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by makeTriple().

getBytesInAddress()

virtual uint8_t llvm::object::ObjectFile::getBytesInAddress ( ) const pure virtual

The number of bytes used to represent an address in this object file format.

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getCommonSymbolSize()

getCommonSymbolSizeImpl()

virtual uint64_t llvm::object::ObjectFile::getCommonSymbolSizeImpl ( DataRefImpl Symb) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by getCommonSymbolSize().

getFeatures()

getFileFormatName()

virtual StringRef llvm::object::ObjectFile::getFileFormatName ( ) const pure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getOS()

virtual Triple::OSType llvm::object::ObjectFile::getOS ( ) const inlinevirtual

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.

Definition at line 343 of file ObjectFile.h.

References llvm::Triple::UnknownOS.

Referenced by makeTriple().

getRelocatedSection()

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.

Definition at line 106 of file ObjectFile.cpp.

References SectionRef.

Referenced by section_rel_end().

getRelocationOffset()

virtual uint64_t llvm::object::ObjectFile::getRelocationOffset ( DataRefImpl Rel) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getRelocationSymbol()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getRelocationType()

virtual uint64_t llvm::object::ObjectFile::getRelocationType ( DataRefImpl Rel) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getRelocationTypeName()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getSectionAddress()

virtual uint64_t llvm::object::ObjectFile::getSectionAddress ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getSectionAlignment()

virtual uint64_t llvm::object::ObjectFile::getSectionAlignment ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getSectionContents()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getSectionIndex()

virtual uint64_t llvm::object::ObjectFile::getSectionIndex ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getSectionName()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by isSectionBitcode().

getSectionSize()

virtual uint64_t llvm::object::ObjectFile::getSectionSize ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

getStartAddress()

virtual Expected< uint64_t > llvm::object::ObjectFile::getStartAddress ( ) const inlinevirtual

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::XCOFFObjectFile.

Definition at line 349 of file ObjectFile.h.

References llvm::errorCodeToError(), and llvm::object::parse_failed.

getSymbolAddress()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::SymbolRef::getAddress().

getSymbolAlignment()

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Definition at line 78 of file ObjectFile.cpp.

Referenced by llvm::object::SymbolRef::getAlignment(), and getSymbolValueImpl().

getSymbolName()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

References printSymbolName().

Referenced by llvm::object::SymbolRef::getName(), and printSymbolName().

getSymbolSection()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::SymbolRef::getSection().

getSymbolType()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by llvm::object::SymbolRef::getType().

getSymbolValue()

getSymbolValueImpl()

virtual uint64_t llvm::object::ObjectFile::getSymbolValueImpl ( DataRefImpl Symb) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

References getSymbolAlignment().

Referenced by getSymbolValue().

hasDebugInfo()

bool ObjectFile::hasDebugInfo ( ) const virtual

isBerkeleyData()

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.

Definition at line 94 of file ObjectFile.cpp.

References isSectionData().

Referenced by isSectionVirtual().

isBerkeleyText()

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, and llvm::object::ELFObjectFile< ELF64LE >.

Definition at line 90 of file ObjectFile.cpp.

References isSectionText().

Referenced by isSectionVirtual().

isDebugSection()

Reimplemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, and llvm::object::XCOFFObjectFile.

Definition at line 98 of file ObjectFile.cpp.

isReflectionSectionStrippable()

True if the reflection section can be stripped by the linker.

Definition at line 227 of file ObjectFile.cpp.

Referenced by isRelocatableObject().

isRelocatableObject()

virtual bool llvm::object::ObjectFile::isRelocatableObject ( ) const pure virtual

True if this is a relocatable object (.o/.obj).

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

References createObjectFile(), and isReflectionSectionStrippable().

isSectionBitcode()

bool ObjectFile::isSectionBitcode ( DataRefImpl Sec) const protectedvirtual

isSectionBSS()

virtual bool llvm::object::ObjectFile::isSectionBSS ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

isSectionCompressed()

virtual bool llvm::object::ObjectFile::isSectionCompressed ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

isSectionData()

virtual bool llvm::object::ObjectFile::isSectionData ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by isBerkeleyData().

isSectionStripped()

bool ObjectFile::isSectionStripped ( DataRefImpl Sec) const protectedvirtual

isSectionText()

virtual bool llvm::object::ObjectFile::isSectionText ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by isBerkeleyText().

isSectionVirtual()

virtual bool llvm::object::ObjectFile::isSectionVirtual ( DataRefImpl Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

References isBerkeleyData(), isBerkeleyText(), isSectionBitcode(), and isSectionStripped().

makeTriple()

Triple ObjectFile::makeTriple ( ) const

Create a triple from the data in this object file.

Definition at line 110 of file ObjectFile.cpp.

References llvm::Triple::AIX, llvm::Triple::AMD, llvm::Triple::arm, llvm::Triple::armeb, llvm::cast(), getArch(), getOS(), llvm::Triple::GOFF, llvm::Triple::isAMDGPU(), llvm::object::Binary::isCOFF(), llvm::object::Binary::isGOFF(), llvm::object::Binary::isMachO(), llvm::Triple::isNVPTX(), llvm::object::Binary::isXCOFF(), llvm::Triple::MachO, llvm::Triple::NVIDIA, llvm::Triple::setArch(), setARMSubArch(), llvm::Triple::setObjectFormat(), llvm::Triple::setOS(), llvm::Triple::setTriple(), llvm::Triple::setVendor(), llvm::Triple::thumb, llvm::Triple::UnknownOS, llvm::Triple::XCOFF, and llvm::Triple::ZOS.

Referenced by llvm::object::ELFObjectFileBase::getPltEntries().

mapDebugSectionName()

virtual StringRef llvm::object::ObjectFile::mapDebugSectionName ( StringRef Name) const inlinevirtual

mapReflectionSectionNameToEnumValue()

moveRelocationNext()

virtual void llvm::object::ObjectFile::moveRelocationNext ( DataRefImpl & Rel) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

moveSectionNext()

virtual void llvm::object::ObjectFile::moveSectionNext ( DataRefImpl & Sec) const protectedpure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

operator=()

printSymbolName()

section_begin()

virtual section_iterator llvm::object::ObjectFile::section_begin ( ) const pure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by sections().

section_end()

virtual section_iterator llvm::object::ObjectFile::section_end ( ) const pure virtual

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::GOFFObjectFile, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

Referenced by sections().

section_rel_begin()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

section_rel_end()

Implemented in ELFObjectFile< ELFT >, llvm::objcopy::coff::COFFObjectFile, llvm::objcopy:🧝:ELFObjectFile< ELFT >, llvm::object::COFFObjectFile, llvm::object::DXContainerObjectFile, llvm::object::ELFObjectFile< ELFT >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32BE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF32LE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64BE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::ELFObjectFile< ELF64LE >, llvm::object::MachOObjectFile, llvm::object::WasmObjectFile, and llvm::object::XCOFFObjectFile.

References getRelocatedSection().

sections()

section_iterator_range llvm::object::ObjectFile::sections ( ) const inline

setARMSubArch()

virtual void llvm::object::ObjectFile::setARMSubArch ( Triple & TheTriple) const inlinevirtual

symbols()

symbol_iterator_range llvm::object::ObjectFile::symbols ( ) const inline

tryGetCPUName()

virtual std::optional< StringRef > llvm::object::ObjectFile::tryGetCPUName ( ) const inlinevirtual

RelocationRef

Definition at line 289 of file ObjectFile.h.

References RelocationRef.

Referenced by llvm::object::MachOObjectFile::extrel_begin(), llvm::object::MachOObjectFile::extrel_end(), llvm::object::COFFObjectFile::getCOFFRelocation(), llvm::object::XCOFFRelocation< llvm::support::ubig32_t >::getRelocatedLength(), llvm::object::WasmObjectFile::getWasmRelocation(), llvm::object::MachOObjectFile::locrel_begin(), llvm::object::MachOObjectFile::locrel_end(), RelocationRef, llvm::object::COFFObjectFile::section_rel_begin(), llvm::object::DXContainerObjectFile::section_rel_begin(), llvm::object::MachOObjectFile::section_rel_begin(), llvm::object::WasmObjectFile::section_rel_begin(), llvm::object::COFFObjectFile::section_rel_end(), llvm::object::DXContainerObjectFile::section_rel_end(), llvm::object::MachOObjectFile::section_rel_end(), llvm::object::WasmObjectFile::section_rel_end(), and llvm::object::XCOFFObjectFile::section_rel_end().

SectionRef

Definition at line 263 of file ObjectFile.h.

References SectionRef.

Referenced by llvm::object::MachOObjectFile::getAnyRelocationSection(), llvm::object::COFFObjectFile::getCOFFSection(), llvm::object::ELFObjectFileBase::getCrelDecodeProblem(), llvm::object::ELFObjectFileBase::getEIdentABIVersion(), llvm::object::ELFObjectFileBase::getPltEntries(), getRelocatedSection(), llvm::object::MachOObjectFile::getRelocationRelocatedSection(), llvm::object::COFFObjectFile::getRvaAndSizeAsBytes(), llvm::object::COFFObjectFile::getRvaPtr(), llvm::object::MachOObjectFile::getSection(), llvm::object::MachOObjectFile::getSection(), llvm::object::COFFObjectFile::getSectionID(), llvm::object::MachOObjectFile::getSectionID(), llvm::object::MachOObjectFile::getSectionType(), llvm::object::COFFObjectFile::getSymbolSection(), llvm::object::MachOObjectFile::getSymbolSection(), llvm::object::WasmObjectFile::getSymbolSection(), llvm::object::XCOFFObjectFile::getSymbolSection(), llvm::object::WasmObjectFile::getWasmSection(), hasDebugInfo(), llvm::object::COFFObjectFile::section_begin(), llvm::object::DXContainerObjectFile::section_begin(), llvm::object::GOFFObjectFile::section_begin(), llvm::object::MachOObjectFile::section_begin(), llvm::object::WasmObjectFile::section_begin(), llvm::object::XCOFFObjectFile::section_begin(), llvm::object::COFFObjectFile::section_end(), llvm::object::DXContainerObjectFile::section_end(), llvm::object::GOFFObjectFile::section_end(), llvm::object::MachOObjectFile::section_end(), llvm::object::WasmObjectFile::section_end(), llvm::object::XCOFFObjectFile::section_end(), SectionRef, and llvm::object::ELFObjectFile< ELF32LE >::toSectionRef().

SymbolRef

Definition at line 249 of file ObjectFile.h.

References SymbolRef.

Referenced by llvm::object::MachOObjectFile::checkSymbolTable(), llvm::object::COFFObjectFile::getCOFFSymbol(), llvm::object::COFFObjectFile::getRelocationSymbol(), llvm::object::DXContainerObjectFile::getRelocationSymbol(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::WasmObjectFile::getRelocationSymbol(), llvm::object::XCOFFObjectFile::getRelocationSymbol(), llvm::object::MachOObjectFile::getSymbolByIndex(), llvm::object::GOFFObjectFile::getSymbolName(), llvm::object::COFFObjectFile::getSymbolSectionID(), llvm::object::MachOObjectFile::getSymbolSectionID(), llvm::object::XCOFFObjectFile::getSymbolSectionID(), llvm::object::WasmObjectFile::getSymbolSectionId(), llvm::object::WasmObjectFile::getSymbolSize(), llvm::object::WasmObjectFile::getWasmSymbol(), llvm::object::GOFFObjectFile::GOFFSymbolRef, llvm::object::COFFObjectFile::symbol_begin(), llvm::object::DXContainerObjectFile::symbol_begin(), llvm::object::GOFFObjectFile::symbol_begin(), llvm::object::MachOObjectFile::symbol_begin(), llvm::object::XCOFFObjectFile::symbol_begin(), llvm::object::COFFObjectFile::symbol_end(), llvm::object::DXContainerObjectFile::symbol_end(), llvm::object::GOFFObjectFile::symbol_end(), llvm::object::MachOObjectFile::symbol_end(), llvm::object::XCOFFObjectFile::symbol_end(), and SymbolRef.


The documentation for this class was generated from the following files: