Lines Matching refs:MachO

79     MachO::swapStruct(Cmd);  in getStruct()
92 MachO::swapStruct(Cmd); in getStructOrErr()
102 unsigned SegmentLoadSize = Is64 ? sizeof(MachO::segment_command_64) : in getSectionPtr()
103 sizeof(MachO::segment_command); in getSectionPtr()
104 unsigned SectionSize = Is64 ? sizeof(MachO::section_64) : in getSectionPtr()
105 sizeof(MachO::section); in getSectionPtr()
116 static MachO::nlist_base
119 return getStruct<MachO::nlist_base>(O, P); in getSymbolTableEntryBase()
139 getPlainRelocationAddress(const MachO::any_relocation_info &RE) { in getPlainRelocationAddress()
144 getScatteredRelocationAddress(const MachO::any_relocation_info &RE) { in getScatteredRelocationAddress()
149 const MachO::any_relocation_info &RE) { in getPlainRelocationPCRel()
156 getScatteredRelocationPCRel(const MachO::any_relocation_info &RE) { in getScatteredRelocationPCRel()
161 const MachO::any_relocation_info &RE) { in getPlainRelocationLength()
168 getScatteredRelocationLength(const MachO::any_relocation_info &RE) { in getScatteredRelocationLength()
173 const MachO::any_relocation_info &RE) { in getPlainRelocationType()
182 MachO::section_64 Sect = O.getSection64(Sec); in getSectionFlags()
185 MachO::section Sect = O.getSection(Sec); in getSectionFlags()
192 if (auto CmdOrErr = getStructOrErr<MachO::load_command>(Obj, Ptr)) { in getLoadCommandInfo()
206 unsigned HeaderSize = Obj.is64Bit() ? sizeof(MachO::mach_header_64) in getFirstLoadCommandInfo()
207 : sizeof(MachO::mach_header); in getFirstLoadCommandInfo()
208 if (sizeof(MachO::load_command) > Obj.getHeader().sizeofcmds) in getFirstLoadCommandInfo()
217 unsigned HeaderSize = Obj.is64Bit() ? sizeof(MachO::mach_header_64) in getNextLoadCommandInfo()
218 : sizeof(MachO::mach_header); in getNextLoadCommandInfo()
219 if (L.Ptr + L.C.cmdsize + sizeof(MachO::load_command) > in getNextLoadCommandInfo()
305 if (Obj.getHeader().filetype != MachO::MH_DYLIB_STUB && in parseSegmentLoadCommand()
306 Obj.getHeader().filetype != MachO::MH_DSYM && in parseSegmentLoadCommand()
307 s.flags != MachO::S_ZEROFILL && in parseSegmentLoadCommand()
308 s.flags != MachO::S_THREAD_LOCAL_ZEROFILL && in parseSegmentLoadCommand()
313 if (Obj.getHeader().filetype != MachO::MH_DYLIB_STUB && in parseSegmentLoadCommand()
314 Obj.getHeader().filetype != MachO::MH_DSYM && in parseSegmentLoadCommand()
315 s.flags != MachO::S_ZEROFILL && in parseSegmentLoadCommand()
316 s.flags != MachO::S_THREAD_LOCAL_ZEROFILL && S.fileoff == 0 && in parseSegmentLoadCommand()
323 if (Obj.getHeader().filetype != MachO::MH_DYLIB_STUB && in parseSegmentLoadCommand()
324 Obj.getHeader().filetype != MachO::MH_DSYM && in parseSegmentLoadCommand()
325 s.flags != MachO::S_ZEROFILL && in parseSegmentLoadCommand()
326 s.flags != MachO::S_THREAD_LOCAL_ZEROFILL && in parseSegmentLoadCommand()
332 if (Obj.getHeader().filetype != MachO::MH_DYLIB_STUB && in parseSegmentLoadCommand()
333 Obj.getHeader().filetype != MachO::MH_DSYM && in parseSegmentLoadCommand()
334 s.flags != MachO::S_ZEROFILL && in parseSegmentLoadCommand()
335 s.flags != MachO::S_THREAD_LOCAL_ZEROFILL && in parseSegmentLoadCommand()
341 if (Obj.getHeader().filetype != MachO::MH_DYLIB_STUB && in parseSegmentLoadCommand()
342 Obj.getHeader().filetype != MachO::MH_DSYM && s.size != 0 && in parseSegmentLoadCommand()
357 if (Obj.getHeader().filetype != MachO::MH_DYLIB_STUB && in parseSegmentLoadCommand()
358 Obj.getHeader().filetype != MachO::MH_DSYM && in parseSegmentLoadCommand()
359 s.flags != MachO::S_ZEROFILL && in parseSegmentLoadCommand()
360 s.flags != MachO::S_THREAD_LOCAL_ZEROFILL) in parseSegmentLoadCommand()
369 BigSize *= sizeof(struct MachO::relocation_info); in parseSegmentLoadCommand()
379 MachO::relocation_info), in parseSegmentLoadCommand()
409 if (Load.C.cmdsize < sizeof(MachO::symtab_command)) in checkSymtabCommand()
414 auto SymtabOrErr = getStructOrErr<MachO::symtab_command>(Obj, Load.Ptr); in checkSymtabCommand()
417 MachO::symtab_command Symtab = SymtabOrErr.get(); in checkSymtabCommand()
418 if (Symtab.cmdsize != sizeof(MachO::symtab_command)) in checkSymtabCommand()
429 SymtabSize *= sizeof(MachO::nlist_64); in checkSymtabCommand()
432 SymtabSize *= sizeof(MachO::nlist); in checkSymtabCommand()
467 if (Load.C.cmdsize < sizeof(MachO::dysymtab_command)) in checkDysymtabCommand()
473 getStructOrErr<MachO::dysymtab_command>(Obj, Load.Ptr); in checkDysymtabCommand()
476 MachO::dysymtab_command Dysymtab = DysymtabOrErr.get(); in checkDysymtabCommand()
477 if (Dysymtab.cmdsize != sizeof(MachO::dysymtab_command)) in checkDysymtabCommand()
486 BigSize *= sizeof(MachO::dylib_table_of_contents); in checkDysymtabCommand()
495 MachO::dylib_table_of_contents), in checkDysymtabCommand()
506 sizeof_modtab = sizeof(MachO::dylib_module_64); in checkDysymtabCommand()
509 sizeof_modtab = sizeof(MachO::dylib_module); in checkDysymtabCommand()
528 BigSize *= sizeof(MachO::dylib_reference); in checkDysymtabCommand()
537 sizeof(MachO::dylib_reference), in checkDysymtabCommand()
562 BigSize *= sizeof(MachO::relocation_info); in checkDysymtabCommand()
571 sizeof(MachO::relocation_info), in checkDysymtabCommand()
579 BigSize *= sizeof(MachO::relocation_info); in checkDysymtabCommand()
588 sizeof(MachO::relocation_info), in checkDysymtabCommand()
601 if (Load.C.cmdsize < sizeof(MachO::linkedit_data_command)) in checkLinkeditDataCommand()
607 getStructOrErr<MachO::linkedit_data_command>(Obj, Load.Ptr); in checkLinkeditDataCommand()
610 MachO::linkedit_data_command LinkData = LinkDataOrError.get(); in checkLinkeditDataCommand()
611 if (LinkData.cmdsize != sizeof(MachO::linkedit_data_command)) in checkLinkeditDataCommand()
638 if (Load.C.cmdsize < sizeof(MachO::dyld_info_command)) in checkDyldInfoCommand()
645 getStructOrErr<MachO::dyld_info_command>(Obj, Load.Ptr); in checkDyldInfoCommand()
648 MachO::dyld_info_command DyldInfo = DyldInfoOrErr.get(); in checkDyldInfoCommand()
649 if (DyldInfo.cmdsize != sizeof(MachO::dyld_info_command)) in checkDyldInfoCommand()
735 if (Load.C.cmdsize < sizeof(MachO::dylib_command)) in checkDylibCommand()
738 auto CommandOrErr = getStructOrErr<MachO::dylib_command>(Obj, Load.Ptr); in checkDylibCommand()
741 MachO::dylib_command D = CommandOrErr.get(); in checkDylibCommand()
742 if (D.dylib.name < sizeof(MachO::dylib_command)) in checkDylibCommand()
773 if (Obj.getHeader().filetype != MachO::MH_DYLIB && in checkDylibIdCommand()
774 Obj.getHeader().filetype != MachO::MH_DYLIB_STUB) in checkDylibIdCommand()
784 if (Load.C.cmdsize < sizeof(MachO::dylinker_command)) in checkDyldCommand()
787 auto CommandOrErr = getStructOrErr<MachO::dylinker_command>(Obj, Load.Ptr); in checkDyldCommand()
790 MachO::dylinker_command D = CommandOrErr.get(); in checkDyldCommand()
791 if (D.name < sizeof(MachO::dylinker_command)) in checkDyldCommand()
817 if (Load.C.cmdsize != sizeof(MachO::version_min_command)) in checkVersCommand()
832 if (Load.C.cmdsize != sizeof(MachO::note_command)) in checkNoteCommand()
835 auto NoteCmdOrErr = getStructOrErr<MachO::note_command>(Obj, Load.Ptr); in checkNoteCommand()
838 MachO::note_command Nt = NoteCmdOrErr.get(); in checkNoteCommand()
862 getStructOrErr<MachO::build_version_command>(Obj, Load.Ptr); in parseBuildVersionCommand()
865 MachO::build_version_command BVC = BVCOrErr.get(); in parseBuildVersionCommand()
867 sizeof(MachO::build_version_command) + in parseBuildVersionCommand()
868 BVC.ntools * sizeof(MachO::build_tool_version)) in parseBuildVersionCommand()
872 auto Start = Load.Ptr + sizeof(MachO::build_version_command); in parseBuildVersionCommand()
875 BuildTools[i] = Start + i * sizeof(MachO::build_tool_version); in parseBuildVersionCommand()
883 if (Load.C.cmdsize < sizeof(MachO::rpath_command)) in checkRpathCommand()
886 auto ROrErr = getStructOrErr<MachO::rpath_command>(Obj, Load.Ptr); in checkRpathCommand()
889 MachO::rpath_command R = ROrErr.get(); in checkRpathCommand()
890 if (R.path < sizeof(MachO::rpath_command)) in checkRpathCommand()
939 if (Load.C.cmdsize < sizeof(MachO::linker_option_command)) in checkLinkerOptCommand()
943 getStructOrErr<MachO::linker_option_command>(Obj, Load.Ptr); in checkLinkerOptCommand()
946 MachO::linker_option_command L = LinkOptionOrErr.get(); in checkLinkerOptCommand()
949 sizeof(struct MachO::linker_option_command); in checkLinkerOptCommand()
950 uint32_t left = L.cmdsize - sizeof(struct MachO::linker_option_command); in checkLinkerOptCommand()
1007 if (Load.C.cmdsize < sizeof(MachO::thread_command)) in checkThreadCommand()
1011 getStructOrErr<MachO::thread_command>(Obj, Load.Ptr); in checkThreadCommand()
1014 MachO::thread_command T = ThreadCommandOrErr.get(); in checkThreadCommand()
1015 const char *state = Load.Ptr + sizeof(MachO::thread_command); in checkThreadCommand()
1040 if (cputype == MachO::CPU_TYPE_I386) { in checkThreadCommand()
1041 if (flavor == MachO::x86_THREAD_STATE32) { in checkThreadCommand()
1042 if (count != MachO::x86_THREAD_STATE32_COUNT) in checkThreadCommand()
1048 if (state + sizeof(MachO::x86_thread_state32_t) > end) in checkThreadCommand()
1052 state += sizeof(MachO::x86_thread_state32_t); in checkThreadCommand()
1059 } else if (cputype == MachO::CPU_TYPE_X86_64) { in checkThreadCommand()
1060 if (flavor == MachO::x86_THREAD_STATE) { in checkThreadCommand()
1061 if (count != MachO::x86_THREAD_STATE_COUNT) in checkThreadCommand()
1067 if (state + sizeof(MachO::x86_thread_state_t) > end) in checkThreadCommand()
1071 state += sizeof(MachO::x86_thread_state_t); in checkThreadCommand()
1072 } else if (flavor == MachO::x86_FLOAT_STATE) { in checkThreadCommand()
1073 if (count != MachO::x86_FLOAT_STATE_COUNT) in checkThreadCommand()
1079 if (state + sizeof(MachO::x86_float_state_t) > end) in checkThreadCommand()
1083 state += sizeof(MachO::x86_float_state_t); in checkThreadCommand()
1084 } else if (flavor == MachO::x86_EXCEPTION_STATE) { in checkThreadCommand()
1085 if (count != MachO::x86_EXCEPTION_STATE_COUNT) in checkThreadCommand()
1091 if (state + sizeof(MachO::x86_exception_state_t) > end) in checkThreadCommand()
1095 state += sizeof(MachO::x86_exception_state_t); in checkThreadCommand()
1096 } else if (flavor == MachO::x86_THREAD_STATE64) { in checkThreadCommand()
1097 if (count != MachO::x86_THREAD_STATE64_COUNT) in checkThreadCommand()
1103 if (state + sizeof(MachO::x86_thread_state64_t) > end) in checkThreadCommand()
1107 state += sizeof(MachO::x86_thread_state64_t); in checkThreadCommand()
1108 } else if (flavor == MachO::x86_EXCEPTION_STATE64) { in checkThreadCommand()
1109 if (count != MachO::x86_EXCEPTION_STATE64_COUNT) in checkThreadCommand()
1115 if (state + sizeof(MachO::x86_exception_state64_t) > end) in checkThreadCommand()
1119 state += sizeof(MachO::x86_exception_state64_t); in checkThreadCommand()
1126 } else if (cputype == MachO::CPU_TYPE_ARM) { in checkThreadCommand()
1127 if (flavor == MachO::ARM_THREAD_STATE) { in checkThreadCommand()
1128 if (count != MachO::ARM_THREAD_STATE_COUNT) in checkThreadCommand()
1134 if (state + sizeof(MachO::arm_thread_state32_t) > end) in checkThreadCommand()
1138 state += sizeof(MachO::arm_thread_state32_t); in checkThreadCommand()
1145 } else if (cputype == MachO::CPU_TYPE_ARM64 || in checkThreadCommand()
1146 cputype == MachO::CPU_TYPE_ARM64_32) { in checkThreadCommand()
1147 if (flavor == MachO::ARM_THREAD_STATE64) { in checkThreadCommand()
1148 if (count != MachO::ARM_THREAD_STATE64_COUNT) in checkThreadCommand()
1154 if (state + sizeof(MachO::arm_thread_state64_t) > end) in checkThreadCommand()
1158 state += sizeof(MachO::arm_thread_state64_t); in checkThreadCommand()
1165 } else if (cputype == MachO::CPU_TYPE_POWERPC) { in checkThreadCommand()
1166 if (flavor == MachO::PPC_THREAD_STATE) { in checkThreadCommand()
1167 if (count != MachO::PPC_THREAD_STATE_COUNT) in checkThreadCommand()
1173 if (state + sizeof(MachO::ppc_thread_state32_t) > end) in checkThreadCommand()
1177 state += sizeof(MachO::ppc_thread_state32_t); in checkThreadCommand()
1200 if (Load.C.cmdsize != sizeof(MachO::twolevel_hints_command)) in checkTwoLevelHintsCommand()
1205 auto HintsOrErr = getStructOrErr<MachO::twolevel_hints_command>(Obj, Load.Ptr); in checkTwoLevelHintsCommand()
1208 MachO::twolevel_hints_command Hints = HintsOrErr.get(); in checkTwoLevelHintsCommand()
1215 BigSize *= sizeof(MachO::twolevel_hint); in checkTwoLevelHintsCommand()
1223 sizeof(MachO::twolevel_hint), in checkTwoLevelHintsCommand()
1234 if (cmd == MachO::LC_SYMSEG || in isLoadCommandObsolete()
1235 cmd == MachO::LC_LOADFVMLIB || in isLoadCommandObsolete()
1236 cmd == MachO::LC_IDFVMLIB || in isLoadCommandObsolete()
1237 cmd == MachO::LC_IDENT || in isLoadCommandObsolete()
1238 cmd == MachO::LC_FVMFILE || in isLoadCommandObsolete()
1239 cmd == MachO::LC_PREPAGE || in isLoadCommandObsolete()
1240 cmd == MachO::LC_PREBOUND_DYLIB || in isLoadCommandObsolete()
1241 cmd == MachO::LC_TWOLEVEL_HINTS || in isLoadCommandObsolete()
1242 cmd == MachO::LC_PREBIND_CKSUM) in isLoadCommandObsolete()
1271 SizeOfHeaders = sizeof(MachO::mach_header_64); in MachOObjectFile()
1275 SizeOfHeaders = sizeof(MachO::mach_header); in MachOObjectFile()
1322 if (getHeader().filetype != MachO::MH_CORE || in MachOObjectFile()
1323 Load.C.cmd != MachO::LC_THREAD || Load.C.cmdsize % 4) { in MachOObjectFile()
1337 if (Load.C.cmd == MachO::LC_SYMTAB) { in MachOObjectFile()
1340 } else if (Load.C.cmd == MachO::LC_DYSYMTAB) { in MachOObjectFile()
1344 } else if (Load.C.cmd == MachO::LC_DATA_IN_CODE) { in MachOObjectFile()
1349 } else if (Load.C.cmd == MachO::LC_LINKER_OPTIMIZATION_HINT) { in MachOObjectFile()
1355 } else if (Load.C.cmd == MachO::LC_FUNCTION_STARTS) { in MachOObjectFile()
1360 } else if (Load.C.cmd == MachO::LC_SEGMENT_SPLIT_INFO) { in MachOObjectFile()
1365 } else if (Load.C.cmd == MachO::LC_DYLIB_CODE_SIGN_DRS) { in MachOObjectFile()
1370 } else if (Load.C.cmd == MachO::LC_CODE_SIGNATURE) { in MachOObjectFile()
1375 } else if (Load.C.cmd == MachO::LC_DYLD_INFO) { in MachOObjectFile()
1379 } else if (Load.C.cmd == MachO::LC_DYLD_INFO_ONLY) { in MachOObjectFile()
1383 } else if (Load.C.cmd == MachO::LC_DYLD_CHAINED_FIXUPS) { in MachOObjectFile()
1388 } else if (Load.C.cmd == MachO::LC_UUID) { in MachOObjectFile()
1389 if (Load.C.cmdsize != sizeof(MachO::uuid_command)) { in MachOObjectFile()
1399 } else if (Load.C.cmd == MachO::LC_SEGMENT_64) { in MachOObjectFile()
1400 if ((Err = parseSegmentLoadCommand<MachO::segment_command_64, in MachOObjectFile()
1401 MachO::section_64>( in MachOObjectFile()
1405 } else if (Load.C.cmd == MachO::LC_SEGMENT) { in MachOObjectFile()
1406 if ((Err = parseSegmentLoadCommand<MachO::segment_command, in MachOObjectFile()
1407 MachO::section>( in MachOObjectFile()
1411 } else if (Load.C.cmd == MachO::LC_ID_DYLIB) { in MachOObjectFile()
1414 } else if (Load.C.cmd == MachO::LC_LOAD_DYLIB) { in MachOObjectFile()
1418 } else if (Load.C.cmd == MachO::LC_LOAD_WEAK_DYLIB) { in MachOObjectFile()
1422 } else if (Load.C.cmd == MachO::LC_LAZY_LOAD_DYLIB) { in MachOObjectFile()
1426 } else if (Load.C.cmd == MachO::LC_REEXPORT_DYLIB) { in MachOObjectFile()
1430 } else if (Load.C.cmd == MachO::LC_LOAD_UPWARD_DYLIB) { in MachOObjectFile()
1434 } else if (Load.C.cmd == MachO::LC_ID_DYLINKER) { in MachOObjectFile()
1437 } else if (Load.C.cmd == MachO::LC_LOAD_DYLINKER) { in MachOObjectFile()
1440 } else if (Load.C.cmd == MachO::LC_DYLD_ENVIRONMENT) { in MachOObjectFile()
1443 } else if (Load.C.cmd == MachO::LC_VERSION_MIN_MACOSX) { in MachOObjectFile()
1447 } else if (Load.C.cmd == MachO::LC_VERSION_MIN_IPHONEOS) { in MachOObjectFile()
1451 } else if (Load.C.cmd == MachO::LC_VERSION_MIN_TVOS) { in MachOObjectFile()
1455 } else if (Load.C.cmd == MachO::LC_VERSION_MIN_WATCHOS) { in MachOObjectFile()
1459 } else if (Load.C.cmd == MachO::LC_NOTE) { in MachOObjectFile()
1462 } else if (Load.C.cmd == MachO::LC_BUILD_VERSION) { in MachOObjectFile()
1465 } else if (Load.C.cmd == MachO::LC_RPATH) { in MachOObjectFile()
1468 } else if (Load.C.cmd == MachO::LC_SOURCE_VERSION) { in MachOObjectFile()
1469 if (Load.C.cmdsize != sizeof(MachO::source_version_command)) { in MachOObjectFile()
1479 } else if (Load.C.cmd == MachO::LC_MAIN) { in MachOObjectFile()
1480 if (Load.C.cmdsize != sizeof(MachO::entry_point_command)) { in MachOObjectFile()
1490 } else if (Load.C.cmd == MachO::LC_ENCRYPTION_INFO) { in MachOObjectFile()
1491 if (Load.C.cmdsize != sizeof(MachO::encryption_info_command)) { in MachOObjectFile()
1496 MachO::encryption_info_command E = in MachOObjectFile()
1497 getStruct<MachO::encryption_info_command>(*this, Load.Ptr); in MachOObjectFile()
1501 } else if (Load.C.cmd == MachO::LC_ENCRYPTION_INFO_64) { in MachOObjectFile()
1502 if (Load.C.cmdsize != sizeof(MachO::encryption_info_command_64)) { in MachOObjectFile()
1507 MachO::encryption_info_command_64 E = in MachOObjectFile()
1508 getStruct<MachO::encryption_info_command_64>(*this, Load.Ptr); in MachOObjectFile()
1512 } else if (Load.C.cmd == MachO::LC_LINKER_OPTION) { in MachOObjectFile()
1515 } else if (Load.C.cmd == MachO::LC_SUB_FRAMEWORK) { in MachOObjectFile()
1516 if (Load.C.cmdsize < sizeof(MachO::sub_framework_command)) { in MachOObjectFile()
1521 MachO::sub_framework_command S = in MachOObjectFile()
1522 getStruct<MachO::sub_framework_command>(*this, Load.Ptr); in MachOObjectFile()
1524 sizeof(MachO::sub_framework_command), in MachOObjectFile()
1528 } else if (Load.C.cmd == MachO::LC_SUB_UMBRELLA) { in MachOObjectFile()
1529 if (Load.C.cmdsize < sizeof(MachO::sub_umbrella_command)) { in MachOObjectFile()
1534 MachO::sub_umbrella_command S = in MachOObjectFile()
1535 getStruct<MachO::sub_umbrella_command>(*this, Load.Ptr); in MachOObjectFile()
1537 sizeof(MachO::sub_umbrella_command), in MachOObjectFile()
1541 } else if (Load.C.cmd == MachO::LC_SUB_LIBRARY) { in MachOObjectFile()
1542 if (Load.C.cmdsize < sizeof(MachO::sub_library_command)) { in MachOObjectFile()
1547 MachO::sub_library_command S = in MachOObjectFile()
1548 getStruct<MachO::sub_library_command>(*this, Load.Ptr); in MachOObjectFile()
1550 sizeof(MachO::sub_library_command), in MachOObjectFile()
1554 } else if (Load.C.cmd == MachO::LC_SUB_CLIENT) { in MachOObjectFile()
1555 if (Load.C.cmdsize < sizeof(MachO::sub_client_command)) { in MachOObjectFile()
1560 MachO::sub_client_command S = in MachOObjectFile()
1561 getStruct<MachO::sub_client_command>(*this, Load.Ptr); in MachOObjectFile()
1563 sizeof(MachO::sub_client_command), in MachOObjectFile()
1566 } else if (Load.C.cmd == MachO::LC_ROUTINES) { in MachOObjectFile()
1567 if (Load.C.cmdsize != sizeof(MachO::routines_command)) { in MachOObjectFile()
1578 } else if (Load.C.cmd == MachO::LC_ROUTINES_64) { in MachOObjectFile()
1579 if (Load.C.cmdsize != sizeof(MachO::routines_command_64)) { in MachOObjectFile()
1590 } else if (Load.C.cmd == MachO::LC_UNIXTHREAD) { in MachOObjectFile()
1598 } else if (Load.C.cmd == MachO::LC_THREAD) { in MachOObjectFile()
1602 } else if (Load.C.cmd == MachO::LC_TWOLEVEL_HINTS) { in MachOObjectFile()
1606 } else if (Load.C.cmd == MachO::LC_IDENT) { in MachOObjectFile()
1634 MachO::symtab_command Symtab = in MachOObjectFile()
1635 getStruct<MachO::symtab_command>(*this, SymtabLoadCmd); in MachOObjectFile()
1636 MachO::dysymtab_command Dysymtab = in MachOObjectFile()
1637 getStruct<MachO::dysymtab_command>(*this, DysymtabLoadCmd); in MachOObjectFile()
1676 if ((getHeader().filetype == MachO::MH_DYLIB || in MachOObjectFile()
1677 getHeader().filetype == MachO::MH_DYLIB_STUB) && in MachOObjectFile()
1691 MachO::mach_header_64 H_64 = MachOObjectFile::getHeader64(); in checkSymbolTable()
1694 MachO::mach_header H = MachOObjectFile::getHeader(); in checkSymbolTable()
1703 MachO::symtab_command S = getSymtabLoadCommand(); in checkSymbolTable()
1707 MachO::nlist_64 STE_64 = getSymbol64TableEntry(SymDRI); in checkSymbolTable()
1714 MachO::nlist STE = getSymbolTableEntry(SymDRI); in checkSymbolTable()
1721 if ((NType & MachO::N_STAB) == 0) { in checkSymbolTable()
1722 if ((NType & MachO::N_TYPE) == MachO::N_SECT) { in checkSymbolTable()
1727 if ((NType & MachO::N_TYPE) == MachO::N_INDR) { in checkSymbolTable()
1733 if ((Flags & MachO::MH_TWOLEVEL) == MachO::MH_TWOLEVEL && in checkSymbolTable()
1734 (((NType & MachO::N_TYPE) == MachO::N_UNDF && NValue == 0) || in checkSymbolTable()
1735 (NType & MachO::N_TYPE) == MachO::N_PBUD)) { in checkSymbolTable()
1736 uint32_t LibraryOrdinal = MachO::GET_LIBRARY_ORDINAL(NDesc); in checkSymbolTable()
1738 LibraryOrdinal != MachO::EXECUTABLE_ORDINAL && in checkSymbolTable()
1739 LibraryOrdinal != MachO::DYNAMIC_LOOKUP_ORDINAL && in checkSymbolTable()
1757 sizeof(MachO::nlist_64) : in moveSymbolNext()
1758 sizeof(MachO::nlist); in moveSymbolNext()
1764 MachO::nlist_base Entry = getSymbolTableEntryBase(*this, Symb); in getSymbolName()
1780 return Flags & MachO::SECTION_TYPE; in getSectionType()
1785 MachO::nlist_64 Entry = getSymbol64TableEntry(Sym); in getNValue()
1788 MachO::nlist Entry = getSymbolTableEntry(Sym); in getNValue()
1797 MachO::nlist_base Entry = getSymbolTableEntryBase(*this, Symb); in getIndirectName()
1798 if ((Entry.n_type & MachO::N_TYPE) != MachO::N_INDR) in getIndirectName()
1819 MachO::nlist_base Entry = getSymbolTableEntryBase(*this, DRI); in getSymbolAlignment()
1820 return 1 << MachO::GET_COMM_ALIGN(Entry.n_desc); in getSymbolAlignment()
1831 MachO::nlist_base Entry = getSymbolTableEntryBase(*this, Symb); in getSymbolType()
1835 if (n_type & MachO::N_STAB) in getSymbolType()
1838 switch (n_type & MachO::N_TYPE) { in getSymbolType()
1839 case MachO::N_UNDF : in getSymbolType()
1841 case MachO::N_SECT : in getSymbolType()
1856 MachO::nlist_base Entry = getSymbolTableEntryBase(*this, DRI); in getSymbolFlags()
1863 if ((MachOType & MachO::N_TYPE) == MachO::N_INDR) in getSymbolFlags()
1866 if (MachOType & MachO::N_STAB) in getSymbolFlags()
1869 if (MachOType & MachO::N_EXT) { in getSymbolFlags()
1871 if ((MachOType & MachO::N_TYPE) == MachO::N_UNDF) { in getSymbolFlags()
1878 if (!(MachOType & MachO::N_PEXT)) in getSymbolFlags()
1882 if (MachOFlags & (MachO::N_WEAK_REF | MachO::N_WEAK_DEF)) in getSymbolFlags()
1885 if (MachOFlags & (MachO::N_ARM_THUMB_DEF)) in getSymbolFlags()
1888 if ((MachOType & MachO::N_TYPE) == MachO::N_ABS) in getSymbolFlags()
1896 MachO::nlist_base Entry = getSymbolTableEntryBase(*this, Symb); in getSymbolSection()
1911 MachO::nlist_base Entry = in getSymbolSectionID()
1944 MachO::section_64 Sect = getSection64(Sec); in getSectionSize()
1947 SectType = Sect.flags & MachO::SECTION_TYPE; in getSectionSize()
1949 MachO::section Sect = getSection(Sec); in getSectionSize()
1952 SectType = Sect.flags & MachO::SECTION_TYPE; in getSectionSize()
1954 if (SectType == MachO::S_ZEROFILL || SectType == MachO::S_GB_ZEROFILL) in getSectionSize()
1975 MachO::section_64 Sect = getSection64(Sec); in getSectionContents()
1979 MachO::section Sect = getSection(Sec); in getSectionContents()
1990 MachO::section_64 Sect = getSection64(Sec); in getSectionAlignment()
1993 MachO::section Sect = getSection(Sec); in getSectionAlignment()
2026 return Flags & MachO::S_ATTR_PURE_INSTRUCTIONS; in isSectionText()
2031 unsigned SectionType = Flags & MachO::SECTION_TYPE; in isSectionData()
2032 return !(Flags & MachO::S_ATTR_PURE_INSTRUCTIONS) && in isSectionData()
2033 !(SectionType == MachO::S_ZEROFILL || in isSectionData()
2034 SectionType == MachO::S_GB_ZEROFILL); in isSectionData()
2039 unsigned SectionType = Flags & MachO::SECTION_TYPE; in isSectionBSS()
2040 return !(Flags & MachO::S_ATTR_PURE_INSTRUCTIONS) && in isSectionBSS()
2041 (SectionType == MachO::S_ZEROFILL || in isSectionBSS()
2042 SectionType == MachO::S_GB_ZEROFILL); in isSectionBSS()
2082 case MachO::LC_SEGMENT: in getSegmentContents()
2083 Contents = ::getSegmentContents<MachO::segment_command>(*this, LoadCmd, in getSegmentContents()
2086 case MachO::LC_SEGMENT_64: in getSegmentContents()
2087 Contents = ::getSegmentContents<MachO::segment_command_64>(*this, LoadCmd, in getSegmentContents()
2105 unsigned SectionType = Flags & MachO::SECTION_TYPE; in isSectionVirtual()
2106 return SectionType == MachO::S_ZEROFILL || in isSectionVirtual()
2107 SectionType == MachO::S_GB_ZEROFILL; in isSectionVirtual()
2134 MachO::section_64 Sect = getSection64(Sec); in section_rel_end()
2137 MachO::section Sect = getSection(Sec); in section_rel_end()
2156 MachO::dysymtab_command DysymtabLoadCmd = getDysymtabLoadCommand(); in extrel_end()
2173 MachO::dysymtab_command DysymtabLoadCmd = getDysymtabLoadCommand(); in locrel_end()
2186 assert((getHeader().filetype == MachO::MH_OBJECT || in getRelocationOffset()
2187 getHeader().filetype == MachO::MH_KEXT_BUNDLE) && in getRelocationOffset()
2189 MachO::any_relocation_info RE = getRelocation(Rel); in getRelocationOffset()
2195 MachO::any_relocation_info RE = getRelocation(Rel); in getRelocationSymbol()
2204 MachO::symtab_command S = getSymtabLoadCommand(); in getRelocationSymbol()
2206 sizeof(MachO::nlist_64) : in getRelocationSymbol()
2207 sizeof(MachO::nlist); in getRelocationSymbol()
2220 MachO::any_relocation_info RE = getRelocation(Rel); in getRelocationType()
2335 MachO::any_relocation_info RE = getRelocation(Rel); in getRelocationLength()
2511 getStructOrErr<MachO::dylib_command>(*this, Libraries[i]); in getLibraryShortNameByIndex()
2514 MachO::dylib_command D = CommandOrErr.get(); in getLibraryShortNameByIndex()
2548 MachO::symtab_command Symtab = getSymtabLoadCommand(); in symbol_begin()
2557 MachO::symtab_command Symtab = getSymtabLoadCommand(); in symbol_end()
2562 sizeof(MachO::nlist_64) : in symbol_end()
2563 sizeof(MachO::nlist); in symbol_end()
2571 MachO::symtab_command Symtab = getSymtabLoadCommand(); in getSymbolByIndex()
2575 is64Bit() ? sizeof(MachO::nlist_64) : sizeof(MachO::nlist); in getSymbolByIndex()
2583 MachO::symtab_command Symtab = getSymtabLoadCommand(); in getSymbolIndex()
2587 is64Bit() ? sizeof(MachO::nlist_64) : sizeof(MachO::nlist); in getSymbolIndex()
2613 case MachO::CPU_TYPE_I386: in getFileFormatName()
2615 case MachO::CPU_TYPE_ARM: in getFileFormatName()
2617 case MachO::CPU_TYPE_ARM64_32: in getFileFormatName()
2619 case MachO::CPU_TYPE_POWERPC: in getFileFormatName()
2627 case MachO::CPU_TYPE_X86_64: in getFileFormatName()
2629 case MachO::CPU_TYPE_ARM64: in getFileFormatName()
2631 case MachO::CPU_TYPE_POWERPC64: in getFileFormatName()
2640 case MachO::CPU_TYPE_I386: in getArch()
2642 case MachO::CPU_TYPE_X86_64: in getArch()
2644 case MachO::CPU_TYPE_ARM: in getArch()
2646 case MachO::CPU_TYPE_ARM64: in getArch()
2648 case MachO::CPU_TYPE_ARM64_32: in getArch()
2650 case MachO::CPU_TYPE_POWERPC: in getArch()
2652 case MachO::CPU_TYPE_POWERPC64: in getArch()
2668 case MachO::CPU_TYPE_I386: in getArchTriple()
2669 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2670 case MachO::CPU_SUBTYPE_I386_ALL: in getArchTriple()
2677 case MachO::CPU_TYPE_X86_64: in getArchTriple()
2678 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2679 case MachO::CPU_SUBTYPE_X86_64_ALL: in getArchTriple()
2683 case MachO::CPU_SUBTYPE_X86_64_H: in getArchTriple()
2690 case MachO::CPU_TYPE_ARM: in getArchTriple()
2691 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2692 case MachO::CPU_SUBTYPE_ARM_V4T: in getArchTriple()
2696 case MachO::CPU_SUBTYPE_ARM_V5TEJ: in getArchTriple()
2700 case MachO::CPU_SUBTYPE_ARM_XSCALE: in getArchTriple()
2704 case MachO::CPU_SUBTYPE_ARM_V6: in getArchTriple()
2708 case MachO::CPU_SUBTYPE_ARM_V6M: in getArchTriple()
2714 case MachO::CPU_SUBTYPE_ARM_V7: in getArchTriple()
2718 case MachO::CPU_SUBTYPE_ARM_V7EM: in getArchTriple()
2724 case MachO::CPU_SUBTYPE_ARM_V7K: in getArchTriple()
2730 case MachO::CPU_SUBTYPE_ARM_V7M: in getArchTriple()
2736 case MachO::CPU_SUBTYPE_ARM_V7S: in getArchTriple()
2745 case MachO::CPU_TYPE_ARM64: in getArchTriple()
2746 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2747 case MachO::CPU_SUBTYPE_ARM64_ALL: in getArchTriple()
2753 case MachO::CPU_SUBTYPE_ARM64E: in getArchTriple()
2762 case MachO::CPU_TYPE_ARM64_32: in getArchTriple()
2763 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2764 case MachO::CPU_SUBTYPE_ARM64_32_V8: in getArchTriple()
2773 case MachO::CPU_TYPE_POWERPC: in getArchTriple()
2774 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2775 case MachO::CPU_SUBTYPE_POWERPC_ALL: in getArchTriple()
2782 case MachO::CPU_TYPE_POWERPC64: in getArchTriple()
2783 switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { in getArchTriple()
2784 case MachO::CPU_SUBTYPE_POWERPC_ALL: in getArchTriple()
2855 MachO::linkedit_data_command DicLC = getDataInCodeLoadCommand(); in begin_dices()
2865 MachO::linkedit_data_command DicLC = getDataInCodeLoadCommand(); in end_dices()
2977 uint64_t Kind = State.Flags & MachO::EXPORT_SYMBOL_FLAGS_KIND_MASK; in pushNode()
2979 (Kind != MachO::EXPORT_SYMBOL_FLAGS_KIND_REGULAR && in pushNode()
2980 Kind != MachO::EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE && in pushNode()
2981 Kind != MachO::EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL)) { in pushNode()
2989 if (State.Flags & MachO::EXPORT_SYMBOL_FLAGS_REEXPORT) { in pushNode()
3045 if (State.Flags & MachO::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER) { in pushNode()
3200 if (Command.C.cmd == MachO::LC_SEGMENT) { in MachOAbstractFixupEntry()
3201 MachO::segment_command SLC = O->getSegmentLoadCommand(Command); in MachOAbstractFixupEntry()
3206 } else if (Command.C.cmd == MachO::LC_SEGMENT_64) { in MachOAbstractFixupEntry()
3207 MachO::segment_command_64 SLC_64 = O->getSegment64LoadCommand(Command); in MachOAbstractFixupEntry()
3331 uint8_t ImmValue = Byte & MachO::REBASE_IMMEDIATE_MASK; in moveNext()
3332 uint8_t Opcode = Byte & MachO::REBASE_OPCODE_MASK; in moveNext()
3336 case MachO::REBASE_OPCODE_DONE: in moveNext()
3342 case MachO::REBASE_OPCODE_SET_TYPE_IMM: in moveNext()
3344 if (RebaseType > MachO::REBASE_TYPE_TEXT_PCREL32) { in moveNext()
3356 case MachO::REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: in moveNext()
3382 case MachO::REBASE_OPCODE_ADD_ADDR_ULEB: in moveNext()
3405 case MachO::REBASE_OPCODE_ADD_ADDR_IMM_SCALED: in moveNext()
3421 case MachO::REBASE_OPCODE_DO_REBASE_IMM_TIMES: in moveNext()
3446 case MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES: in moveNext()
3478 case MachO::REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB: in moveNext()
3507 case MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB: in moveNext()
3575 case MachO::REBASE_TYPE_POINTER: in typeName()
3577 case MachO::REBASE_TYPE_TEXT_ABSOLUTE32: in typeName()
3579 case MachO::REBASE_TYPE_TEXT_PCREL32: in typeName()
3668 uint8_t ImmValue = Byte & MachO::BIND_IMMEDIATE_MASK; in moveNext()
3669 uint8_t Opcode = Byte & MachO::BIND_OPCODE_MASK; in moveNext()
3675 case MachO::BIND_OPCODE_DONE: in moveNext()
3692 case MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_IMM: in moveNext()
3717 case MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB: in moveNext()
3749 case MachO::BIND_OPCODE_SET_DYLIB_SPECIAL_IMM: in moveNext()
3758 SignExtended = MachO::BIND_OPCODE_MASK | ImmValue; in moveNext()
3760 if (Ordinal < MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP) { in moveNext()
3776 case MachO::BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM: in moveNext()
3798 if (ImmValue & MachO::BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION) in moveNext()
3802 case MachO::BIND_OPCODE_SET_TYPE_IMM: in moveNext()
3804 if (ImmValue > MachO::BIND_TYPE_TEXT_PCREL32) { in moveNext()
3816 case MachO::BIND_OPCODE_SET_ADDEND_SLEB: in moveNext()
3830 case MachO::BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: in moveNext()
3856 case MachO::BIND_OPCODE_ADD_ADDR_ULEB: in moveNext()
3879 case MachO::BIND_OPCODE_DO_BIND: in moveNext()
3912 case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB: in moveNext()
3976 case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED: in moveNext()
4018 case MachO::BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB: in moveNext()
4119 case MachO::BIND_TYPE_POINTER: in typeName()
4121 case MachO::BIND_TYPE_TEXT_ABSOLUTE32: in typeName()
4123 case MachO::BIND_TYPE_TEXT_PCREL32: in typeName()
4351 MachOObjectFile::isRelocationScattered(const MachO::any_relocation_info &RE) in isRelocationScattered()
4353 if (getCPUType(*this) == MachO::CPU_TYPE_X86_64) in isRelocationScattered()
4355 return getPlainRelocationAddress(RE) & MachO::R_SCATTERED; in isRelocationScattered()
4359 const MachO::any_relocation_info &RE) const { in getPlainRelocationSymbolNum()
4366 const MachO::any_relocation_info &RE) const { in getPlainRelocationExternal()
4373 const MachO::any_relocation_info &RE) const { in getScatteredRelocationScattered()
4378 const MachO::any_relocation_info &RE) const { in getScatteredRelocationValue()
4383 const MachO::any_relocation_info &RE) const { in getScatteredRelocationType()
4388 const MachO::any_relocation_info &RE) const { in getAnyRelocationAddress()
4395 const MachO::any_relocation_info &RE) const { in getAnyRelocationPCRel()
4402 const MachO::any_relocation_info &RE) const { in getAnyRelocationLength()
4410 const MachO::any_relocation_info &RE) const { in getAnyRelocationType()
4418 const MachO::any_relocation_info &RE) const { in getAnyRelocationSection()
4422 if (SecNum == MachO::R_ABS || SecNum > Sections.size()) in getAnyRelocationSection()
4429 MachO::section MachOObjectFile::getSection(DataRefImpl DRI) const { in getSection()
4431 return getStruct<MachO::section>(*this, Sections[DRI.d.a]); in getSection()
4434 MachO::section_64 MachOObjectFile::getSection64(DataRefImpl DRI) const { in getSection64()
4436 return getStruct<MachO::section_64>(*this, Sections[DRI.d.a]); in getSection64()
4439 MachO::section MachOObjectFile::getSection(const LoadCommandInfo &L, in getSection()
4442 return getStruct<MachO::section>(*this, Sec); in getSection()
4445 MachO::section_64 MachOObjectFile::getSection64(const LoadCommandInfo &L, in getSection64()
4448 return getStruct<MachO::section_64>(*this, Sec); in getSection64()
4451 MachO::nlist
4454 return getStruct<MachO::nlist>(*this, P); in getSymbolTableEntry()
4457 MachO::nlist_64
4460 return getStruct<MachO::nlist_64>(*this, P); in getSymbol64TableEntry()
4463 MachO::linkedit_data_command
4465 return getStruct<MachO::linkedit_data_command>(*this, L.Ptr); in getLinkeditDataLoadCommand()
4468 MachO::segment_command
4470 return getStruct<MachO::segment_command>(*this, L.Ptr); in getSegmentLoadCommand()
4473 MachO::segment_command_64
4475 return getStruct<MachO::segment_command_64>(*this, L.Ptr); in getSegment64LoadCommand()
4478 MachO::linker_option_command
4480 return getStruct<MachO::linker_option_command>(*this, L.Ptr); in getLinkerOptionLoadCommand()
4483 MachO::version_min_command
4485 return getStruct<MachO::version_min_command>(*this, L.Ptr); in getVersionMinLoadCommand()
4488 MachO::note_command
4490 return getStruct<MachO::note_command>(*this, L.Ptr); in getNoteLoadCommand()
4493 MachO::build_version_command
4495 return getStruct<MachO::build_version_command>(*this, L.Ptr); in getBuildVersionLoadCommand()
4498 MachO::build_tool_version
4500 return getStruct<MachO::build_tool_version>(*this, BuildTools[index]); in getBuildToolVersion()
4503 MachO::dylib_command
4505 return getStruct<MachO::dylib_command>(*this, L.Ptr); in getDylibIDLoadCommand()
4508 MachO::dyld_info_command
4510 return getStruct<MachO::dyld_info_command>(*this, L.Ptr); in getDyldInfoLoadCommand()
4513 MachO::dylinker_command
4515 return getStruct<MachO::dylinker_command>(*this, L.Ptr); in getDylinkerCommand()
4518 MachO::uuid_command
4520 return getStruct<MachO::uuid_command>(*this, L.Ptr); in getUuidCommand()
4523 MachO::rpath_command
4525 return getStruct<MachO::rpath_command>(*this, L.Ptr); in getRpathCommand()
4528 MachO::source_version_command
4530 return getStruct<MachO::source_version_command>(*this, L.Ptr); in getSourceVersionCommand()
4533 MachO::entry_point_command
4535 return getStruct<MachO::entry_point_command>(*this, L.Ptr); in getEntryPointCommand()
4538 MachO::encryption_info_command
4540 return getStruct<MachO::encryption_info_command>(*this, L.Ptr); in getEncryptionInfoCommand()
4543 MachO::encryption_info_command_64
4545 return getStruct<MachO::encryption_info_command_64>(*this, L.Ptr); in getEncryptionInfoCommand64()
4548 MachO::sub_framework_command
4550 return getStruct<MachO::sub_framework_command>(*this, L.Ptr); in getSubFrameworkCommand()
4553 MachO::sub_umbrella_command
4555 return getStruct<MachO::sub_umbrella_command>(*this, L.Ptr); in getSubUmbrellaCommand()
4558 MachO::sub_library_command
4560 return getStruct<MachO::sub_library_command>(*this, L.Ptr); in getSubLibraryCommand()
4563 MachO::sub_client_command
4565 return getStruct<MachO::sub_client_command>(*this, L.Ptr); in getSubClientCommand()
4568 MachO::routines_command
4570 return getStruct<MachO::routines_command>(*this, L.Ptr); in getRoutinesCommand()
4573 MachO::routines_command_64
4575 return getStruct<MachO::routines_command_64>(*this, L.Ptr); in getRoutinesCommand64()
4578 MachO::thread_command
4580 return getStruct<MachO::thread_command>(*this, L.Ptr); in getThreadCommand()
4583 MachO::any_relocation_info
4586 if (getHeader().filetype == MachO::MH_OBJECT) { in getRelocation()
4590 MachO::section_64 Sect = getSection64(Sec); in getRelocation()
4593 MachO::section Sect = getSection(Sec); in getRelocation()
4597 MachO::dysymtab_command DysymtabLoadCmd = getDysymtabLoadCommand(); in getRelocation()
4604 auto P = reinterpret_cast<const MachO::any_relocation_info *>( in getRelocation()
4606 return getStruct<MachO::any_relocation_info>( in getRelocation()
4610 MachO::data_in_code_entry
4613 return getStruct<MachO::data_in_code_entry>(*this, P); in getDice()
4616 const MachO::mach_header &MachOObjectFile::getHeader() const { in getHeader()
4620 const MachO::mach_header_64 &MachOObjectFile::getHeader64() const { in getHeader64()
4626 const MachO::dysymtab_command &DLC, in getIndirectSymbolTableEntry()
4632 MachO::data_in_code_entry
4635 uint64_t Offset = DataOffset + Index * sizeof(MachO::data_in_code_entry); in getDataInCodeTableEntry()
4636 return getStruct<MachO::data_in_code_entry>(*this, getPtr(*this, Offset)); in getDataInCodeTableEntry()
4639 MachO::symtab_command MachOObjectFile::getSymtabLoadCommand() const { in getSymtabLoadCommand()
4641 return getStruct<MachO::symtab_command>(*this, SymtabLoadCmd); in getSymtabLoadCommand()
4644 MachO::symtab_command Cmd; in getSymtabLoadCommand()
4645 Cmd.cmd = MachO::LC_SYMTAB; in getSymtabLoadCommand()
4646 Cmd.cmdsize = sizeof(MachO::symtab_command); in getSymtabLoadCommand()
4654 MachO::dysymtab_command MachOObjectFile::getDysymtabLoadCommand() const { in getDysymtabLoadCommand()
4656 return getStruct<MachO::dysymtab_command>(*this, DysymtabLoadCmd); in getDysymtabLoadCommand()
4659 MachO::dysymtab_command Cmd; in getDysymtabLoadCommand()
4660 Cmd.cmd = MachO::LC_DYSYMTAB; in getDysymtabLoadCommand()
4661 Cmd.cmdsize = sizeof(MachO::dysymtab_command); in getDysymtabLoadCommand()
4683 MachO::linkedit_data_command
4686 return getStruct<MachO::linkedit_data_command>(*this, DataInCodeLoadCmd); in getDataInCodeLoadCommand()
4689 MachO::linkedit_data_command Cmd; in getDataInCodeLoadCommand()
4690 Cmd.cmd = MachO::LC_DATA_IN_CODE; in getDataInCodeLoadCommand()
4691 Cmd.cmdsize = sizeof(MachO::linkedit_data_command); in getDataInCodeLoadCommand()
4697 MachO::linkedit_data_command
4700 return getStruct<MachO::linkedit_data_command>(*this, LinkOptHintsLoadCmd); in getLinkOptHintsLoadCommand()
4704 MachO::linkedit_data_command Cmd; in getLinkOptHintsLoadCommand()
4705 Cmd.cmd = MachO::LC_LINKER_OPTIMIZATION_HINT; in getLinkOptHintsLoadCommand()
4706 Cmd.cmdsize = sizeof(MachO::linkedit_data_command); in getLinkOptHintsLoadCommand()
4717 getStructOrErr<MachO::dyld_info_command>(*this, DyldInfoLoadCmd); in getDyldInfoRebaseOpcodes()
4720 MachO::dyld_info_command DyldInfo = DyldInfoOrErr.get(); in getDyldInfoRebaseOpcodes()
4731 getStructOrErr<MachO::dyld_info_command>(*this, DyldInfoLoadCmd); in getDyldInfoBindOpcodes()
4734 MachO::dyld_info_command DyldInfo = DyldInfoOrErr.get(); in getDyldInfoBindOpcodes()
4745 getStructOrErr<MachO::dyld_info_command>(*this, DyldInfoLoadCmd); in getDyldInfoWeakBindOpcodes()
4748 MachO::dyld_info_command DyldInfo = DyldInfoOrErr.get(); in getDyldInfoWeakBindOpcodes()
4759 getStructOrErr<MachO::dyld_info_command>(*this, DyldInfoLoadCmd); in getDyldInfoLazyBindOpcodes()
4762 MachO::dyld_info_command DyldInfo = DyldInfoOrErr.get(); in getDyldInfoLazyBindOpcodes()
4768 Expected<Optional<MachO::dyld_chained_fixups_header>>
4773 auto DyldChainedFixupsOrErr = getStructOrErr<MachO::linkedit_data_command>( in getChainedFixupsHeader()
4777 MachO::linkedit_data_command DyldChainedFixups = DyldChainedFixupsOrErr.get(); in getChainedFixupsHeader()
4788 getStructOrErr<MachO::dyld_chained_fixups_header>(*this, CFHeaderPtr); in getChainedFixupsHeader()
4791 MachO::dyld_chained_fixups_header CFHeader = CFHeaderOrErr.get(); in getChainedFixupsHeader()
4806 if (CFHeader.starts_offset < sizeof(MachO::dyld_chained_fixups_header)) { in getChainedFixupsHeader()
4812 if (CFImageStartsOffset + sizeof(MachO::dyld_chained_starts_in_image) > in getChainedFixupsHeader()
4816 sizeof(MachO::dyld_chained_starts_in_image)) + in getChainedFixupsHeader()
4839 getStructOrErr<MachO::dyld_info_command>(*this, DyldInfoLoadCmd); in getDyldInfoExportsTrie()
4842 MachO::dyld_info_command DyldInfo = DyldInfoOrErr.get(); in getDyldInfoExportsTrie()
4853 getStructOrErr<MachO::linkedit_data_command>(*this, FuncStartsLoadCmd); in getFunctionStarts()
4857 MachO::linkedit_data_command Info = InfoOrErr.get(); in getFunctionStarts()
4867 const char *Ptr = UuidLoadCmd + offsetof(MachO::uuid_command, uuid); in getUuid()
4872 MachO::symtab_command S = getSymtabLoadCommand(); in getStringTableData()
4894 return getHeader().filetype == MachO::MH_OBJECT; in isRelocatableObject()
4982 return RelocType == MachO::GENERIC_RELOC_SECTDIFF || in isMachOPairedReloc()
4983 RelocType == MachO::GENERIC_RELOC_LOCAL_SECTDIFF; in isMachOPairedReloc()
4985 return RelocType == MachO::X86_64_RELOC_SUBTRACTOR; in isMachOPairedReloc()
4988 return RelocType == MachO::ARM_RELOC_SECTDIFF || in isMachOPairedReloc()
4989 RelocType == MachO::ARM_RELOC_LOCAL_SECTDIFF || in isMachOPairedReloc()
4990 RelocType == MachO::ARM_RELOC_HALF || in isMachOPairedReloc()
4991 RelocType == MachO::ARM_RELOC_HALF_SECTDIFF; in isMachOPairedReloc()
4993 return RelocType == MachO::ARM64_RELOC_SUBTRACTOR; in isMachOPairedReloc()