Lines Matching full:mlc

29     const MachO::macho_load_command &MLC = LC.MachOLoadCommand;  in computeSizeOfCmds()  local
30 auto cmd = MLC.load_command_data.cmd; in computeSizeOfCmds()
68 void MachOLayoutBuilder::updateDySymTab(MachO::macho_load_command &MLC) { in updateDySymTab() argument
69 assert(MLC.load_command_data.cmd == MachO::LC_DYSYMTAB); in updateDySymTab()
102 MLC.dysymtab_command_data.ilocalsym = 0; in updateDySymTab()
103 MLC.dysymtab_command_data.nlocalsym = NumLocalSymbols; in updateDySymTab()
104 MLC.dysymtab_command_data.iextdefsym = NumLocalSymbols; in updateDySymTab()
105 MLC.dysymtab_command_data.nextdefsym = NumExtDefSymbols; in updateDySymTab()
106 MLC.dysymtab_command_data.iundefsym = NumLocalSymbols + NumExtDefSymbols; in updateDySymTab()
107 MLC.dysymtab_command_data.nundefsym = in updateDySymTab()
120 auto &MLC = LC.MachOLoadCommand; in layoutSegments() local
124 switch (MLC.load_command_data.cmd) { in layoutSegments()
126 SegmentVmAddr = MLC.segment_command_data.vmaddr; in layoutSegments()
127 SegmentVmSize = MLC.segment_command_data.vmsize; in layoutSegments()
128 Segname = StringRef(MLC.segment_command_data.segname, in layoutSegments()
129 strnlen(MLC.segment_command_data.segname, in layoutSegments()
130 sizeof(MLC.segment_command_data.segname))); in layoutSegments()
133 SegmentVmAddr = MLC.segment_command_64_data.vmaddr; in layoutSegments()
134 SegmentVmSize = MLC.segment_command_64_data.vmsize; in layoutSegments()
135 Segname = StringRef(MLC.segment_command_64_data.segname, in layoutSegments()
136 strnlen(MLC.segment_command_64_data.segname, in layoutSegments()
137 sizeof(MLC.segment_command_64_data.segname))); in layoutSegments()
146 LinkEditLoadCommand = &MLC; in layoutSegments()
190 switch (MLC.load_command_data.cmd) { in layoutSegments()
192 MLC.segment_command_data.cmdsize = in layoutSegments()
195 MLC.segment_command_data.nsects = LC.Sections.size(); in layoutSegments()
196 MLC.segment_command_data.fileoff = SegOffset; in layoutSegments()
197 MLC.segment_command_data.vmsize = VMSize; in layoutSegments()
198 MLC.segment_command_data.filesize = SegFileSize; in layoutSegments()
201 MLC.segment_command_64_data.cmdsize = in layoutSegments()
204 MLC.segment_command_64_data.nsects = LC.Sections.size(); in layoutSegments()
205 MLC.segment_command_64_data.fileoff = SegOffset; in layoutSegments()
206 MLC.segment_command_64_data.vmsize = VMSize; in layoutSegments()
207 MLC.segment_command_64_data.filesize = SegFileSize; in layoutSegments()
320 MachO::macho_load_command *MLC = LinkEditLoadCommand; in layoutTail() local
323 MLC->segment_command_data.cmdsize = sizeof(MachO::segment_command); in layoutTail()
324 MLC->segment_command_data.fileoff = StartOfLinkEdit; in layoutTail()
325 MLC->segment_command_data.vmsize = alignTo(LinkEditSize, PageSize); in layoutTail()
326 MLC->segment_command_data.filesize = LinkEditSize; in layoutTail()
329 MLC->segment_command_64_data.cmdsize = sizeof(MachO::segment_command_64); in layoutTail()
330 MLC->segment_command_64_data.fileoff = StartOfLinkEdit; in layoutTail()
331 MLC->segment_command_64_data.vmsize = alignTo(LinkEditSize, PageSize); in layoutTail()
332 MLC->segment_command_64_data.filesize = LinkEditSize; in layoutTail()
338 auto &MLC = LC.MachOLoadCommand; in layoutTail() local
339 auto cmd = MLC.load_command_data.cmd; in layoutTail()
342 MLC.linkedit_data_command_data.dataoff = StartOfCodeSignature; in layoutTail()
343 MLC.linkedit_data_command_data.datasize = CodeSignatureSize; in layoutTail()
346 MLC.linkedit_data_command_data.dataoff = StartOfDylibCodeSignDRs; in layoutTail()
347 MLC.linkedit_data_command_data.datasize = O.DylibCodeSignDRs.Data.size(); in layoutTail()
350 MLC.symtab_command_data.symoff = StartOfSymbols; in layoutTail()
351 MLC.symtab_command_data.nsyms = O.SymTable.Symbols.size(); in layoutTail()
352 MLC.symtab_command_data.stroff = StartOfSymbolStrings; in layoutTail()
353 MLC.symtab_command_data.strsize = StrTableBuilder.getSize(); in layoutTail()
356 if (MLC.dysymtab_command_data.ntoc != 0 || in layoutTail()
357 MLC.dysymtab_command_data.nmodtab != 0 || in layoutTail()
358 MLC.dysymtab_command_data.nextrefsyms != 0 || in layoutTail()
359 MLC.dysymtab_command_data.nlocrel != 0 || in layoutTail()
360 MLC.dysymtab_command_data.nextrel != 0) in layoutTail()
365 MLC.dysymtab_command_data.indirectsymoff = StartOfIndirectSymbols; in layoutTail()
366 MLC.dysymtab_command_data.nindirectsyms = in layoutTail()
370 updateDySymTab(MLC); in layoutTail()
374 MLC.linkedit_data_command_data.dataoff = StartOfDataInCode; in layoutTail()
375 MLC.linkedit_data_command_data.datasize = O.DataInCode.Data.size(); in layoutTail()
378 MLC.linkedit_data_command_data.dataoff = StartOfLinkerOptimizationHint; in layoutTail()
379 MLC.linkedit_data_command_data.datasize = in layoutTail()
383 MLC.linkedit_data_command_data.dataoff = StartOfFunctionStarts; in layoutTail()
384 MLC.linkedit_data_command_data.datasize = O.FunctionStarts.Data.size(); in layoutTail()
387 MLC.linkedit_data_command_data.dataoff = StartOfChainedFixups; in layoutTail()
388 MLC.linkedit_data_command_data.datasize = O.ChainedFixups.Data.size(); in layoutTail()
391 MLC.linkedit_data_command_data.dataoff = StartOfDyldExportsTrie; in layoutTail()
392 MLC.linkedit_data_command_data.datasize = DyldExportsTrieSize; in layoutTail()
396 MLC.dyld_info_command_data.rebase_off = in layoutTail()
398 MLC.dyld_info_command_data.rebase_size = O.Rebases.Opcodes.size(); in layoutTail()
399 MLC.dyld_info_command_data.bind_off = in layoutTail()
401 MLC.dyld_info_command_data.bind_size = O.Binds.Opcodes.size(); in layoutTail()
402 MLC.dyld_info_command_data.weak_bind_off = in layoutTail()
404 MLC.dyld_info_command_data.weak_bind_size = O.WeakBinds.Opcodes.size(); in layoutTail()
405 MLC.dyld_info_command_data.lazy_bind_off = in layoutTail()
407 MLC.dyld_info_command_data.lazy_bind_size = O.LazyBinds.Opcodes.size(); in layoutTail()
408 MLC.dyld_info_command_data.export_off = in layoutTail()
410 MLC.dyld_info_command_data.export_size = DyldInfoExportsTrieSize; in layoutTail()