class MachOWriter
Declaration
class MachOWriter { /* full declaration omitted */ };
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:24
Member Variables
- private llvm::objcopy::macho::Object& O
- private bool Is64Bit
- private bool IsLittleEndian
- private uint64_t PageSize
- private std::unique_ptr<WritableMemoryBuffer> Buf
- private llvm::raw_ostream& Out
- private llvm::objcopy::macho::MachOLayoutBuilder LayoutBuilder
Method Overview
- public MachOWriter(llvm::objcopy::macho::Object & O, bool Is64Bit, bool IsLittleEndian, llvm::StringRef OutputFileName, uint64_t PageSize, llvm::raw_ostream & Out)
- public llvm::Error finalize()
- private size_t headerSize() const
- private size_t loadCommandsSize() const
- private size_t strTableSize() const
- private size_t symTableSize() const
- public size_t totalSize() const
- public llvm::Error write()
- private void writeBindInfo()
- private void writeChainedFixupsData()
- private void writeCodeSignatureData()
- private void writeDataInCodeData()
- private void writeExportInfo()
- private void writeExportsTrieData()
- private void writeFunctionStartsData()
- private void writeHeader()
- private void writeIndirectSymbolTable()
- private void writeLazyBindInfo()
- private void writeLinkData(Optional<size_t> LCIndex, const llvm::objcopy::macho::LinkData & LD)
- private void writeLinkerOptimizationHint()
- private void writeLoadCommands()
- private void writeRebaseInfo()
- private template <typename StructType>void writeSectionInLoadCommand(const llvm::objcopy::macho::Section & Sec, uint8_t *& Out)
- private void writeSections()
- private void writeStringTable()
- private void writeSymbolTable()
- private void writeTail()
- private void writeWeakBindInfo()
Methods
¶MachOWriter(llvm::objcopy::macho::Object& O,
bool Is64Bit,
bool IsLittleEndian,
llvm::StringRef OutputFileName,
uint64_t PageSize,
llvm::raw_ostream& Out)
MachOWriter(llvm::objcopy::macho::Object& O,
bool Is64Bit,
bool IsLittleEndian,
llvm::StringRef OutputFileName,
uint64_t PageSize,
llvm::raw_ostream& Out)
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:61
Parameters
- llvm::objcopy::macho::Object& O
- bool Is64Bit
- bool IsLittleEndian
- llvm::StringRef OutputFileName
- uint64_t PageSize
- llvm::raw_ostream& Out
¶llvm::Error finalize()
llvm::Error finalize()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:68
¶size_t headerSize() const
size_t headerSize() const
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:33
¶size_t loadCommandsSize() const
size_t loadCommandsSize() const
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:34
¶size_t strTableSize() const
size_t strTableSize() const
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:36
¶size_t symTableSize() const
size_t symTableSize() const
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:35
¶size_t totalSize() const
size_t totalSize() const
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:67
¶llvm::Error write()
llvm::Error write()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:69
¶void writeBindInfo()
void writeBindInfo()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:46
¶void writeChainedFixupsData()
void writeChainedFixupsData()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:56
¶void writeCodeSignatureData()
void writeCodeSignatureData()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:52
¶void writeDataInCodeData()
void writeDataInCodeData()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:53
¶void writeExportInfo()
void writeExportInfo()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:49
¶void writeExportsTrieData()
void writeExportsTrieData()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:57
¶void writeFunctionStartsData()
void writeFunctionStartsData()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:55
¶void writeHeader()
void writeHeader()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:38
¶void writeIndirectSymbolTable()
void writeIndirectSymbolTable()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:50
¶void writeLazyBindInfo()
void writeLazyBindInfo()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:48
¶void writeLinkData(
Optional<size_t> LCIndex,
const llvm::objcopy::macho::LinkData& LD)
void writeLinkData(
Optional<size_t> LCIndex,
const llvm::objcopy::macho::LinkData& LD)
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:51
Parameters
- Optional<size_t> LCIndex
- const llvm::objcopy::macho::LinkData& LD
¶void writeLinkerOptimizationHint()
void writeLinkerOptimizationHint()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:54
¶void writeLoadCommands()
void writeLoadCommands()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:39
¶void writeRebaseInfo()
void writeRebaseInfo()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:45
¶template <typename StructType>
void writeSectionInLoadCommand(
const llvm::objcopy::macho::Section& Sec,
uint8_t*& Out)
template <typename StructType>
void writeSectionInLoadCommand(
const llvm::objcopy::macho::Section& Sec,
uint8_t*& Out)
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:41
Templates
- StructType
Parameters
- const llvm::objcopy::macho::Section& Sec
- uint8_t*& Out
¶void writeSections()
void writeSections()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:42
¶void writeStringTable()
void writeStringTable()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:44
¶void writeSymbolTable()
void writeSymbolTable()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:43
¶void writeTail()
void writeTail()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:58
¶void writeWeakBindInfo()
void writeWeakBindInfo()
Declared at: llvm/lib/ObjCopy/MachO/MachOWriter.h:47