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