LLVM: llvm::objcopy::macho::Object Struct Reference (original) (raw)

#include "[ObjCopy/MachO/MachOObject.h](MachOObject%5F8h%5Fsource.html)"

Public Member Functions
Object ()
Error removeSections (function_ref< bool(const std::unique_ptr< Section > &)> ToRemove)
Error removeLoadCommands (function_ref< bool(const LoadCommand &)> ToRemove)
void updateLoadCommandIndexes ()
LoadCommand & addSegment (StringRef SegName, uint64_t SegVMSize)
Creates a new segment load command in the object and returns a reference to the newly created load command.
bool is64Bit () const
uint64_t nextAvailableSegmentAddress () const
Public Attributes
MachHeader Header
std::vector< LoadCommand > LoadCommands
SymbolTable SymTable
StringTable StrTable
RebaseInfo Rebases
BindInfo Binds
WeakBindInfo WeakBinds
LazyBindInfo LazyBinds
ExportInfo Exports
IndirectSymbolTable IndirectSymTable
LinkData DataInCode
LinkData LinkerOptimizationHint
LinkData FunctionStarts
LinkData ExportsTrie
LinkData ChainedFixups
LinkData DylibCodeSignDRs
std::optional< uint32_t > SwiftVersion
std::optional< size_t > CodeSignatureCommandIndex
The index of LC_CODE_SIGNATURE load command if present.
std::optional< size_t > DylibCodeSignDRsIndex
The index of LC_DYLIB_CODE_SIGN_DRS load command if present.
std::optional< size_t > SymTabCommandIndex
The index of LC_SYMTAB load command if present.
std::optional< size_t > DyLdInfoCommandIndex
The index of LC_DYLD_INFO or LC_DYLD_INFO_ONLY load command if present.
std::optional< size_t > DySymTabCommandIndex
The index LC_DYSYMTAB load command if present.
std::optional< size_t > DataInCodeCommandIndex
The index LC_DATA_IN_CODE load command if present.
std::optional< size_t > LinkerOptimizationHintCommandIndex
The index of LC_LINKER_OPTIMIZATIN_HINT load command if present.
std::optional< size_t > FunctionStartsCommandIndex
The index LC_FUNCTION_STARTS load command if present.
std::optional< size_t > ChainedFixupsCommandIndex
The index LC_DYLD_CHAINED_FIXUPS load command if present.
std::optional< size_t > ExportsTrieCommandIndex
The index LC_DYLD_EXPORTS_TRIE load command if present.
std::optional< size_t > TextSegmentCommandIndex
The index of the LC_SEGMENT or LC_SEGMENT_64 load command corresponding to the __TEXT segment.
BumpPtrAllocator Alloc
StringSaver NewSectionsContents

Definition at line 299 of file MachOObject.h.

llvm::objcopy::macho::Object::Object ( ) inline

addSegment()

is64Bit()

bool llvm::objcopy::macho::Object::is64Bit ( ) const inline

nextAvailableSegmentAddress()

uint64_t Object::nextAvailableSegmentAddress ( ) const

removeLoadCommands()

removeSections()

Definition at line 114 of file MachOObject.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::createStringError(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), IsDead, LoadCommands, llvm::Error::success(), SymTable, and ToRemove.

updateLoadCommandIndexes()

void Object::updateLoadCommandIndexes ( )

Definition at line 52 of file MachOObject.cpp.

References ChainedFixupsCommandIndex, CodeSignatureCommandIndex, DataInCodeCommandIndex, DyLdInfoCommandIndex, DylibCodeSignDRsIndex, DySymTabCommandIndex, ExportsTrieCommandIndex, FunctionStartsCommandIndex, LinkerOptimizationHintCommandIndex, LoadCommands, llvm::objcopy::macho::LoadCommand::MachOLoadCommand, Size, SymTabCommandIndex, and TextSegmentCommandIndex.

Referenced by removeLoadCommands().

Alloc

Binds

BindInfo llvm::objcopy::macho::Object::Binds

ChainedFixups

LinkData llvm::objcopy::macho::Object::ChainedFixups

ChainedFixupsCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::ChainedFixupsCommandIndex

CodeSignatureCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::CodeSignatureCommandIndex

DataInCode

LinkData llvm::objcopy::macho::Object::DataInCode

DataInCodeCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::DataInCodeCommandIndex

DyLdInfoCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::DyLdInfoCommandIndex

DylibCodeSignDRs

LinkData llvm::objcopy::macho::Object::DylibCodeSignDRs

DylibCodeSignDRsIndex

std::optional<size_t> llvm::objcopy::macho::Object::DylibCodeSignDRsIndex

DySymTabCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::DySymTabCommandIndex

Exports

ExportsTrie

LinkData llvm::objcopy::macho::Object::ExportsTrie

ExportsTrieCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::ExportsTrieCommandIndex

FunctionStarts

LinkData llvm::objcopy::macho::Object::FunctionStarts

FunctionStartsCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::FunctionStartsCommandIndex

Header

IndirectSymTable

LazyBinds

LinkerOptimizationHint

LinkData llvm::objcopy::macho::Object::LinkerOptimizationHint

LinkerOptimizationHintCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::LinkerOptimizationHintCommandIndex

LoadCommands

std::vector<LoadCommand> llvm::objcopy::macho::Object::LoadCommands

NewSectionsContents

StringSaver llvm::objcopy::macho::Object::NewSectionsContents

Rebases

StrTable

SwiftVersion

std::optional<uint32_t> llvm::objcopy::macho::Object::SwiftVersion

SymTabCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::SymTabCommandIndex

SymTable

TextSegmentCommandIndex

std::optional<size_t> llvm::objcopy::macho::Object::TextSegmentCommandIndex

WeakBinds


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