• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching refs:OS

37   Error writeMachO(raw_ostream &OS);
40 Error writeHeader(raw_ostream &OS);
41 Error writeLoadCommands(raw_ostream &OS);
42 Error writeSectionData(raw_ostream &OS);
43 Error writeLinkEditData(raw_ostream &OS);
44 void writeBindOpcodes(raw_ostream &OS,
47 Error writeRebaseOpcodes(raw_ostream &OS);
48 Error writeBasicBindOpcodes(raw_ostream &OS);
49 Error writeWeakBindOpcodes(raw_ostream &OS);
50 Error writeLazyBindOpcodes(raw_ostream &OS);
51 Error writeNameList(raw_ostream &OS);
52 Error writeStringTable(raw_ostream &OS);
53 Error writeExportTrie(raw_ostream &OS);
55 void dumpExportEntry(raw_ostream &OS, MachOYAML::ExportEntry &Entry);
56 void ZeroToOffset(raw_ostream &OS, size_t offset);
65 Error MachOWriter::writeMachO(raw_ostream &OS) { in writeMachO() argument
66 fileStart = OS.tell(); in writeMachO()
67 if (auto Err = writeHeader(OS)) in writeMachO()
69 if (auto Err = writeLoadCommands(OS)) in writeMachO()
71 if (auto Err = writeSectionData(OS)) in writeMachO()
76 Error MachOWriter::writeHeader(raw_ostream &OS) { in writeHeader() argument
88 OS.write((const char *)&Header, header_size); in writeHeader()
111 size_t writeLoadCommandData(MachOYAML::LoadCommand &LC, raw_ostream &OS) { in writeLoadCommandData() argument
117 raw_ostream &OS) { in writeLoadCommandData() argument
121 OS.write(reinterpret_cast<const char *>(&(TempSec)), in writeLoadCommandData()
131 raw_ostream &OS) { in writeLoadCommandData() argument
136 OS.write(reinterpret_cast<const char *>(&(TempSec)), in writeLoadCommandData()
143 size_t writePayloadString(MachOYAML::LoadCommand &LC, raw_ostream &OS) { in writePayloadString() argument
146 OS.write(LC.PayloadString.c_str(), LC.PayloadString.length()); in writePayloadString()
154 raw_ostream &OS) { in writeLoadCommandData() argument
155 return writePayloadString(LC, OS); in writeLoadCommandData()
160 raw_ostream &OS) { in writeLoadCommandData() argument
161 return writePayloadString(LC, OS); in writeLoadCommandData()
166 raw_ostream &OS) { in writeLoadCommandData() argument
167 return writePayloadString(LC, OS); in writeLoadCommandData()
170 void ZeroFillBytes(raw_ostream &OS, size_t Size) { in ZeroFillBytes() argument
173 OS.write(reinterpret_cast<char *>(FillData.data()), Size); in ZeroFillBytes()
176 void Fill(raw_ostream &OS, size_t Size, uint32_t Data) { in Fill() argument
179 OS.write(reinterpret_cast<char *>(FillData.data()), Size); in Fill()
182 void MachOWriter::ZeroToOffset(raw_ostream &OS, size_t Offset) { in ZeroToOffset() argument
183 auto currOffset = OS.tell() - fileStart; in ZeroToOffset()
185 ZeroFillBytes(OS, Offset - currOffset); in ZeroToOffset()
188 Error MachOWriter::writeLoadCommands(raw_ostream &OS) { in writeLoadCommands() argument
193 OS.write(reinterpret_cast<const char *>(&(LC.Data.LCStruct##_data)), \ in writeLoadCommands()
196 BytesWritten += writeLoadCommandData<MachO::LCStruct>(LC, OS); \ in writeLoadCommands()
201 OS.write(reinterpret_cast<const char *>(&(LC.Data.load_command_data)), in writeLoadCommands()
204 BytesWritten += writeLoadCommandData<MachO::load_command>(LC, OS); in writeLoadCommands()
210 OS.write(reinterpret_cast<const char *>(LC.PayloadBytes.data()), in writeLoadCommands()
216 ZeroFillBytes(OS, LC.ZeroPadBytes); in writeLoadCommands()
224 ZeroFillBytes(OS, BytesRemaining); in writeLoadCommands()
230 Error MachOWriter::writeSectionData(raw_ostream &OS) { in writeSectionData() argument
235 auto currOffset = OS.tell() - fileStart; in writeSectionData()
241 if (auto Err = writeLinkEditData(OS)) in writeSectionData()
247 ZeroFillBytes(OS, segOff - currOffset); in writeSectionData()
255 OS.tell() - fileStart <= Sec.offset && in writeSectionData()
257 currOffset = OS.tell() - fileStart; in writeSectionData()
259 ZeroFillBytes(OS, Sec.offset - currOffset); in writeSectionData()
263 Fill(OS, Sec.size, 0xDEADBEEFu); in writeSectionData()
268 ZeroToOffset(OS, segOff + segSize); in writeSectionData()
276 raw_ostream &OS, std::vector<MachOYAML::BindOpcode> &BindOpcodes) { in writeBindOpcodes() argument
280 OS.write(reinterpret_cast<char *>(&OpByte), 1); in writeBindOpcodes()
282 encodeULEB128(Data, OS); in writeBindOpcodes()
285 encodeSLEB128(Data, OS); in writeBindOpcodes()
288 OS.write(Opcode.Symbol.data(), Opcode.Symbol.size()); in writeBindOpcodes()
289 OS.write('\0'); in writeBindOpcodes()
294 void MachOWriter::dumpExportEntry(raw_ostream &OS, in dumpExportEntry() argument
296 encodeSLEB128(Entry.TerminalSize, OS); in dumpExportEntry()
298 encodeSLEB128(Entry.Flags, OS); in dumpExportEntry()
300 encodeSLEB128(Entry.Other, OS); in dumpExportEntry()
301 OS << Entry.ImportName; in dumpExportEntry()
302 OS.write('\0'); in dumpExportEntry()
304 encodeSLEB128(Entry.Address, OS); in dumpExportEntry()
306 encodeSLEB128(Entry.Other, OS); in dumpExportEntry()
309 OS.write(static_cast<uint8_t>(Entry.Children.size())); in dumpExportEntry()
311 OS << EE.Name; in dumpExportEntry()
312 OS.write('\0'); in dumpExportEntry()
313 encodeSLEB128(EE.NodeOffset, OS); in dumpExportEntry()
316 dumpExportEntry(OS, EE); in dumpExportEntry()
319 Error MachOWriter::writeExportTrie(raw_ostream &OS) { in writeExportTrie() argument
320 dumpExportEntry(OS, Obj.LinkEdit.ExportTrie); in writeExportTrie()
325 void writeNListEntry(MachOYAML::NListEntry &NLE, raw_ostream &OS) { in writeNListEntry() argument
332 OS.write(reinterpret_cast<const char *>(&ListEntry), sizeof(NListType)); in writeNListEntry()
335 Error MachOWriter::writeLinkEditData(raw_ostream &OS) { in writeLinkEditData() argument
373 ZeroToOffset(OS, writeOp.first); in writeLinkEditData()
374 if (auto Err = (this->*writeOp.second)(OS)) in writeLinkEditData()
381 Error MachOWriter::writeRebaseOpcodes(raw_ostream &OS) { in writeRebaseOpcodes() argument
386 OS.write(reinterpret_cast<char *>(&OpByte), 1); in writeRebaseOpcodes()
388 encodeULEB128(Data, OS); in writeRebaseOpcodes()
394 Error MachOWriter::writeBasicBindOpcodes(raw_ostream &OS) { in writeBasicBindOpcodes() argument
395 writeBindOpcodes(OS, Obj.LinkEdit.BindOpcodes); in writeBasicBindOpcodes()
399 Error MachOWriter::writeWeakBindOpcodes(raw_ostream &OS) { in writeWeakBindOpcodes() argument
400 writeBindOpcodes(OS, Obj.LinkEdit.WeakBindOpcodes); in writeWeakBindOpcodes()
404 Error MachOWriter::writeLazyBindOpcodes(raw_ostream &OS) { in writeLazyBindOpcodes() argument
405 writeBindOpcodes(OS, Obj.LinkEdit.LazyBindOpcodes); in writeLazyBindOpcodes()
409 Error MachOWriter::writeNameList(raw_ostream &OS) { in writeNameList() argument
412 writeNListEntry<MachO::nlist_64>(NLE, OS); in writeNameList()
414 writeNListEntry<MachO::nlist>(NLE, OS); in writeNameList()
419 Error MachOWriter::writeStringTable(raw_ostream &OS) { in writeStringTable() argument
421 OS.write(Str.data(), Str.size()); in writeStringTable()
422 OS.write('\0'); in writeStringTable()
432 Error writeMachO(raw_ostream &OS);
435 Error writeFatHeader(raw_ostream &OS);
436 Error writeFatArchs(raw_ostream &OS);
438 void ZeroToOffset(raw_ostream &OS, size_t offset);
444 Error UniversalWriter::writeMachO(raw_ostream &OS) { in writeMachO() argument
445 fileStart = OS.tell(); in writeMachO()
448 return Writer.writeMachO(OS); in writeMachO()
450 if (auto Err = writeFatHeader(OS)) in writeMachO()
452 if (auto Err = writeFatArchs(OS)) in writeMachO()
457 ZeroToOffset(OS, FatFile.FatArchs[i].offset); in writeMachO()
459 if (auto Err = Writer.writeMachO(OS)) in writeMachO()
462 ZeroToOffset(OS, SliceEnd); in writeMachO()
467 Error UniversalWriter::writeFatHeader(raw_ostream &OS) { in writeFatHeader() argument
474 OS.write(reinterpret_cast<const char *>(&header), sizeof(MachO::fat_header)); in writeFatHeader()
490 void writeFatArch(MachOYAML::FatArch &LC, raw_ostream &OS) {} in writeFatArch() argument
493 void writeFatArch<MachO::fat_arch>(MachOYAML::FatArch &Arch, raw_ostream &OS) { in writeFatArch() argument
497 OS.write(reinterpret_cast<const char *>(&FatArch), sizeof(MachO::fat_arch)); in writeFatArch()
502 raw_ostream &OS) { in writeFatArch() argument
507 OS.write(reinterpret_cast<const char *>(&FatArch), in writeFatArch()
511 Error UniversalWriter::writeFatArchs(raw_ostream &OS) { in writeFatArchs() argument
516 writeFatArch<MachO::fat_arch_64>(Arch, OS); in writeFatArchs()
518 writeFatArch<MachO::fat_arch>(Arch, OS); in writeFatArchs()
524 void UniversalWriter::ZeroToOffset(raw_ostream &OS, size_t Offset) { in ZeroToOffset() argument
525 auto currOffset = OS.tell() - fileStart; in ZeroToOffset()
527 ZeroFillBytes(OS, Offset - currOffset); in ZeroToOffset()