Lines Matching refs:MachO

10 // This file implements the MachO-specific dumper for llvm-readobj.
21 #include "llvm/Object/MachO.h"
43 // MachO-specific.
85 { "Magic", MachO::MH_MAGIC },
86 { "Cigam", MachO::MH_CIGAM },
87 { "Magic64", MachO::MH_MAGIC_64 },
88 { "Cigam64", MachO::MH_CIGAM_64 },
89 { "FatMagic", MachO::FAT_MAGIC },
90 { "FatCigam", MachO::FAT_CIGAM },
94 { "Relocatable", MachO::MH_OBJECT },
95 { "Executable", MachO::MH_EXECUTE },
96 { "FixedVMLibrary", MachO::MH_FVMLIB },
97 { "Core", MachO::MH_CORE },
98 { "PreloadedExecutable", MachO::MH_PRELOAD },
99 { "DynamicLibrary", MachO::MH_DYLIB },
100 { "DynamicLinker", MachO::MH_DYLINKER },
101 { "Bundle", MachO::MH_BUNDLE },
102 { "DynamicLibraryStub", MachO::MH_DYLIB_STUB },
103 { "DWARFSymbol", MachO::MH_DSYM },
104 { "KextBundle", MachO::MH_KEXT_BUNDLE },
108 { "Any" , static_cast<uint32_t>(MachO::CPU_TYPE_ANY) },
109 { "X86" , MachO::CPU_TYPE_X86 },
110 { "X86-64" , MachO::CPU_TYPE_X86_64 },
111 { "Mc98000" , MachO::CPU_TYPE_MC98000 },
112 { "Arm" , MachO::CPU_TYPE_ARM },
113 { "Arm64" , MachO::CPU_TYPE_ARM64 },
114 { "Sparc" , MachO::CPU_TYPE_SPARC },
115 { "PowerPC" , MachO::CPU_TYPE_POWERPC },
116 { "PowerPC64" , MachO::CPU_TYPE_POWERPC64 },
120 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_I386_ALL),
121 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_386),
122 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_486),
123 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_486SX),
124 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_586),
125 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTPRO),
126 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTII_M3),
127 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTII_M5),
128 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_CELERON),
129 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_CELERON_MOBILE),
130 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_3),
131 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_3_M),
132 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_3_XEON),
133 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_M),
134 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_4),
135 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_PENTIUM_4_M),
136 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ITANIUM),
137 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ITANIUM_2),
138 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_XEON),
139 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_XEON_MP),
143 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_X86_64_ALL),
144 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_X86_ARCH1),
145 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_X86_64_H),
149 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_ALL),
150 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V4T),
151 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V6),
152 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V5),
153 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V5TEJ),
154 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_XSCALE),
155 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7),
156 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7S),
157 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7K),
158 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V6M),
159 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7M),
160 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM_V7EM),
164 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_ARM64_ALL),
168 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_SPARC_ALL),
172 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_ALL),
173 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_601),
174 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_602),
175 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_603),
176 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_603e),
177 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_603ev),
178 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_604),
179 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_604e),
180 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_620),
181 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_750),
182 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_7400),
183 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_7450),
184 LLVM_READOBJ_ENUM_ENT(MachO, CPU_SUBTYPE_POWERPC_970),
188 LLVM_READOBJ_ENUM_ENT(MachO, MH_NOUNDEFS),
189 LLVM_READOBJ_ENUM_ENT(MachO, MH_INCRLINK),
190 LLVM_READOBJ_ENUM_ENT(MachO, MH_DYLDLINK),
191 LLVM_READOBJ_ENUM_ENT(MachO, MH_BINDATLOAD),
192 LLVM_READOBJ_ENUM_ENT(MachO, MH_PREBOUND),
193 LLVM_READOBJ_ENUM_ENT(MachO, MH_SPLIT_SEGS),
194 LLVM_READOBJ_ENUM_ENT(MachO, MH_LAZY_INIT),
195 LLVM_READOBJ_ENUM_ENT(MachO, MH_TWOLEVEL),
196 LLVM_READOBJ_ENUM_ENT(MachO, MH_FORCE_FLAT),
197 LLVM_READOBJ_ENUM_ENT(MachO, MH_NOMULTIDEFS),
198 LLVM_READOBJ_ENUM_ENT(MachO, MH_NOFIXPREBINDING),
199 LLVM_READOBJ_ENUM_ENT(MachO, MH_PREBINDABLE),
200 LLVM_READOBJ_ENUM_ENT(MachO, MH_ALLMODSBOUND),
201 LLVM_READOBJ_ENUM_ENT(MachO, MH_SUBSECTIONS_VIA_SYMBOLS),
202 LLVM_READOBJ_ENUM_ENT(MachO, MH_CANONICAL),
203 LLVM_READOBJ_ENUM_ENT(MachO, MH_WEAK_DEFINES),
204 LLVM_READOBJ_ENUM_ENT(MachO, MH_BINDS_TO_WEAK),
205 LLVM_READOBJ_ENUM_ENT(MachO, MH_ALLOW_STACK_EXECUTION),
206 LLVM_READOBJ_ENUM_ENT(MachO, MH_ROOT_SAFE),
207 LLVM_READOBJ_ENUM_ENT(MachO, MH_SETUID_SAFE),
208 LLVM_READOBJ_ENUM_ENT(MachO, MH_NO_REEXPORTED_DYLIBS),
209 LLVM_READOBJ_ENUM_ENT(MachO, MH_PIE),
210 LLVM_READOBJ_ENUM_ENT(MachO, MH_DEAD_STRIPPABLE_DYLIB),
211 LLVM_READOBJ_ENUM_ENT(MachO, MH_HAS_TLV_DESCRIPTORS),
212 LLVM_READOBJ_ENUM_ENT(MachO, MH_NO_HEAP_EXECUTION),
213 LLVM_READOBJ_ENUM_ENT(MachO, MH_APP_EXTENSION_SAFE),
298 Prot += (prot & MachO::VM_PROT_READ) ? "r" : "-";
299 Prot += (prot & MachO::VM_PROT_WRITE) ? "w" : "-";
300 Prot += (prot & MachO::VM_PROT_EXECUTE) ? "x" : "-";
308 MachO::section Sect = Obj->getSection(Sec);
320 MachO::section_64 Sect = Obj->getSection64(Sec);
337 MachO::segment_command SC = Obj->getSegmentLoadCommand(L);
351 MachO::segment_command_64 SC = Obj->getSegment64LoadCommand(L);
369 MachO::nlist Entry = Obj->getSymbolTableEntry(DRI);
377 MachO::nlist_64 Entry = Obj->getSymbol64TableEntry(DRI);
399 uint32_t subtype = Header.cpusubtype & ~MachO::CPU_SUBTYPE_MASK;
401 case MachO::CPU_TYPE_X86:
404 case MachO::CPU_TYPE_X86_64:
407 case MachO::CPU_TYPE_ARM:
410 case MachO::CPU_TYPE_POWERPC:
413 case MachO::CPU_TYPE_SPARC:
416 case MachO::CPU_TYPE_ARM64:
419 case MachO::CPU_TYPE_POWERPC64:
535 MachO::any_relocation_info RE = Obj->getRelocation(DR);
622 if (MOSymbol.Type & MachO::N_STAB) {
625 if (MOSymbol.Type & MachO::N_PEXT)
627 if (MOSymbol.Type & MachO::N_EXT)
629 W.printEnum("Type", uint8_t(MOSymbol.Type & MachO::N_TYPE),
675 if (Load.C.cmd == MachO::LC_DATA_IN_CODE) {
676 MachO::linkedit_data_command LLC = Obj->getLinkeditDataLoadCommand(Load);
681 unsigned NumRegions = LLC.datasize / sizeof(MachO::data_in_code_entry);
683 MachO::data_in_code_entry DICE = Obj->getDataInCodeTableEntry(
699 case MachO::LC_VERSION_MIN_MACOSX:
702 case MachO::LC_VERSION_MIN_IPHONEOS:
705 case MachO::LC_VERSION_MIN_TVOS:
708 case MachO::LC_VERSION_MIN_WATCHOS:
715 MachO::version_min_command VMC = Obj->getVersionMinLoadCommand(Load);
742 if (Load.C.cmd == MachO::LC_DYSYMTAB) {
743 MachO::dysymtab_command DLC = Obj->getDysymtabLoadCommand();
769 if (Load.C.cmd == MachO::LC_SEGMENT || Load.C.cmd == MachO::LC_SEGMENT_64) {
790 if (Load.C.cmd == MachO::LC_DYSYMTAB) {
791 MachO::dysymtab_command DLC = Obj->getDysymtabLoadCommand();
806 if (Load.C.cmd == MachO::LC_LINKER_OPTION) {
807 MachO::linker_option_command LOLC = Obj->getLinkerOptionLoadCommand(Load);
811 uint64_t DataSize = LOLC.cmdsize - sizeof(MachO::linker_option_command);
812 const char *P = Load.Ptr + sizeof(MachO::linker_option_command);