struct Object

Declaration

struct Object { /* full declaration omitted */ };

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:302

Member Variables

public llvm::objcopy::macho::MachHeader Header
public std::vector<LoadCommand> LoadCommands
public llvm::objcopy::macho::SymbolTable SymTable
public llvm::objcopy::macho::StringTable StrTable
public llvm::objcopy::macho::RebaseInfo Rebases
public llvm::objcopy::macho::BindInfo Binds
public llvm::objcopy::macho::WeakBindInfo WeakBinds
public llvm::objcopy::macho::LazyBindInfo LazyBinds
public llvm::objcopy::macho::ExportInfo Exports
public llvm::objcopy::macho::IndirectSymbolTable IndirectSymTable
public llvm::objcopy::macho::LinkData DataInCode
public llvm::objcopy::macho::LinkData LinkerOptimizationHint
public llvm::objcopy::macho::LinkData FunctionStarts
public llvm::objcopy::macho::LinkData ExportsTrie
public llvm::objcopy::macho::LinkData ChainedFixups
public Optional<uint32_t> SwiftVersion
public Optional<size_t> CodeSignatureCommandIndex
The index of LC_CODE_SIGNATURE load command if present.
public Optional<size_t> SymTabCommandIndex
The index of LC_SYMTAB load command if present.
public Optional<size_t> DyLdInfoCommandIndex
The index of LC_DYLD_INFO or LC_DYLD_INFO_ONLY load command if present.
public Optional<size_t> DySymTabCommandIndex
The index LC_DYSYMTAB load command if present.
public Optional<size_t> DataInCodeCommandIndex
The index LC_DATA_IN_CODE load command if present.
public Optional<size_t> LinkerOptimizationHintCommandIndex
The index of LC_LINKER_OPTIMIZATIN_HINT load command if present.
public Optional<size_t> FunctionStartsCommandIndex
The index LC_FUNCTION_STARTS load command if present.
public Optional<size_t> ChainedFixupsCommandIndex
The index LC_DYLD_CHAINED_FIXUPS load command if present.
public Optional<size_t> ExportsTrieCommandIndex
The index LC_DYLD_EXPORTS_TRIE load command if present.
public Optional<size_t> TextSegmentCommandIndex
The index of the LC_SEGMENT or LC_SEGMENT_64 load command corresponding to the __TEXT segment.
public llvm::BumpPtrAllocator Alloc
public llvm::StringSaver NewSectionsContents

Method Overview

Methods

Object()

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:348

llvm::objcopy::macho::LoadCommand& addSegment(
    llvm::StringRef SegName,
    uint64_t SegVMSize)

Description

Creates a new segment load command in the object and returns a reference to the newly created load command. The caller should verify that SegName is not too long (SegName.size() should be less than or equal to 16).

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:360

Parameters

llvm::StringRef SegName
uint64_t SegVMSize

bool is64Bit() const

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:362

uint64_t nextAvailableSegmentAddress() const

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:367

llvm::Error removeLoadCommands(
    function_ref<bool(
        const llvm::objcopy::macho::LoadCommand&)>
        ToRemove)

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:353

Parameters

function_ref<bool( const llvm::objcopy::macho::LoadCommand&)> ToRemove

llvm::Error removeSections(
    function_ref<
        bool(const std::unique_ptr<Section>&)>
        ToRemove)

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:351

Parameters

function_ref<bool( const std::unique_ptr<Section>&)> ToRemove

void updateLoadCommandIndexes()

Declared at: llvm/lib/ObjCopy/MachO/MachOObject.h:355