LLVM 22.0.0git
llvm::object::MachOObjectFile Class Reference

#include "llvm/Object/MachO.h"

Inheritance diagram for llvm::object::MachOObjectFile:
[legend]

Classes

struct  LoadCommandInfo

Public Types

using LoadCommandList = SmallVector<LoadCommandInfo, 4>
using load_command_iterator = LoadCommandList::const_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>

Public Member Functions

void moveSymbolNext (DataRefImpl &Symb) const override
uint64_t getNValue (DataRefImpl Sym) const
Expected< StringRefgetSymbolName (DataRefImpl Symb) const override
Error checkSymbolTable () const
std::error_code getIndirectName (DataRefImpl Symb, StringRef &Res) const
unsigned getSectionType (SectionRef Sec) const
Expected< uint64_tgetSymbolAddress (DataRefImpl Symb) const override
uint32_t getSymbolAlignment (DataRefImpl Symb) const override
uint64_t getCommonSymbolSizeImpl (DataRefImpl Symb) const override
Expected< SymbolRef::TypegetSymbolType (DataRefImpl Symb) const override
Expected< uint32_tgetSymbolFlags (DataRefImpl Symb) const override
Expected< section_iteratorgetSymbolSection (DataRefImpl Symb) const override
unsigned getSymbolSectionID (SymbolRef Symb) const
unsigned getSectionID (SectionRef Sec) const
void moveSectionNext (DataRefImpl &Sec) const override
Expected< StringRefgetSectionName (DataRefImpl Sec) const override
uint64_t getSectionAddress (DataRefImpl Sec) const override
uint64_t getSectionIndex (DataRefImpl Sec) const override
uint64_t getSectionSize (DataRefImpl Sec) const override
ArrayRef< uint8_tgetSectionContents (uint32_t Offset, uint64_t Size) const
Expected< ArrayRef< uint8_t > > getSectionContents (DataRefImpl Sec) const override
uint64_t getSectionAlignment (DataRefImpl Sec) const override
Expected< SectionRefgetSection (unsigned SectionIndex) const
Expected< SectionRefgetSection (StringRef SectionName) const
bool isSectionCompressed (DataRefImpl Sec) const override
bool isSectionText (DataRefImpl Sec) const override
bool isSectionData (DataRefImpl Sec) const override
bool isSectionBSS (DataRefImpl Sec) const override
bool isSectionVirtual (DataRefImpl Sec) const override
bool isSectionBitcode (DataRefImpl Sec) const override
bool isDebugSection (DataRefImpl Sec) const override
ArrayRef< uint8_tgetSegmentContents (StringRef SegmentName) const
 Return the raw contents of an entire segment.
ArrayRef< uint8_tgetSegmentContents (size_t SegmentIndex) const
bool isSectionStripped (DataRefImpl Sec) const override
 When dsymutil generates the companion file, it strips all unnecessary sections (e.g.
relocation_iterator section_rel_begin (DataRefImpl Sec) const override
relocation_iterator section_rel_end (DataRefImpl Sec) const override
relocation_iterator extrel_begin () const
relocation_iterator extrel_end () const
iterator_range< relocation_iteratorexternal_relocations () const
relocation_iterator locrel_begin () const
relocation_iterator locrel_end () const
void moveRelocationNext (DataRefImpl &Rel) const override
uint64_t getRelocationOffset (DataRefImpl Rel) const override
symbol_iterator getRelocationSymbol (DataRefImpl Rel) const override
section_iterator getRelocationSection (DataRefImpl Rel) const
uint64_t getRelocationType (DataRefImpl Rel) const override
void getRelocationTypeName (DataRefImpl Rel, SmallVectorImpl< char > &Result) const override
uint8_t getRelocationLength (DataRefImpl Rel) const
std::error_code getLibraryShortNameByIndex (unsigned Index, StringRef &) const
uint32_t getLibraryCount () const
section_iterator getRelocationRelocatedSection (relocation_iterator Rel) const
basic_symbol_iterator symbol_begin () const override
basic_symbol_iterator symbol_end () const override
bool is64Bit () const override
symbol_iterator getSymbolByIndex (unsigned Index) const
uint64_t getSymbolIndex (DataRefImpl Symb) const
section_iterator section_begin () const override
section_iterator section_end () const override
uint8_t getBytesInAddress () const override
 The number of bytes used to represent an address in this object file format.
StringRef getFileFormatName () const override
Triple::ArchType getArch () const override
Expected< SubtargetFeaturesgetFeatures () const override
Triple getArchTriple (const char **McpuDefault=nullptr) const
relocation_iterator section_rel_begin (unsigned Index) const
relocation_iterator section_rel_end (unsigned Index) const
dice_iterator begin_dices () const
dice_iterator end_dices () const
load_command_iterator begin_load_commands () const
load_command_iterator end_load_commands () const
iterator_range< load_command_iteratorload_commands () const
iterator_range< export_iteratorexports (Error &Err) const
 For use iterating over all exported symbols.
iterator_range< rebase_iteratorrebaseTable (Error &Err)
 For use iterating over all rebase table entries.
iterator_range< bind_iteratorbindTable (Error &Err)
 For use iterating over all bind table entries.
iterator_range< fixup_iteratorfixupTable (Error &Err)
 For iterating over all chained fixups.
iterator_range< bind_iteratorlazyBindTable (Error &Err)
 For use iterating over all lazy bind table entries.
iterator_range< bind_iteratorweakBindTable (Error &Err)
 For use iterating over all weak bind table entries.
const charBindEntryCheckSegAndOffsets (int32_t SegIndex, uint64_t SegOffset, uint8_t PointerSize, uint64_t Count=1, uint64_t Skip=0) const
const charRebaseEntryCheckSegAndOffsets (int32_t SegIndex, uint64_t SegOffset, uint8_t PointerSize, uint64_t Count=1, uint64_t Skip=0) const
StringRef BindRebaseSegmentName (int32_t SegIndex) const
 For use with the SegIndex of a checked Mach-O Bind or Rebase entry to get the segment name.
StringRef BindRebaseSectionName (uint32_t SegIndex, uint64_t SegOffset) const
 For use with a SegIndex,SegOffset pair from a checked Mach-O Bind or Rebase entry to get the section name.
uint64_t BindRebaseAddress (uint32_t SegIndex, uint64_t SegOffset) const
 For use with a SegIndex,SegOffset pair from a checked Mach-O Bind or Rebase entry to get the address.
StringRef getSectionFinalSegmentName (DataRefImpl Sec) const
ArrayRef< chargetSectionRawName (DataRefImpl Sec) const
ArrayRef< chargetSectionRawFinalSegmentName (DataRefImpl Sec) const
bool isRelocationScattered (const MachO::any_relocation_info &RE) const
unsigned getPlainRelocationSymbolNum (const MachO::any_relocation_info &RE) const
bool getPlainRelocationExternal (const MachO::any_relocation_info &RE) const
bool getScatteredRelocationScattered (const MachO::any_relocation_info &RE) const
uint32_t getScatteredRelocationValue (const MachO::any_relocation_info &RE) const
uint32_t getScatteredRelocationType (const MachO::any_relocation_info &RE) const
unsigned getAnyRelocationAddress (const MachO::any_relocation_info &RE) const
unsigned getAnyRelocationPCRel (const MachO::any_relocation_info &RE) const
unsigned getAnyRelocationLength (const MachO::any_relocation_info &RE) const
unsigned getAnyRelocationType (const MachO::any_relocation_info &RE) const
SectionRef getAnyRelocationSection (const MachO::any_relocation_info &RE) const
MachO::section getSection (DataRefImpl DRI) const
MachO::section_64 getSection64 (DataRefImpl DRI) const
MachO::section getSection (const LoadCommandInfo &L, unsigned Index) const
MachO::section_64 getSection64 (const LoadCommandInfo &L, unsigned Index) const
MachO::nlist getSymbolTableEntry (DataRefImpl DRI) const
MachO::nlist_64 getSymbol64TableEntry (DataRefImpl DRI) const
MachO::linkedit_data_command getLinkeditDataLoadCommand (const LoadCommandInfo &L) const
MachO::segment_command getSegmentLoadCommand (const LoadCommandInfo &L) const
MachO::segment_command_64 getSegment64LoadCommand (const LoadCommandInfo &L) const
MachO::linker_option_command getLinkerOptionLoadCommand (const LoadCommandInfo &L) const
MachO::version_min_command getVersionMinLoadCommand (const LoadCommandInfo &L) const
MachO::note_command getNoteLoadCommand (const LoadCommandInfo &L) const
MachO::build_version_command getBuildVersionLoadCommand (const LoadCommandInfo &L) const
MachO::build_tool_version getBuildToolVersion (unsigned index) const
MachO::dylib_command getDylibIDLoadCommand (const LoadCommandInfo &L) const
MachO::dyld_info_command getDyldInfoLoadCommand (const LoadCommandInfo &L) const
MachO::dylinker_command getDylinkerCommand (const LoadCommandInfo &L) const
MachO::uuid_command getUuidCommand (const LoadCommandInfo &L) const
MachO::rpath_command getRpathCommand (const LoadCommandInfo &L) const
MachO::source_version_command getSourceVersionCommand (const LoadCommandInfo &L) const
MachO::entry_point_command getEntryPointCommand (const LoadCommandInfo &L) const
MachO::encryption_info_command getEncryptionInfoCommand (const LoadCommandInfo &L) const
MachO::encryption_info_command_64 getEncryptionInfoCommand64 (const LoadCommandInfo &L) const
MachO::sub_framework_command getSubFrameworkCommand (const LoadCommandInfo &L) const
MachO::sub_umbrella_command getSubUmbrellaCommand (const LoadCommandInfo &L) const
MachO::sub_library_command getSubLibraryCommand (const LoadCommandInfo &L) const
MachO::sub_client_command getSubClientCommand (const LoadCommandInfo &L) const
MachO::routines_command getRoutinesCommand (const LoadCommandInfo &L) const
MachO::routines_command_64 getRoutinesCommand64 (const LoadCommandInfo &L) const
MachO::thread_command getThreadCommand (const LoadCommandInfo &L) const
MachO::fileset_entry_command getFilesetEntryLoadCommand (const LoadCommandInfo &L) const
MachO::any_relocation_info getRelocation (DataRefImpl Rel) const
MachO::data_in_code_entry getDice (DataRefImpl Rel) const
const MachO::mach_headergetHeader () const
const MachO::mach_header_64getHeader64 () const
uint32_t getIndirectSymbolTableEntry (const MachO::dysymtab_command &DLC, unsigned Index) const
MachO::data_in_code_entry getDataInCodeTableEntry (uint32_t DataOffset, unsigned Index) const
MachO::symtab_command getSymtabLoadCommand () const
MachO::dysymtab_command getDysymtabLoadCommand () const
MachO::linkedit_data_command getDataInCodeLoadCommand () const
MachO::linkedit_data_command getLinkOptHintsLoadCommand () const
ArrayRef< uint8_tgetDyldInfoRebaseOpcodes () const
ArrayRef< uint8_tgetDyldInfoBindOpcodes () const
ArrayRef< uint8_tgetDyldInfoWeakBindOpcodes () const
ArrayRef< uint8_tgetDyldInfoLazyBindOpcodes () const
ArrayRef< uint8_tgetDyldInfoExportsTrie () const
Expected< std::optional< MachO::dyld_chained_fixups_header > > getChainedFixupsHeader () const
 If the optional is std::nullopt, no header was found, but the object was well-formed.
Expected< std::vector< ChainedFixupTarget > > getDyldChainedFixupTargets () const
Expected< std::optional< MachO::linkedit_data_command > > getChainedFixupsLoadCommand () const
Expected< std::pair< size_t, std::vector< ChainedFixupsSegment > > > getChainedFixupsSegments () const
ArrayRef< uint8_tgetDyldExportsTrie () const
SmallVector< uint64_tgetFunctionStarts () const
ArrayRef< uint8_tgetUuid () const
StringRef getStringTableData () const
void ReadULEB128s (uint64_t Index, SmallVectorImpl< uint64_t > &Out) const
bool isRelocatableObject () const override
 True if this is a relocatable object (.o/.obj).
StringRef mapDebugSectionName (StringRef Name) const override
 Maps a debug section name to a standard DWARF section name.
llvm::binaryformat::Swift5ReflectionSectionKind mapReflectionSectionNameToEnumValue (StringRef SectionName) const override
bool hasPageZeroSegment () const
size_t getMachOFilesetEntryOffset () const
Public Member Functions inherited from llvm::object::ObjectFile
 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
section_iterator_range sections () const
virtual bool hasDebugInfo () const
virtual Triple::OSType getOS () const
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.
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
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< std::unique_ptr< MachOObjectFile > > create (MemoryBufferRef Object, bool IsLittleEndian, bool Is64Bits, uint32_t UniversalCputype=0, uint32_t UniversalIndex=0, size_t MachOFilesetEntryOffset=0)
static bool isMachOPairedReloc (uint64_t RelocType, uint64_t Arch)
static iterator_range< export_iteratorexports (Error &Err, ArrayRef< uint8_t > Trie, const MachOObjectFile *O=nullptr)
 For use examining a trie not in a MachOObjectFile.
static iterator_range< rebase_iteratorrebaseTable (Error &Err, MachOObjectFile *O, ArrayRef< uint8_t > Opcodes, bool is64)
 For use examining rebase opcodes in a MachOObjectFile.
static iterator_range< bind_iteratorbindTable (Error &Err, MachOObjectFile *O, ArrayRef< uint8_t > Opcodes, bool is64, MachOBindEntry::Kind)
 For use examining bind opcodes in a MachOObjectFile.
static StringRef guessLibraryShortName (StringRef Name, bool &isFramework, StringRef &Suffix)
static Triple::ArchType getArch (uint32_t CPUType, uint32_t CPUSubType)
static Triple getArchTriple (uint32_t CPUType, uint32_t CPUSubType, const char **McpuDefault=nullptr, const char **ArchFlag=nullptr)
static bool isValidArch (StringRef ArchFlag)
static ArrayRef< StringRefgetValidArchs ()
static Triple getHostArch ()
static bool classof (const Binary *v)
static uint32_t getVersionMinMajor (MachO::version_min_command &C, bool SDK)
static uint32_t getVersionMinMinor (MachO::version_min_command &C, bool SDK)
static uint32_t getVersionMinUpdate (MachO::version_min_command &C, bool SDK)
static std::string getBuildPlatform (uint32_t platform)
static std::string getBuildTool (uint32_t tools)
static std::string getVersionString (uint32_t version)
static Expected< std::vector< std::string > > findDsymObjectMembers (StringRef Path)
 If the input path is a .dSYM bundle (as created by the dsymutil tool), return the paths to the object files found in the bundle, otherwise return an empty vector.
Static Public Member Functions inherited from llvm::object::ObjectFile
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)

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
}
Protected Member Functions inherited from llvm::object::ObjectFile
 ObjectFile (unsigned int Type, MemoryBufferRef Source)
const uint8_tbase () const
Error printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
virtual bool isBerkeleyText (DataRefImpl Sec) const
virtual bool isBerkeleyData (DataRefImpl Sec) const
virtual Expected< section_iteratorgetRelocatedSection (DataRefImpl Sec) const
Expected< uint64_tgetSymbolValue (DataRefImpl Symb) const
Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBufferRef Source)
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

Definition at line 411 of file MachO.h.

Member Typedef Documentation

◆ load_command_iterator

◆ LoadCommandList

Member Function Documentation

◆ begin_dices()

dice_iterator MachOObjectFile::begin_dices ( ) const

◆ begin_load_commands()

MachOObjectFile::load_command_iterator MachOObjectFile::begin_load_commands ( ) const

Definition at line 4505 of file MachOObjectFile.cpp.

Referenced by load_commands().

◆ BindEntryCheckSegAndOffsets()

const char * llvm::object::MachOObjectFile::BindEntryCheckSegAndOffsets ( int32_t SegIndex,
uint64_t SegOffset,
uint8_t PointerSize,
uint64_t Count = 1,
uint64_t Skip = 0 ) const
inline

Definition at line 583 of file MachO.h.

References llvm::Count.

◆ BindRebaseAddress()

uint64_t llvm::object::MachOObjectFile::BindRebaseAddress ( uint32_t SegIndex,
uint64_t SegOffset ) const
inline

For use with a SegIndex,SegOffset pair from a checked Mach-O Bind or Rebase entry to get the address.

Definition at line 620 of file MachO.h.

◆ BindRebaseSectionName()

StringRef llvm::object::MachOObjectFile::BindRebaseSectionName ( uint32_t SegIndex,
uint64_t SegOffset ) const
inline

For use with a SegIndex,SegOffset pair from a checked Mach-O Bind or Rebase entry to get the section name.

Definition at line 614 of file MachO.h.

◆ BindRebaseSegmentName()

StringRef llvm::object::MachOObjectFile::BindRebaseSegmentName ( int32_t SegIndex) const
inline

For use with the SegIndex of a checked Mach-O Bind or Rebase entry to get the segment name.

Definition at line 608 of file MachO.h.

◆ bindTable() [1/2]

iterator_range< bind_iterator > MachOObjectFile::bindTable ( Error & Err)

For use iterating over all bind table entries.

Definition at line 4476 of file MachOObjectFile.cpp.

References bindTable(), getDyldInfoBindOpcodes(), is64Bit(), and llvm::object::MachOBindEntry::Regular.

Referenced by bindTable(), lazyBindTable(), and weakBindTable().

◆ bindTable() [2/2]

iterator_range< bind_iterator > MachOObjectFile::bindTable ( Error & Err,
MachOObjectFile * O,
ArrayRef< uint8_t > Opcodes,
bool is64,
MachOBindEntry::Kind BKind )
static

For use examining bind opcodes in a MachOObjectFile.

Definition at line 4462 of file MachOObjectFile.cpp.

References llvm::make_range().

◆ checkSymbolTable()

◆ classof()

bool llvm::object::MachOObjectFile::classof ( const Binary * v)
inlinestatic

Definition at line 774 of file MachO.h.

◆ create()

Expected< std::unique_ptr< MachOObjectFile > > MachOObjectFile::create ( MemoryBufferRef Object,
bool IsLittleEndian,
bool Is64Bits,
uint32_t UniversalCputype = 0,
uint32_t UniversalIndex = 0,
size_t MachOFilesetEntryOffset = 0 )
static

◆ end_dices()

◆ end_load_commands()

MachOObjectFile::load_command_iterator MachOObjectFile::end_load_commands ( ) const

Definition at line 4510 of file MachOObjectFile.cpp.

Referenced by load_commands().

◆ exports() [1/2]

iterator_range< export_iterator > MachOObjectFile::exports ( Error & Err) const

For use iterating over all exported symbols.

Definition at line 3241 of file MachOObjectFile.cpp.

References exports(), getDyldExportsTrie(), and getDyldInfoExportsTrie().

Referenced by exports(), and readSymbols().

◆ exports() [2/2]

iterator_range< export_iterator > MachOObjectFile::exports ( Error & Err,
ArrayRef< uint8_t > Trie,
const MachOObjectFile * O = nullptr )
static

For use examining a trie not in a MachOObjectFile.

Definition at line 3227 of file MachOObjectFile.cpp.

References llvm::ArrayRef< T >::empty(), and llvm::make_range().

◆ external_relocations()

iterator_range< relocation_iterator > llvm::object::MachOObjectFile::external_relocations ( ) const
inline

Definition at line 484 of file MachO.h.

References extrel_begin(), extrel_end(), and llvm::make_range().

◆ extrel_begin()

relocation_iterator MachOObjectFile::extrel_begin ( ) const

Definition at line 2199 of file MachOObjectFile.cpp.

References llvm::object::ObjectFile::RelocationRef.

Referenced by external_relocations().

◆ extrel_end()

relocation_iterator MachOObjectFile::extrel_end ( ) const

◆ findDsymObjectMembers()

Expected< std::vector< std::string > > MachOObjectFile::findDsymObjectMembers ( StringRef Path)
static

If the input path is a .dSYM bundle (as created by the dsymutil tool), return the paths to the object files found in the bundle, otherwise return an empty vector.

If the path appears to be a .dSYM bundle but no objects were found or there was a filesystem error, then return an error.

Definition at line 5347 of file MachOObjectFile.cpp.

References llvm::sys::path::append(), llvm::createFileError(), llvm::createStringError(), llvm::errorCodeToError(), llvm::sys::path::extension(), llvm::sys::fs::is_directory(), llvm::no_such_file_or_directory, llvm::sys::fs::regular_file, llvm::sys::path::remove_dots(), llvm::sys::fs::status(), llvm::StringRef::str(), llvm::sys::fs::symlink_file, and llvm::sys::fs::type_unknown.

Referenced by llvm::MachO::DylibReader::accumulateSourceLocFromDSYM(), and llvm::InstrProfCorrelator::get().

◆ fixupTable()

iterator_range< fixup_iterator > MachOObjectFile::fixupTable ( Error & Err)

For iterating over all chained fixups.

Definition at line 4491 of file MachOObjectFile.cpp.

References llvm::make_range(), and llvm::object::MachOChainedFixupEntry::moveToEnd().

◆ getAnyRelocationAddress()

unsigned MachOObjectFile::getAnyRelocationAddress ( const MachO::any_relocation_info & RE) const

◆ getAnyRelocationLength()

◆ getAnyRelocationPCRel()

◆ getAnyRelocationSection()

◆ getAnyRelocationType()

◆ getArch() [1/2]

Triple::ArchType MachOObjectFile::getArch ( ) const
overridevirtual

◆ getArch() [2/2]

◆ getArchTriple() [1/2]

◆ getArchTriple() [2/2]

◆ getBuildPlatform()

std::string llvm::object::MachOObjectFile::getBuildPlatform ( uint32_t platform)
inlinestatic

Definition at line 796 of file MachO.h.

References llvm::format_hex().

◆ getBuildTool()

std::string llvm::object::MachOObjectFile::getBuildTool ( uint32_t tools)
inlinestatic

◆ getBuildToolVersion()

MachO::build_tool_version MachOObjectFile::getBuildToolVersion ( unsigned index) const

Definition at line 4690 of file MachOObjectFile.cpp.

References getStruct().

◆ getBuildVersionLoadCommand()

MachO::build_version_command MachOObjectFile::getBuildVersionLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4685 of file MachOObjectFile.cpp.

References getStruct().

Referenced by constructTriples().

◆ getBytesInAddress()

uint8_t MachOObjectFile::getBytesInAddress ( ) const
overridevirtual

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

Implements llvm::object::ObjectFile.

Definition at line 2655 of file MachOObjectFile.cpp.

References is64Bit().

◆ getChainedFixupsHeader()

◆ getChainedFixupsLoadCommand()

Expected< std::optional< MachO::linkedit_data_command > > MachOObjectFile::getChainedFixupsLoadCommand ( ) const

◆ getChainedFixupsSegments()

◆ getCommonSymbolSizeImpl()

uint64_t MachOObjectFile::getCommonSymbolSizeImpl ( DataRefImpl Symb) const
overridevirtual

Implements llvm::object::ObjectFile.

Definition at line 1838 of file MachOObjectFile.cpp.

References getNValue().

◆ getDataInCodeLoadCommand()

◆ getDataInCodeTableEntry()

MachO::data_in_code_entry MachOObjectFile::getDataInCodeTableEntry ( uint32_t DataOffset,
unsigned Index ) const

Definition at line 4829 of file MachOObjectFile.cpp.

References getPtr(), getStruct(), and llvm::Offset.

◆ getDice()

◆ getDyldChainedFixupTargets()

◆ getDyldExportsTrie()

ArrayRef< uint8_t > MachOObjectFile::getDyldExportsTrie ( ) const

◆ getDyldInfoBindOpcodes()

ArrayRef< uint8_t > MachOObjectFile::getDyldInfoBindOpcodes ( ) const

◆ getDyldInfoExportsTrie()

ArrayRef< uint8_t > MachOObjectFile::getDyldInfoExportsTrie ( ) const

◆ getDyldInfoLazyBindOpcodes()

ArrayRef< uint8_t > MachOObjectFile::getDyldInfoLazyBindOpcodes ( ) const

◆ getDyldInfoLoadCommand()

MachO::dyld_info_command MachOObjectFile::getDyldInfoLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4700 of file MachOObjectFile.cpp.

References getStruct().

◆ getDyldInfoRebaseOpcodes()

ArrayRef< uint8_t > MachOObjectFile::getDyldInfoRebaseOpcodes ( ) const

◆ getDyldInfoWeakBindOpcodes()

ArrayRef< uint8_t > MachOObjectFile::getDyldInfoWeakBindOpcodes ( ) const

◆ getDylibIDLoadCommand()

MachO::dylib_command MachOObjectFile::getDylibIDLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4695 of file MachOObjectFile.cpp.

References getStruct().

Referenced by readMachOHeader().

◆ getDylinkerCommand()

MachO::dylinker_command MachOObjectFile::getDylinkerCommand ( const LoadCommandInfo & L) const

Definition at line 4705 of file MachOObjectFile.cpp.

References getStruct().

◆ getDysymtabLoadCommand()

◆ getEncryptionInfoCommand()

MachO::encryption_info_command MachOObjectFile::getEncryptionInfoCommand ( const LoadCommandInfo & L) const

Definition at line 4730 of file MachOObjectFile.cpp.

References getStruct().

◆ getEncryptionInfoCommand64()

MachO::encryption_info_command_64 MachOObjectFile::getEncryptionInfoCommand64 ( const LoadCommandInfo & L) const

Definition at line 4735 of file MachOObjectFile.cpp.

References getStruct().

◆ getEntryPointCommand()

MachO::entry_point_command MachOObjectFile::getEntryPointCommand ( const LoadCommandInfo & L) const

Definition at line 4725 of file MachOObjectFile.cpp.

References getStruct().

◆ getFeatures()

Expected< SubtargetFeatures > llvm::object::MachOObjectFile::getFeatures ( ) const
inlineoverridevirtual

Implements llvm::object::ObjectFile.

Definition at line 525 of file MachO.h.

◆ getFileFormatName()

◆ getFilesetEntryLoadCommand()

MachO::fileset_entry_command MachOObjectFile::getFilesetEntryLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4775 of file MachOObjectFile.cpp.

References getStruct().

◆ getFunctionStarts()

SmallVector< uint64_t > MachOObjectFile::getFunctionStarts ( ) const

◆ getHeader()

◆ getHeader64()

const MachO::mach_header_64 & MachOObjectFile::getHeader64 ( ) const

Definition at line 4816 of file MachOObjectFile.cpp.

References assert(), Header64, and is64Bit().

Referenced by checkSymbolTable().

◆ getHostArch()

Triple MachOObjectFile::getHostArch ( )
static

Definition at line 2846 of file MachOObjectFile.cpp.

References llvm::sys::getDefaultTargetTriple().

◆ getIndirectName()

std::error_code MachOObjectFile::getIndirectName ( DataRefImpl Symb,
StringRef & Res ) const

◆ getIndirectSymbolTableEntry()

uint32_t MachOObjectFile::getIndirectSymbolTableEntry ( const MachO::dysymtab_command & DLC,
unsigned Index ) const

◆ getLibraryCount()

uint32_t MachOObjectFile::getLibraryCount ( ) const

Definition at line 2585 of file MachOObjectFile.cpp.

◆ getLibraryShortNameByIndex()

std::error_code MachOObjectFile::getLibraryShortNameByIndex ( unsigned Index,
StringRef & Res ) const

◆ getLinkeditDataLoadCommand()

MachO::linkedit_data_command MachOObjectFile::getLinkeditDataLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4655 of file MachOObjectFile.cpp.

References getStruct().

Referenced by readMachOHeader().

◆ getLinkerOptionLoadCommand()

MachO::linker_option_command MachOObjectFile::getLinkerOptionLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4670 of file MachOObjectFile.cpp.

References getStruct().

◆ getLinkOptHintsLoadCommand()

◆ getMachOFilesetEntryOffset()

size_t llvm::object::MachOObjectFile::getMachOFilesetEntryOffset ( ) const
inline

Definition at line 772 of file MachO.h.

Referenced by getFirstLoadCommandInfo(), getNextLoadCommandInfo(), and parseHeader().

◆ getNoteLoadCommand()

MachO::note_command MachOObjectFile::getNoteLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4680 of file MachOObjectFile.cpp.

References getStruct().

◆ getNValue()

uint64_t MachOObjectFile::getNValue ( DataRefImpl Sym) const

◆ getPlainRelocationExternal()

◆ getPlainRelocationSymbolNum()

◆ getRelocation()

◆ getRelocationLength()

uint8_t MachOObjectFile::getRelocationLength ( DataRefImpl Rel) const

Definition at line 2386 of file MachOObjectFile.cpp.

References getAnyRelocationLength(), and getRelocation().

◆ getRelocationOffset()

uint64_t MachOObjectFile::getRelocationOffset ( DataRefImpl Rel) const
overridevirtual

◆ getRelocationRelocatedSection()

◆ getRelocationSection()

section_iterator MachOObjectFile::getRelocationSection ( DataRefImpl Rel) const

Definition at line 2267 of file MachOObjectFile.cpp.

References getAnyRelocationSection(), and getRelocation().

◆ getRelocationSymbol()

◆ getRelocationType()

uint64_t MachOObjectFile::getRelocationType ( DataRefImpl Rel) const
overridevirtual

Implements llvm::object::ObjectFile.

Definition at line 2271 of file MachOObjectFile.cpp.

References getAnyRelocationType(), and getRelocation().

Referenced by getRelocationTypeName().

◆ getRelocationTypeName()

◆ getRoutinesCommand()

MachO::routines_command MachOObjectFile::getRoutinesCommand ( const LoadCommandInfo & L) const

Definition at line 4760 of file MachOObjectFile.cpp.

References getStruct().

◆ getRoutinesCommand64()

MachO::routines_command_64 MachOObjectFile::getRoutinesCommand64 ( const LoadCommandInfo & L) const

Definition at line 4765 of file MachOObjectFile.cpp.

References getStruct().

◆ getRpathCommand()

MachO::rpath_command MachOObjectFile::getRpathCommand ( const LoadCommandInfo & L) const

Definition at line 4715 of file MachOObjectFile.cpp.

References getStruct().

Referenced by readMachOHeader().

◆ getScatteredRelocationScattered()

bool MachOObjectFile::getScatteredRelocationScattered ( const MachO::any_relocation_info & RE) const

Definition at line 4563 of file MachOObjectFile.cpp.

References llvm::MachO::any_relocation_info::r_word0.

◆ getScatteredRelocationType()

uint32_t MachOObjectFile::getScatteredRelocationType ( const MachO::any_relocation_info & RE) const

Definition at line 4573 of file MachOObjectFile.cpp.

References llvm::MachO::any_relocation_info::r_word0.

Referenced by getAnyRelocationType().

◆ getScatteredRelocationValue()

uint32_t MachOObjectFile::getScatteredRelocationValue ( const MachO::any_relocation_info & RE) const

◆ getSection() [1/4]

MachO::section MachOObjectFile::getSection ( const LoadCommandInfo & L,
unsigned Index ) const

Definition at line 4630 of file MachOObjectFile.cpp.

References getSectionPtr(), and getStruct().

◆ getSection() [2/4]

MachO::section MachOObjectFile::getSection ( DataRefImpl DRI) const

◆ getSection() [3/4]

◆ getSection() [4/4]

◆ getSection64() [1/2]

MachO::section_64 MachOObjectFile::getSection64 ( const LoadCommandInfo & L,
unsigned Index ) const

Definition at line 4636 of file MachOObjectFile.cpp.

References getSectionPtr(), and getStruct().

◆ getSection64() [2/2]

◆ getSectionAddress()

uint64_t MachOObjectFile::getSectionAddress ( DataRefImpl Sec) const
overridevirtual

◆ getSectionAlignment()

uint64_t MachOObjectFile::getSectionAlignment ( DataRefImpl Sec) const
overridevirtual

◆ getSectionContents() [1/2]

◆ getSectionContents() [2/2]

ArrayRef< uint8_t > MachOObjectFile::getSectionContents ( uint32_t Offset,
uint64_t Size ) const

◆ getSectionFinalSegmentName()

◆ getSectionID()

◆ getSectionIndex()

uint64_t MachOObjectFile::getSectionIndex ( DataRefImpl Sec) const
overridevirtual

◆ getSectionName()

Expected< StringRef > MachOObjectFile::getSectionName ( DataRefImpl Sec) const
overridevirtual

◆ getSectionRawFinalSegmentName()

ArrayRef< char > MachOObjectFile::getSectionRawFinalSegmentName ( DataRefImpl Sec) const

◆ getSectionRawName()

ArrayRef< char > MachOObjectFile::getSectionRawName ( DataRefImpl Sec) const

◆ getSectionSize()

◆ getSectionType()

◆ getSegment64LoadCommand()

MachO::segment_command_64 MachOObjectFile::getSegment64LoadCommand ( const LoadCommandInfo & L) const

Definition at line 4665 of file MachOObjectFile.cpp.

References getStruct().

◆ getSegmentContents() [1/2]

ArrayRef< uint8_t > MachOObjectFile::getSegmentContents ( size_t SegmentIndex) const

◆ getSegmentContents() [2/2]

ArrayRef< uint8_t > MachOObjectFile::getSegmentContents ( StringRef SegmentName) const

◆ getSegmentLoadCommand()

MachO::segment_command MachOObjectFile::getSegmentLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4660 of file MachOObjectFile.cpp.

References getStruct().

◆ getSourceVersionCommand()

MachO::source_version_command MachOObjectFile::getSourceVersionCommand ( const LoadCommandInfo & L) const

Definition at line 4720 of file MachOObjectFile.cpp.

References getStruct().

◆ getStringTableData()

◆ getSubClientCommand()

MachO::sub_client_command MachOObjectFile::getSubClientCommand ( const LoadCommandInfo & L) const

Definition at line 4755 of file MachOObjectFile.cpp.

References getStruct().

Referenced by readMachOHeader().

◆ getSubFrameworkCommand()

MachO::sub_framework_command MachOObjectFile::getSubFrameworkCommand ( const LoadCommandInfo & L) const

Definition at line 4740 of file MachOObjectFile.cpp.

References getStruct().

Referenced by readMachOHeader().

◆ getSubLibraryCommand()

MachO::sub_library_command MachOObjectFile::getSubLibraryCommand ( const LoadCommandInfo & L) const

Definition at line 4750 of file MachOObjectFile.cpp.

References getStruct().

◆ getSubUmbrellaCommand()

MachO::sub_umbrella_command MachOObjectFile::getSubUmbrellaCommand ( const LoadCommandInfo & L) const

Definition at line 4745 of file MachOObjectFile.cpp.

References getStruct().

◆ getSymbol64TableEntry()

MachO::nlist_64 MachOObjectFile::getSymbol64TableEntry ( DataRefImpl DRI) const

Definition at line 4649 of file MachOObjectFile.cpp.

References getStruct(), P, and llvm::object::DataRefImpl::p.

Referenced by checkSymbolTable(), and getNValue().

◆ getSymbolAddress()

Expected< uint64_t > MachOObjectFile::getSymbolAddress ( DataRefImpl Symb) const
overridevirtual

◆ getSymbolAlignment()

uint32_t MachOObjectFile::getSymbolAlignment ( DataRefImpl Symb) const
overridevirtual

◆ getSymbolByIndex()

◆ getSymbolFlags()

◆ getSymbolIndex()

◆ getSymbolName()

Expected< StringRef > MachOObjectFile::getSymbolName ( DataRefImpl Symb) const
overridevirtual

◆ getSymbolSection()

◆ getSymbolSectionID()

unsigned MachOObjectFile::getSymbolSectionID ( SymbolRef Symb) const

◆ getSymbolTableEntry()

MachO::nlist MachOObjectFile::getSymbolTableEntry ( DataRefImpl DRI) const

Definition at line 4643 of file MachOObjectFile.cpp.

References getStruct(), P, and llvm::object::DataRefImpl::p.

Referenced by checkSymbolTable(), and getNValue().

◆ getSymbolType()

◆ getSymtabLoadCommand()

◆ getThreadCommand()

MachO::thread_command MachOObjectFile::getThreadCommand ( const LoadCommandInfo & L) const

Definition at line 4770 of file MachOObjectFile.cpp.

References getStruct().

◆ getUuid()

ArrayRef< uint8_t > MachOObjectFile::getUuid ( ) const

Definition at line 5279 of file MachOObjectFile.cpp.

References llvm::ArrayRef(), offsetof, and Ptr.

◆ getUuidCommand()

MachO::uuid_command MachOObjectFile::getUuidCommand ( const LoadCommandInfo & L) const

Definition at line 4710 of file MachOObjectFile.cpp.

References getStruct().

Referenced by readMachOHeader().

◆ getValidArchs()

ArrayRef< StringRef > MachOObjectFile::getValidArchs ( )
static

Definition at line 2855 of file MachOObjectFile.cpp.

Referenced by isValidArch().

◆ getVersionMinLoadCommand()

MachO::version_min_command MachOObjectFile::getVersionMinLoadCommand ( const LoadCommandInfo & L) const

Definition at line 4675 of file MachOObjectFile.cpp.

References getStruct().

Referenced by constructTriples().

◆ getVersionMinMajor()

uint32_t llvm::object::MachOObjectFile::getVersionMinMajor ( MachO::version_min_command & C,
bool SDK )
inlinestatic

Definition at line 779 of file MachO.h.

References llvm::CallingConv::C.

◆ getVersionMinMinor()

uint32_t llvm::object::MachOObjectFile::getVersionMinMinor ( MachO::version_min_command & C,
bool SDK )
inlinestatic

Definition at line 785 of file MachO.h.

References llvm::CallingConv::C.

◆ getVersionMinUpdate()

uint32_t llvm::object::MachOObjectFile::getVersionMinUpdate ( MachO::version_min_command & C,
bool SDK )
inlinestatic

Definition at line 791 of file MachO.h.

References llvm::CallingConv::C.

◆ getVersionString()

std::string llvm::object::MachOObjectFile::getVersionString ( uint32_t version)
inlinestatic

Definition at line 826 of file MachO.h.

References llvm::utostr(), and llvm::Version.

◆ guessLibraryShortName()

StringRef MachOObjectFile::guessLibraryShortName ( StringRef Name,
bool & isFramework,
StringRef & Suffix )
static

◆ hasPageZeroSegment()

bool llvm::object::MachOObjectFile::hasPageZeroSegment ( ) const
inline

Definition at line 770 of file MachO.h.

Referenced by llvm::object::BindRebaseSegInfo::BindRebaseSegInfo().

◆ is64Bit()

◆ isDebugSection()

bool MachOObjectFile::isDebugSection ( DataRefImpl Sec) const
overridevirtual

◆ isMachOPairedReloc()

◆ isRelocatableObject()

bool MachOObjectFile::isRelocatableObject ( ) const
overridevirtual

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

Implements llvm::object::ObjectFile.

Definition at line 5309 of file MachOObjectFile.cpp.

References llvm::MachO::mach_header::filetype, getHeader(), and llvm::MachO::MH_OBJECT.

◆ isRelocationScattered()

◆ isSectionBitcode()

bool MachOObjectFile::isSectionBitcode ( DataRefImpl Sec) const
overridevirtual

Reimplemented from llvm::object::ObjectFile.

Definition at line 2162 of file MachOObjectFile.cpp.

References getSectionFinalSegmentName(), and getSectionName().

◆ isSectionBSS()

bool MachOObjectFile::isSectionBSS ( DataRefImpl Sec) const
overridevirtual

◆ isSectionCompressed()

bool MachOObjectFile::isSectionCompressed ( DataRefImpl Sec) const
overridevirtual

Implements llvm::object::ObjectFile.

Definition at line 2037 of file MachOObjectFile.cpp.

◆ isSectionData()

bool MachOObjectFile::isSectionData ( DataRefImpl Sec) const
overridevirtual

◆ isSectionStripped()

bool MachOObjectFile::isSectionStripped ( DataRefImpl Sec) const
overridevirtual

When dsymutil generates the companion file, it strips all unnecessary sections (e.g.

everything in the _TEXT segment) by omitting their body and setting the offset in their corresponding load command to zero.

While the load command itself is valid, reading the section corresponds to reading the number of bytes specified in the load command, starting from offset 0 (i.e. the Mach-O header at the beginning of the file).

Reimplemented from llvm::object::ObjectFile.

Definition at line 2169 of file MachOObjectFile.cpp.

References getSection(), getSection64(), is64Bit(), and llvm::MachO::section_64::offset.

◆ isSectionText()

bool MachOObjectFile::isSectionText ( DataRefImpl Sec) const
overridevirtual

◆ isSectionVirtual()

bool MachOObjectFile::isSectionVirtual ( DataRefImpl Sec) const
overridevirtual

◆ isValidArch()

bool MachOObjectFile::isValidArch ( StringRef ArchFlag)
static

Definition at line 2850 of file MachOObjectFile.cpp.

References getValidArchs(), and llvm::is_contained().

◆ lazyBindTable()

iterator_range< bind_iterator > MachOObjectFile::lazyBindTable ( Error & Err)

For use iterating over all lazy bind table entries.

Definition at line 4481 of file MachOObjectFile.cpp.

References bindTable(), getDyldInfoLazyBindOpcodes(), is64Bit(), and llvm::object::MachOBindEntry::Lazy.

◆ load_commands()

◆ locrel_begin()

relocation_iterator MachOObjectFile::locrel_begin ( ) const

Definition at line 2216 of file MachOObjectFile.cpp.

References llvm::object::ObjectFile::RelocationRef.

◆ locrel_end()

relocation_iterator MachOObjectFile::locrel_end ( ) const

◆ mapDebugSectionName()

StringRef MachOObjectFile::mapDebugSectionName ( StringRef Name) const
overridevirtual

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

Reimplemented from llvm::object::ObjectFile.

Definition at line 5340 of file MachOObjectFile.cpp.

References llvm::StringSwitch< T, R >::Case(), and llvm::StringSwitch< T, R >::Default().

◆ mapReflectionSectionNameToEnumValue()

llvm::binaryformat::Swift5ReflectionSectionKind MachOObjectFile::mapReflectionSectionNameToEnumValue ( StringRef SectionName) const
overridevirtual

◆ moveRelocationNext()

void MachOObjectFile::moveRelocationNext ( DataRefImpl & Rel) const
overridevirtual

◆ moveSectionNext()

void MachOObjectFile::moveSectionNext ( DataRefImpl & Sec) const
overridevirtual

◆ moveSymbolNext()

void MachOObjectFile::moveSymbolNext ( DataRefImpl & Symb) const
overridevirtual

◆ ReadULEB128s()

void MachOObjectFile::ReadULEB128s ( uint64_t Index,
SmallVectorImpl< uint64_t > & Out ) const

◆ RebaseEntryCheckSegAndOffsets()

const char * llvm::object::MachOObjectFile::RebaseEntryCheckSegAndOffsets ( int32_t SegIndex,
uint64_t SegOffset,
uint8_t PointerSize,
uint64_t Count = 1,
uint64_t Skip = 0 ) const
inline

Definition at line 597 of file MachO.h.

References llvm::Count.

◆ rebaseTable() [1/2]

iterator_range< rebase_iterator > MachOObjectFile::rebaseTable ( Error & Err)

For use iterating over all rebase table entries.

Definition at line 3814 of file MachOObjectFile.cpp.

References getDyldInfoRebaseOpcodes(), is64Bit(), and rebaseTable().

Referenced by rebaseTable().

◆ rebaseTable() [2/2]

iterator_range< rebase_iterator > MachOObjectFile::rebaseTable ( Error & Err,
MachOObjectFile * O,
ArrayRef< uint8_t > Opcodes,
bool is64 )
static

For use examining rebase opcodes in a MachOObjectFile.

Definition at line 3801 of file MachOObjectFile.cpp.

References llvm::make_range().

◆ section_begin()

section_iterator MachOObjectFile::section_begin ( ) const
overridevirtual

◆ section_end()

◆ section_rel_begin() [1/2]

relocation_iterator MachOObjectFile::section_rel_begin ( DataRefImpl Sec) const
overridevirtual

◆ section_rel_begin() [2/2]

relocation_iterator MachOObjectFile::section_rel_begin ( unsigned Index) const

◆ section_rel_end() [1/2]

◆ section_rel_end() [2/2]

relocation_iterator MachOObjectFile::section_rel_end ( unsigned Index) const

◆ symbol_begin()

basic_symbol_iterator MachOObjectFile::symbol_begin ( ) const
overridevirtual

◆ symbol_end()

◆ weakBindTable()

iterator_range< bind_iterator > MachOObjectFile::weakBindTable ( Error & Err)

For use iterating over all weak bind table entries.

Definition at line 4486 of file MachOObjectFile.cpp.

References bindTable(), getDyldInfoWeakBindOpcodes(), is64Bit(), and llvm::object::MachOBindEntry::Weak.

Member Data Documentation

◆ Header

MachO::mach_header llvm::object::MachOObjectFile::Header

◆ Header64

MachO::mach_header_64 llvm::object::MachOObjectFile::Header64

Definition at line 854 of file MachO.h.

Referenced by getHeader64().


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