Lines Matching refs:MLC
28 const MachO::macho_load_command &MLC = LC.MachOLoadCommand; in computeSizeOfCmds() local
29 auto cmd = MLC.load_command_data.cmd; in computeSizeOfCmds()
67 void MachOLayoutBuilder::updateDySymTab(MachO::macho_load_command &MLC) { in updateDySymTab() argument
68 assert(MLC.load_command_data.cmd == MachO::LC_DYSYMTAB); in updateDySymTab()
101 MLC.dysymtab_command_data.ilocalsym = 0; in updateDySymTab()
102 MLC.dysymtab_command_data.nlocalsym = NumLocalSymbols; in updateDySymTab()
103 MLC.dysymtab_command_data.iextdefsym = NumLocalSymbols; in updateDySymTab()
104 MLC.dysymtab_command_data.nextdefsym = NumExtDefSymbols; in updateDySymTab()
105 MLC.dysymtab_command_data.iundefsym = NumLocalSymbols + NumExtDefSymbols; in updateDySymTab()
106 MLC.dysymtab_command_data.nundefsym = in updateDySymTab()
119 auto &MLC = LC.MachOLoadCommand; in layoutSegments() local
123 switch (MLC.load_command_data.cmd) { in layoutSegments()
125 SegmentVmAddr = MLC.segment_command_data.vmaddr; in layoutSegments()
126 SegmentVmSize = MLC.segment_command_data.vmsize; in layoutSegments()
127 Segname = StringRef(MLC.segment_command_data.segname, in layoutSegments()
128 strnlen(MLC.segment_command_data.segname, in layoutSegments()
129 sizeof(MLC.segment_command_data.segname))); in layoutSegments()
132 SegmentVmAddr = MLC.segment_command_64_data.vmaddr; in layoutSegments()
133 SegmentVmSize = MLC.segment_command_64_data.vmsize; in layoutSegments()
134 Segname = StringRef(MLC.segment_command_64_data.segname, in layoutSegments()
135 strnlen(MLC.segment_command_64_data.segname, in layoutSegments()
136 sizeof(MLC.segment_command_64_data.segname))); in layoutSegments()
145 LinkEditLoadCommand = &MLC; in layoutSegments()
189 switch (MLC.load_command_data.cmd) { in layoutSegments()
191 MLC.segment_command_data.cmdsize = in layoutSegments()
194 MLC.segment_command_data.nsects = LC.Sections.size(); in layoutSegments()
195 MLC.segment_command_data.fileoff = SegOffset; in layoutSegments()
196 MLC.segment_command_data.vmsize = VMSize; in layoutSegments()
197 MLC.segment_command_data.filesize = SegFileSize; in layoutSegments()
200 MLC.segment_command_64_data.cmdsize = in layoutSegments()
203 MLC.segment_command_64_data.nsects = LC.Sections.size(); in layoutSegments()
204 MLC.segment_command_64_data.fileoff = SegOffset; in layoutSegments()
205 MLC.segment_command_64_data.vmsize = VMSize; in layoutSegments()
206 MLC.segment_command_64_data.filesize = SegFileSize; in layoutSegments()
298 MachO::macho_load_command *MLC = LinkEditLoadCommand; in layoutTail() local
301 MLC->segment_command_data.cmdsize = sizeof(MachO::segment_command); in layoutTail()
302 MLC->segment_command_data.fileoff = StartOfLinkEdit; in layoutTail()
303 MLC->segment_command_data.vmsize = alignTo(LinkEditSize, PageSize); in layoutTail()
304 MLC->segment_command_data.filesize = LinkEditSize; in layoutTail()
307 MLC->segment_command_64_data.cmdsize = sizeof(MachO::segment_command_64); in layoutTail()
308 MLC->segment_command_64_data.fileoff = StartOfLinkEdit; in layoutTail()
309 MLC->segment_command_64_data.vmsize = alignTo(LinkEditSize, PageSize); in layoutTail()
310 MLC->segment_command_64_data.filesize = LinkEditSize; in layoutTail()
316 auto &MLC = LC.MachOLoadCommand; in layoutTail() local
317 auto cmd = MLC.load_command_data.cmd; in layoutTail()
320 MLC.linkedit_data_command_data.dataoff = StartOfCodeSignature; in layoutTail()
321 MLC.linkedit_data_command_data.datasize = CodeSignatureSize; in layoutTail()
324 MLC.symtab_command_data.symoff = StartOfSymbols; in layoutTail()
325 MLC.symtab_command_data.nsyms = O.SymTable.Symbols.size(); in layoutTail()
326 MLC.symtab_command_data.stroff = StartOfSymbolStrings; in layoutTail()
327 MLC.symtab_command_data.strsize = StrTableBuilder.getSize(); in layoutTail()
330 if (MLC.dysymtab_command_data.ntoc != 0 || in layoutTail()
331 MLC.dysymtab_command_data.nmodtab != 0 || in layoutTail()
332 MLC.dysymtab_command_data.nextrefsyms != 0 || in layoutTail()
333 MLC.dysymtab_command_data.nlocrel != 0 || in layoutTail()
334 MLC.dysymtab_command_data.nextrel != 0) in layoutTail()
339 MLC.dysymtab_command_data.indirectsymoff = StartOfIndirectSymbols; in layoutTail()
340 MLC.dysymtab_command_data.nindirectsyms = in layoutTail()
344 updateDySymTab(MLC); in layoutTail()
348 MLC.linkedit_data_command_data.dataoff = StartOfDataInCode; in layoutTail()
349 MLC.linkedit_data_command_data.datasize = O.DataInCode.Data.size(); in layoutTail()
352 MLC.linkedit_data_command_data.dataoff = StartOfLinkerOptimizationHint; in layoutTail()
353 MLC.linkedit_data_command_data.datasize = in layoutTail()
357 MLC.linkedit_data_command_data.dataoff = StartOfFunctionStarts; in layoutTail()
358 MLC.linkedit_data_command_data.datasize = O.FunctionStarts.Data.size(); in layoutTail()
361 MLC.linkedit_data_command_data.dataoff = StartOfChainedFixups; in layoutTail()
362 MLC.linkedit_data_command_data.datasize = O.ChainedFixups.Data.size(); in layoutTail()
365 MLC.linkedit_data_command_data.dataoff = StartOfDyldExportsTrie; in layoutTail()
366 MLC.linkedit_data_command_data.datasize = O.ExportsTrie.Data.size(); in layoutTail()
370 MLC.dyld_info_command_data.rebase_off = in layoutTail()
372 MLC.dyld_info_command_data.rebase_size = O.Rebases.Opcodes.size(); in layoutTail()
373 MLC.dyld_info_command_data.bind_off = in layoutTail()
375 MLC.dyld_info_command_data.bind_size = O.Binds.Opcodes.size(); in layoutTail()
376 MLC.dyld_info_command_data.weak_bind_off = in layoutTail()
378 MLC.dyld_info_command_data.weak_bind_size = O.WeakBinds.Opcodes.size(); in layoutTail()
379 MLC.dyld_info_command_data.lazy_bind_off = in layoutTail()
381 MLC.dyld_info_command_data.lazy_bind_size = O.LazyBinds.Opcodes.size(); in layoutTail()
382 MLC.dyld_info_command_data.export_off = in layoutTail()
384 MLC.dyld_info_command_data.export_size = O.Exports.Trie.size(); in layoutTail()