Lines Matching refs:MachO
92 { "Magic", MachO::MH_MAGIC },
93 { "Cigam", MachO::MH_CIGAM },
94 { "Magic64", MachO::MH_MAGIC_64 },
95 { "Cigam64", MachO::MH_CIGAM_64 },
96 { "FatMagic", MachO::FAT_MAGIC },
97 { "FatCigam", MachO::FAT_CIGAM },
101 { "Relocatable", MachO::MH_OBJECT },
102 { "Executable", MachO::MH_EXECUTE },
103 { "FixedVMLibrary", MachO::MH_FVMLIB },
104 { "Core", MachO::MH_CORE },
105 { "PreloadedExecutable", MachO::MH_PRELOAD },
106 { "DynamicLibrary", MachO::MH_DYLIB },
107 { "DynamicLinker", MachO::MH_DYLINKER },
108 { "Bundle", MachO::MH_BUNDLE },
109 { "DynamicLibraryStub", MachO::MH_DYLIB_STUB },
110 { "DWARFSymbol", MachO::MH_DSYM },
111 { "KextBundle", MachO::MH_KEXT_BUNDLE },
115 { "Any" , static_cast<uint32_t>(MachO::CPU_TYPE_ANY) },
116 { "X86" , MachO::CPU_TYPE_X86 },
117 { "X86-64" , MachO::CPU_TYPE_X86_64 },
118 { "Mc98000" , MachO::CPU_TYPE_MC98000 },
119 { "Arm" , MachO::CPU_TYPE_ARM },
120 { "Arm64" , MachO::CPU_TYPE_ARM64 },
121 { "Sparc" , MachO::CPU_TYPE_SPARC },
122 { "PowerPC" , MachO::CPU_TYPE_POWERPC },
123 { "PowerPC64" , MachO::CPU_TYPE_POWERPC64 },
127 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_I386_ALL),
128 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_386),
129 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_486),
130 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_486SX),
131 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_586),
132 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTPRO),
133 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTII_M3),
134 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTII_M5),
135 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_CELERON),
136 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_CELERON_MOBILE),
137 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_3),
138 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_3_M),
139 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_3_XEON),
140 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_M),
141 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_4),
142 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_4_M),
143 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ITANIUM),
144 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ITANIUM_2),
145 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_XEON),
146 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_XEON_MP),
150 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_X86_64_ALL),
151 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_X86_ARCH1),
152 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_X86_64_H),
156 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_ALL),
157 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V4T),
158 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V6),
159 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V5),
160 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V5TEJ),
161 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_XSCALE),
162 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7),
163 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7S),
164 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7K),
165 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V6M),
166 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7M),
167 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7EM),
171 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM64_ALL),
172 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM64_V8),
173 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM64E),
177 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_SPARC_ALL),
181 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_ALL),
182 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_601),
183 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_602),
184 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_603),
185 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_603e),
186 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_603ev),
187 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_604),
188 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_604e),
189 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_620),
190 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_750),
191 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_7400),
192 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_7450),
193 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_970),
197 LLVM_READOBJ_ENUM_ENT(MachO, MH_NOUNDEFS),
198 LLVM_READOBJ_ENUM_ENT(MachO, MH_INCRLINK),
199 LLVM_READOBJ_ENUM_ENT(MachO, MH_DYLDLINK),
200 LLVM_READOBJ_ENUM_ENT(MachO, MH_BINDATLOAD),
201 LLVM_READOBJ_ENUM_ENT(MachO, MH_PREBOUND),
202 LLVM_READOBJ_ENUM_ENT(MachO, MH_SPLIT_SEGS),
203 LLVM_READOBJ_ENUM_ENT(MachO, MH_LAZY_INIT),
204 LLVM_READOBJ_ENUM_ENT(MachO, MH_TWOLEVEL),
205 LLVM_READOBJ_ENUM_ENT(MachO, MH_FORCE_FLAT),
206 LLVM_READOBJ_ENUM_ENT(MachO, MH_NOMULTIDEFS),
207 LLVM_READOBJ_ENUM_ENT(MachO, MH_NOFIXPREBINDING),
208 LLVM_READOBJ_ENUM_ENT(MachO, MH_PREBINDABLE),
209 LLVM_READOBJ_ENUM_ENT(MachO, MH_ALLMODSBOUND),
210 LLVM_READOBJ_ENUM_ENT(MachO, MH_SUBSECTIONS_VIA_SYMBOLS),
211 LLVM_READOBJ_ENUM_ENT(MachO, MH_CANONICAL),
212 LLVM_READOBJ_ENUM_ENT(MachO, MH_WEAK_DEFINES),
213 LLVM_READOBJ_ENUM_ENT(MachO, MH_BINDS_TO_WEAK),
214 LLVM_READOBJ_ENUM_ENT(MachO, MH_ALLOW_STACK_EXECUTION),
215 LLVM_READOBJ_ENUM_ENT(MachO, MH_ROOT_SAFE),
216 LLVM_READOBJ_ENUM_ENT(MachO, MH_SETUID_SAFE),
217 LLVM_READOBJ_ENUM_ENT(MachO, MH_NO_REEXPORTED_DYLIBS),
218 LLVM_READOBJ_ENUM_ENT(MachO, MH_PIE),
219 LLVM_READOBJ_ENUM_ENT(MachO, MH_DEAD_STRIPPABLE_DYLIB),
220 LLVM_READOBJ_ENUM_ENT(MachO, MH_HAS_TLV_DESCRIPTORS),
221 LLVM_READOBJ_ENUM_ENT(MachO, MH_NO_HEAP_EXECUTION),
222 LLVM_READOBJ_ENUM_ENT(MachO, MH_APP_EXTENSION_SAFE),
226 { "Regular" , MachO::S_REGULAR },
227 { "ZeroFill" , MachO::S_ZEROFILL },
228 { "CStringLiterals" , MachO::S_CSTRING_LITERALS },
229 { "4ByteLiterals" , MachO::S_4BYTE_LITERALS },
230 { "8ByteLiterals" , MachO::S_8BYTE_LITERALS },
231 { "LiteralPointers" , MachO::S_LITERAL_POINTERS },
232 { "NonLazySymbolPointers" , MachO::S_NON_LAZY_SYMBOL_POINTERS },
233 { "LazySymbolPointers" , MachO::S_LAZY_SYMBOL_POINTERS },
234 { "SymbolStubs" , MachO::S_SYMBOL_STUBS },
235 { "ModInitFuncPointers" , MachO::S_MOD_INIT_FUNC_POINTERS },
236 { "ModTermFuncPointers" , MachO::S_MOD_TERM_FUNC_POINTERS },
237 { "Coalesced" , MachO::S_COALESCED },
238 { "GBZeroFill" , MachO::S_GB_ZEROFILL },
239 { "Interposing" , MachO::S_INTERPOSING },
240 { "16ByteLiterals" , MachO::S_16BYTE_LITERALS },
241 { "DTraceDOF" , MachO::S_DTRACE_DOF },
242 { "LazyDylibSymbolPointers" , MachO::S_LAZY_DYLIB_SYMBOL_POINTERS },
243 { "ThreadLocalRegular" , MachO::S_THREAD_LOCAL_REGULAR },
244 { "ThreadLocalZerofill" , MachO::S_THREAD_LOCAL_ZEROFILL },
245 { "ThreadLocalVariables" , MachO::S_THREAD_LOCAL_VARIABLES },
246 { "ThreadLocalVariablePointers" , MachO::S_THREAD_LOCAL_VARIABLE_POINTERS },
247 { "ThreadLocalInitFunctionPointers", MachO::S_THREAD_LOCAL_INIT_FUNCTION_POINTERS }
336 Prot += (prot & MachO::VM_PROT_READ) ? "r" : "-"; in getMask()
337 Prot += (prot & MachO::VM_PROT_WRITE) ? "w" : "-"; in getMask()
338 Prot += (prot & MachO::VM_PROT_EXECUTE) ? "x" : "-"; in getMask()
346 MachO::section Sect = Obj->getSection(Sec); in getSection()
358 MachO::section_64 Sect = Obj->getSection64(Sec); in getSection()
375 MachO::segment_command SC = Obj->getSegmentLoadCommand(L); in getSegment()
389 MachO::segment_command_64 SC = Obj->getSegment64LoadCommand(L); in getSegment()
407 MachO::nlist Entry = Obj->getSymbolTableEntry(DRI); in getSymbol()
415 MachO::nlist_64 Entry = Obj->getSymbol64TableEntry(DRI); in getSymbol()
437 uint32_t subtype = Header.cpusubtype & ~MachO::CPU_SUBTYPE_MASK; in printFileHeaders()
439 case MachO::CPU_TYPE_X86: in printFileHeaders()
442 case MachO::CPU_TYPE_X86_64: in printFileHeaders()
445 case MachO::CPU_TYPE_ARM: in printFileHeaders()
448 case MachO::CPU_TYPE_POWERPC: in printFileHeaders()
451 case MachO::CPU_TYPE_SPARC: in printFileHeaders()
454 case MachO::CPU_TYPE_ARM64: in printFileHeaders()
457 case MachO::CPU_TYPE_POWERPC64: in printFileHeaders()
560 MachO::any_relocation_info RE = Obj->getRelocation(DR); in printRelocation()
678 if (!(MOSymbol.Type & MachO::N_STAB)) { in printSymbol()
690 if (MOSymbol.Type & MachO::N_STAB) { in printSymbol()
693 if (MOSymbol.Type & MachO::N_PEXT) in printSymbol()
695 if (MOSymbol.Type & MachO::N_EXT) in printSymbol()
697 W.printEnum("Type", uint8_t(MOSymbol.Type & MachO::N_TYPE), in printSymbol()
792 if (Command.C.cmd == MachO::LC_LOAD_DYLIB || in printNeededLibraries()
793 Command.C.cmd == MachO::LC_ID_DYLIB || in printNeededLibraries()
794 Command.C.cmd == MachO::LC_LOAD_WEAK_DYLIB || in printNeededLibraries()
795 Command.C.cmd == MachO::LC_REEXPORT_DYLIB || in printNeededLibraries()
796 Command.C.cmd == MachO::LC_LAZY_LOAD_DYLIB || in printNeededLibraries()
797 Command.C.cmd == MachO::LC_LOAD_UPWARD_DYLIB) { in printNeededLibraries()
798 MachO::dylib_command Dl = Obj->getDylibIDLoadCommand(Command); in printNeededLibraries()
815 if (Load.C.cmd == MachO::LC_DATA_IN_CODE) { in printMachODataInCode()
816 MachO::linkedit_data_command LLC = Obj->getLinkeditDataLoadCommand(Load); in printMachODataInCode()
821 unsigned NumRegions = LLC.datasize / sizeof(MachO::data_in_code_entry); in printMachODataInCode()
823 MachO::data_in_code_entry DICE = Obj->getDataInCodeTableEntry( in printMachODataInCode()
839 case MachO::LC_VERSION_MIN_MACOSX: in printMachOVersionMin()
842 case MachO::LC_VERSION_MIN_IPHONEOS: in printMachOVersionMin()
845 case MachO::LC_VERSION_MIN_TVOS: in printMachOVersionMin()
848 case MachO::LC_VERSION_MIN_WATCHOS: in printMachOVersionMin()
851 case MachO::LC_BUILD_VERSION: in printMachOVersionMin()
860 if (Load.C.cmd == MachO::LC_BUILD_VERSION) { in printMachOVersionMin()
861 MachO::build_version_command BVC = Obj->getBuildVersionLoadCommand(Load); in printMachOVersionMin()
874 MachO::version_min_command VMC = Obj->getVersionMinLoadCommand(Load); in printMachOVersionMin()
900 if (Load.C.cmd == MachO::LC_DYSYMTAB) { in printMachODysymtab()
901 MachO::dysymtab_command DLC = Obj->getDysymtabLoadCommand(); in printMachODysymtab()
927 if (Load.C.cmd == MachO::LC_SEGMENT || Load.C.cmd == MachO::LC_SEGMENT_64) { in printMachOSegment()
948 if (Load.C.cmd == MachO::LC_DYSYMTAB) { in printMachOIndirectSymbols()
949 MachO::dysymtab_command DLC = Obj->getDysymtabLoadCommand(); in printMachOIndirectSymbols()
964 if (Load.C.cmd == MachO::LC_LINKER_OPTION) { in printMachOLinkerOptions()
965 MachO::linker_option_command LOLC = Obj->getLinkerOptionLoadCommand(Load); in printMachOLinkerOptions()
969 uint64_t DataSize = LOLC.cmdsize - sizeof(MachO::linker_option_command); in printMachOLinkerOptions()
970 const char *P = Load.Ptr + sizeof(MachO::linker_option_command); in printMachOLinkerOptions()