LLVM 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::object::ObjectFile Class Referenceabstract

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

#include "llvm/Object/ObjectFile.h"

Inheritance diagram for llvm::object::ObjectFile:
Inheritance graph
[legend]

Public Types

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 >
 

Public Member Functions

 ObjectFile ()=delete
 
 ObjectFile (const ObjectFile &other)=delete
 
ObjectFileoperator= (const ObjectFile &other)=delete
 
uint64_t getCommonSymbolSize (DataRefImpl Symb) const
 
virtual std::vector< SectionRefdynamic_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< SubtargetFeaturesgetFeatures () const =0
 
virtual std::optional< StringReftryGetCPUName () const
 
virtual void setARMSubArch (Triple &TheTriple) const
 
virtual Expected< uint64_tgetStartAddress () 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 Error printSymbolName (raw_ostream &OS, DataRefImpl Symb) const =0
 
virtual Expected< uint32_tgetSymbolFlags (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
 
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 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< StringRefgetSymbolName (DataRefImpl Symb) const =0
 
Error printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
 
virtual Expected< uint64_tgetSymbolAddress (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::TypegetSymbolType (DataRefImpl Symb) const =0
 
virtual Expected< section_iteratorgetSymbolSection (DataRefImpl Symb) const =0
 
virtual void moveSectionNext (DataRefImpl &Sec) const =0
 
virtual Expected< StringRefgetSectionName (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_iteratorgetRelocatedSection (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_tgetSymbolValue (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_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
 

Detailed Description

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 229 of file ObjectFile.h.

Member Typedef Documentation

◆ section_iterator_range

Definition at line 328 of file ObjectFile.h.

◆ symbol_iterator_range

Definition at line 320 of file ObjectFile.h.

Constructor & Destructor Documentation

◆ ObjectFile() [1/3]

ObjectFile::ObjectFile ( unsigned int  Type,
MemoryBufferRef  Source 
)
protected

Definition at line 43 of file ObjectFile.cpp.

◆ ObjectFile() [2/3]

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

◆ ObjectFile() [3/3]

llvm::object::ObjectFile::ObjectFile ( const ObjectFile other)
delete

Member Function Documentation

◆ base()

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

◆ classof()

static bool llvm::object::ObjectFile::classof ( const Binary v)
inlinestatic

Definition at line 380 of file ObjectFile.h.

◆ createCOFFObjectFile()

Expected< std::unique_ptr< COFFObjectFile > > ObjectFile::createCOFFObjectFile ( MemoryBufferRef  Object)
static

◆ createELFObjectFile()

Expected< std::unique_ptr< ObjectFile > > ObjectFile::createELFObjectFile ( MemoryBufferRef  Object,
bool  InitContent = true 
)
static

◆ createGOFFObjectFile()

Expected< std::unique_ptr< ObjectFile > > ObjectFile::createGOFFObjectFile ( MemoryBufferRef  Object)
static

Definition at line 28 of file GOFFObjectFile.cpp.

References llvm::Error::success().

◆ createMachOObjectFile()

Expected< std::unique_ptr< MachOObjectFile > > ObjectFile::createMachOObjectFile ( MemoryBufferRef  Buffer,
uint32_t  UniversalCputype = 0,
uint32_t  UniversalIndex = 0,
size_t  MachOFilesetEntryOffset = 0 
)
static

Create a MachOObjectFile instance from a given buffer.

Parameters
BufferMemory buffer containing the MachO binary data.
UniversalCputypeCPU type when the MachO part of a universal binary.
UniversalIndexIndex of the MachO within a universal binary.
MachOFilesetEntryOffsetOffset of the MachO entry in a fileset MachO.
Returns
A std::unique_ptr to a MachOObjectFile instance on success.

Definition at line 5321 of file MachOObjectFile.cpp.

References llvm::object::MachOObjectFile::create(), llvm::MemoryBufferRef::getBuffer(), llvm::object::invalid_file_type, and llvm::StringRef::slice().

Referenced by llvm::jitlink::createLinkGraphFromMachOObject_arm64(), llvm::jitlink::createLinkGraphFromMachOObject_x86_64(), createObjectFile(), and llvm::object::MachOUniversalBinary::ObjectForArch::getAsObjectFile().

◆ createObjectFile() [1/3]

static Expected< std::unique_ptr< ObjectFile > > llvm::object::ObjectFile::createObjectFile ( MemoryBufferRef  Object)
inlinestatic

Definition at line 376 of file ObjectFile.h.

References createObjectFile(), and llvm::file_magic::unknown.

◆ createObjectFile() [2/3]

Expected< std::unique_ptr< ObjectFile > > ObjectFile::createObjectFile ( MemoryBufferRef  Object,
llvm::file_magic  Type,
bool  InitContent = true 
)
static

Definition at line 149 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(), 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]

Expected< OwningBinary< ObjectFile > > ObjectFile::createObjectFile ( StringRef  ObjectPath)
static

◆ createWasmObjectFile()

Expected< std::unique_ptr< WasmObjectFile > > ObjectFile::createWasmObjectFile ( MemoryBufferRef  Object)
static

Definition at line 69 of file WasmObjectFile.cpp.

References llvm::Error::success().

Referenced by createObjectFile().

◆ createXCOFFObjectFile()

Expected< std::unique_ptr< ObjectFile > > llvm::object::ObjectFile::createXCOFFObjectFile ( MemoryBufferRef  Object,
unsigned  FileType 
)
static

Definition at line 1231 of file XCOFFObjectFile.cpp.

Referenced by createObjectFile().

◆ dynamic_relocation_sections()

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

Reimplemented in llvm::object::ELFObjectFile< ELFT >.

Definition at line 316 of file ObjectFile.h.

◆ getArch()

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

◆ getBytesInAddress()

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

◆ getCommonSymbolSize()

uint64_t llvm::object::ObjectFile::getCommonSymbolSize ( DataRefImpl  Symb) const
inline

◆ getCommonSymbolSizeImpl()

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

◆ getFeatures()

virtual Expected< SubtargetFeatures > llvm::object::ObjectFile::getFeatures ( ) const
pure virtual

◆ getFileFormatName()

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

◆ getOS()

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

Reimplemented in llvm::object::ELFObjectFile< ELFT >.

Definition at line 341 of file ObjectFile.h.

References llvm::Triple::UnknownOS.

Referenced by makeTriple().

◆ getRelocatedSection()

Expected< section_iterator > ObjectFile::getRelocatedSection ( DataRefImpl  Sec) const
protectedvirtual

Reimplemented in llvm::object::ELFObjectFile< ELFT >.

Definition at line 105 of file ObjectFile.cpp.

References SectionRef.

Referenced by llvm::object::SectionRef::getRelocatedSection().

◆ getRelocationOffset()

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

◆ getRelocationSymbol()

virtual symbol_iterator llvm::object::ObjectFile::getRelocationSymbol ( DataRefImpl  Rel) const
protectedpure virtual

◆ getRelocationType()

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

◆ getRelocationTypeName()

virtual void llvm::object::ObjectFile::getRelocationTypeName ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const
protectedpure virtual

◆ getSectionAddress()

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

◆ getSectionAlignment()

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

◆ getSectionContents()

virtual Expected< ArrayRef< uint8_t > > llvm::object::ObjectFile::getSectionContents ( DataRefImpl  Sec) const
protectedpure virtual

◆ getSectionIndex()

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

◆ getSectionName()

virtual Expected< StringRef > llvm::object::ObjectFile::getSectionName ( DataRefImpl  Sec) const
protectedpure virtual

◆ getSectionSize()

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

◆ getStartAddress()

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

◆ getSymbolAddress()

virtual Expected< uint64_t > llvm::object::ObjectFile::getSymbolAddress ( DataRefImpl  Symb) const
protectedpure virtual

◆ getSymbolAlignment()

uint32_t ObjectFile::getSymbolAlignment ( DataRefImpl  Symb) const
protectedvirtual

◆ getSymbolName()

virtual Expected< StringRef > llvm::object::ObjectFile::getSymbolName ( DataRefImpl  Symb) const
protectedpure virtual

◆ getSymbolSection()

virtual Expected< section_iterator > llvm::object::ObjectFile::getSymbolSection ( DataRefImpl  Symb) const
protectedpure virtual

◆ getSymbolType()

virtual Expected< SymbolRef::Type > llvm::object::ObjectFile::getSymbolType ( DataRefImpl  Symb) const
protectedpure virtual

◆ getSymbolValue()

Expected< uint64_t > ObjectFile::getSymbolValue ( DataRefImpl  Symb) const
protected

◆ getSymbolValueImpl()

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

◆ hasDebugInfo()

bool ObjectFile::hasDebugInfo ( ) const
virtual

◆ isBerkeleyData()

bool ObjectFile::isBerkeleyData ( DataRefImpl  Sec) const
protectedvirtual

Reimplemented in llvm::object::ELFObjectFile< ELFT >.

Definition at line 93 of file ObjectFile.cpp.

References isSectionData().

Referenced by llvm::object::SectionRef::isBerkeleyData().

◆ isBerkeleyText()

bool ObjectFile::isBerkeleyText ( DataRefImpl  Sec) const
protectedvirtual

Reimplemented in llvm::object::ELFObjectFile< ELFT >.

Definition at line 89 of file ObjectFile.cpp.

References isSectionText().

Referenced by llvm::object::SectionRef::isBerkeleyText().

◆ isDebugSection()

bool ObjectFile::isDebugSection ( DataRefImpl  Sec) const
protectedvirtual

◆ isReflectionSectionStrippable()

bool ObjectFile::isReflectionSectionStrippable ( llvm::binaryformat::Swift5ReflectionSectionKind  ReflectionSectionKind) const

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

Definition at line 225 of file ObjectFile.cpp.

◆ isRelocatableObject()

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

◆ isSectionBitcode()

bool ObjectFile::isSectionBitcode ( DataRefImpl  Sec) const
protectedvirtual

◆ isSectionBSS()

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

◆ isSectionCompressed()

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

◆ isSectionData()

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

◆ isSectionStripped()

bool ObjectFile::isSectionStripped ( DataRefImpl  Sec) const
protectedvirtual

Reimplemented in llvm::object::MachOObjectFile.

Definition at line 87 of file ObjectFile.cpp.

Referenced by llvm::object::SectionRef::isStripped().

◆ isSectionText()

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

◆ isSectionVirtual()

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

◆ makeTriple()

Triple ObjectFile::makeTriple ( ) const

◆ mapDebugSectionName()

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

Maps a debug section name to a standard DWARF section name.

Reimplemented in llvm::object::COFFObjectFile, llvm::object::MachOObjectFile, and llvm::object::XCOFFObjectFile.

Definition at line 355 of file ObjectFile.h.

References Name.

◆ mapReflectionSectionNameToEnumValue()

virtual llvm::binaryformat::Swift5ReflectionSectionKind llvm::object::ObjectFile::mapReflectionSectionNameToEnumValue ( StringRef  SectionName) const
inlineprotectedvirtual

Reimplemented in llvm::object::MachOObjectFile.

Definition at line 296 of file ObjectFile.h.

References llvm::binaryformat::unknown.

◆ moveRelocationNext()

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

◆ moveSectionNext()

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

◆ operator=()

ObjectFile & llvm::object::ObjectFile::operator= ( const ObjectFile other)
delete

◆ printSymbolName()

Error ObjectFile::printSymbolName ( raw_ostream OS,
DataRefImpl  Symb 
) const
overrideprotectedvirtual

Implements llvm::object::SymbolicFile.

Definition at line 69 of file ObjectFile.cpp.

References getSymbolName(), Name, OS, and llvm::Error::success().

◆ section_begin()

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

◆ section_end()

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

◆ section_rel_begin()

virtual relocation_iterator llvm::object::ObjectFile::section_rel_begin ( DataRefImpl  Sec) const
protectedpure virtual

◆ section_rel_end()

virtual relocation_iterator llvm::object::ObjectFile::section_rel_end ( DataRefImpl  Sec) const
protectedpure virtual

◆ sections()

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

◆ setARMSubArch()

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

Reimplemented in llvm::object::ELFObjectFileBase.

Definition at line 346 of file ObjectFile.h.

Referenced by makeTriple().

◆ symbols()

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

◆ tryGetCPUName()

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

Reimplemented in llvm::object::ELFObjectFileBase, and llvm::object::XCOFFObjectFile.

Definition at line 343 of file ObjectFile.h.

Friends And Related Function Documentation

◆ RelocationRef

friend class RelocationRef
friend

◆ SectionRef

friend class SectionRef
friend

◆ SymbolRef

friend class SymbolRef
friend

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