LLVM: lib/ObjCopy/MachO/MachOWriter.h Source File (original) (raw)
26 bool Is64Bit;
27 bool IsLittleEndian;
29 std::unique_ptr Buf;
32
33 size_t headerSize() const;
34 size_t loadCommandsSize() const;
35 size_t symTableSize() const;
36 size_t strTableSize() const;
37
38 void writeHeader();
39 void writeLoadCommands();
40 template
41 void writeSectionInLoadCommand(const Section &Sec, uint8_t *&Out);
42 void writeSections();
43 void writeSymbolTable();
44 void writeStringTable();
45 void writeRebaseInfo();
46 void writeBindInfo();
47 void writeWeakBindInfo();
48 void writeLazyBindInfo();
49 void writeExportInfo();
50 void writeIndirectSymbolTable();
51 void writeLinkData(std::optional<size_t> LCIndex, const LinkData &LD);
52 void writeCodeSignatureData();
53 void writeDataInCodeData();
54 void writeLinkerOptimizationHint();
55 void writeFunctionStartsData();
56 void writeDylibCodeSignDRsData();
57 void writeChainedFixupsData();
58 void writeExportsTrieData();
59 void writeTail();
60
61public:
64 : O(O), Is64Bit(Is64Bit), IsLittleEndian(IsLittleEndian),
65 PageSize(PageSize), Out(Out),
66 LayoutBuilder(O, Is64Bit, OutputFileName, PageSize) {}
67
71};
MachOWriter(Object &O, bool Is64Bit, bool IsLittleEndian, StringRef OutputFileName, uint64_t PageSize, raw_ostream &Out)
Definition MachOWriter.h:62