LLVM  15.0.0git
MachO.h
Go to the documentation of this file.
1 //===-- llvm/BinaryFormat/MachO.h - The MachO file format -------*- C++/-*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file defines manifest constants for the MachO object file format.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_BINARYFORMAT_MACHO_H
14 #define LLVM_BINARYFORMAT_MACHO_H
15 
16 #include "llvm/Support/Compiler.h"
17 #include "llvm/Support/DataTypes.h"
18 #include "llvm/Support/Error.h"
20 
21 namespace llvm {
22 
23 class Triple;
24 
25 namespace MachO {
26 // Enums from <mach-o/loader.h>
27 enum : uint32_t {
28  // Constants for the "magic" field in llvm::MachO::mach_header and
29  // llvm::MachO::mach_header_64
30  MH_MAGIC = 0xFEEDFACEu,
31  MH_CIGAM = 0xCEFAEDFEu,
32  MH_MAGIC_64 = 0xFEEDFACFu,
33  MH_CIGAM_64 = 0xCFFAEDFEu,
34  FAT_MAGIC = 0xCAFEBABEu,
35  FAT_CIGAM = 0xBEBAFECAu,
36  FAT_MAGIC_64 = 0xCAFEBABFu,
37  FAT_CIGAM_64 = 0xBFBAFECAu
38 };
39 
41  // Constants for the "filetype" field in llvm::MachO::mach_header and
42  // llvm::MachO::mach_header_64
43  MH_OBJECT = 0x1u,
44  MH_EXECUTE = 0x2u,
45  MH_FVMLIB = 0x3u,
46  MH_CORE = 0x4u,
47  MH_PRELOAD = 0x5u,
48  MH_DYLIB = 0x6u,
49  MH_DYLINKER = 0x7u,
50  MH_BUNDLE = 0x8u,
51  MH_DYLIB_STUB = 0x9u,
52  MH_DSYM = 0xAu,
54 };
55 
56 enum {
57  // Constant bits for the "flags" field in llvm::MachO::mach_header and
58  // llvm::MachO::mach_header_64
59  MH_NOUNDEFS = 0x00000001u,
60  MH_INCRLINK = 0x00000002u,
61  MH_DYLDLINK = 0x00000004u,
62  MH_BINDATLOAD = 0x00000008u,
63  MH_PREBOUND = 0x00000010u,
64  MH_SPLIT_SEGS = 0x00000020u,
65  MH_LAZY_INIT = 0x00000040u,
66  MH_TWOLEVEL = 0x00000080u,
67  MH_FORCE_FLAT = 0x00000100u,
68  MH_NOMULTIDEFS = 0x00000200u,
69  MH_NOFIXPREBINDING = 0x00000400u,
70  MH_PREBINDABLE = 0x00000800u,
71  MH_ALLMODSBOUND = 0x00001000u,
73  MH_CANONICAL = 0x00004000u,
74  MH_WEAK_DEFINES = 0x00008000u,
75  MH_BINDS_TO_WEAK = 0x00010000u,
76  MH_ALLOW_STACK_EXECUTION = 0x00020000u,
77  MH_ROOT_SAFE = 0x00040000u,
78  MH_SETUID_SAFE = 0x00080000u,
79  MH_NO_REEXPORTED_DYLIBS = 0x00100000u,
80  MH_PIE = 0x00200000u,
81  MH_DEAD_STRIPPABLE_DYLIB = 0x00400000u,
82  MH_HAS_TLV_DESCRIPTORS = 0x00800000u,
83  MH_NO_HEAP_EXECUTION = 0x01000000u,
84  MH_APP_EXTENSION_SAFE = 0x02000000u,
86  MH_SIM_SUPPORT = 0x08000000u,
87  MH_DYLIB_IN_CACHE = 0x80000000u,
88 };
89 
90 enum : uint32_t {
91  // Flags for the "cmd" field in llvm::MachO::load_command
92  LC_REQ_DYLD = 0x80000000u
93 };
94 
95 #define HANDLE_LOAD_COMMAND(LCName, LCValue, LCStruct) LCName = LCValue,
96 
98 #include "llvm/BinaryFormat/MachO.def"
99 };
100 
101 #undef HANDLE_LOAD_COMMAND
102 
103 enum : uint32_t {
104  // Constant bits for the "flags" field in llvm::MachO::segment_command
105  SG_HIGHVM = 0x1u,
106  SG_FVMLIB = 0x2u,
107  SG_NORELOC = 0x4u,
109 
110  // Constant masks for the "flags" field in llvm::MachO::section and
111  // llvm::MachO::section_64
112  SECTION_TYPE = 0x000000ffu, // SECTION_TYPE
113  SECTION_ATTRIBUTES = 0xffffff00u, // SECTION_ATTRIBUTES
114  SECTION_ATTRIBUTES_USR = 0xff000000u, // SECTION_ATTRIBUTES_USR
115  SECTION_ATTRIBUTES_SYS = 0x00ffff00u // SECTION_ATTRIBUTES_SYS
116 };
117 
118 /// These are the section type and attributes fields. A MachO section can
119 /// have only one Type, but can have any of the attributes specified.
121  // Constant masks for the "flags[7:0]" field in llvm::MachO::section and
122  // llvm::MachO::section_64 (mask "flags" with SECTION_TYPE)
123 
124  /// S_REGULAR - Regular section.
125  S_REGULAR = 0x00u,
126  /// S_ZEROFILL - Zero fill on demand section.
127  S_ZEROFILL = 0x01u,
128  /// S_CSTRING_LITERALS - Section with literal C strings.
130  /// S_4BYTE_LITERALS - Section with 4 byte literals.
132  /// S_8BYTE_LITERALS - Section with 8 byte literals.
134  /// S_LITERAL_POINTERS - Section with pointers to literals.
136  /// S_NON_LAZY_SYMBOL_POINTERS - Section with non-lazy symbol pointers.
138  /// S_LAZY_SYMBOL_POINTERS - Section with lazy symbol pointers.
140  /// S_SYMBOL_STUBS - Section with symbol stubs, byte size of stub in
141  /// the Reserved2 field.
142  S_SYMBOL_STUBS = 0x08u,
143  /// S_MOD_INIT_FUNC_POINTERS - Section with only function pointers for
144  /// initialization.
146  /// S_MOD_TERM_FUNC_POINTERS - Section with only function pointers for
147  /// termination.
149  /// S_COALESCED - Section contains symbols that are to be coalesced.
150  S_COALESCED = 0x0bu,
151  /// S_GB_ZEROFILL - Zero fill on demand section (that can be larger than 4
152  /// gigabytes).
153  S_GB_ZEROFILL = 0x0cu,
154  /// S_INTERPOSING - Section with only pairs of function pointers for
155  /// interposing.
156  S_INTERPOSING = 0x0du,
157  /// S_16BYTE_LITERALS - Section with only 16 byte literals.
159  /// S_DTRACE_DOF - Section contains DTrace Object Format.
160  S_DTRACE_DOF = 0x0fu,
161  /// S_LAZY_DYLIB_SYMBOL_POINTERS - Section with lazy symbol pointers to
162  /// lazy loaded dylibs.
164  /// S_THREAD_LOCAL_REGULAR - Thread local data section.
166  /// S_THREAD_LOCAL_ZEROFILL - Thread local zerofill section.
168  /// S_THREAD_LOCAL_VARIABLES - Section with thread local variable
169  /// structure data.
171  /// S_THREAD_LOCAL_VARIABLE_POINTERS - Section with pointers to thread
172  /// local structures.
174  /// S_THREAD_LOCAL_INIT_FUNCTION_POINTERS - Section with thread local
175  /// variable initialization pointers to functions.
177 
179 };
180 
181 enum : uint32_t {
182  // Constant masks for the "flags[31:24]" field in llvm::MachO::section and
183  // llvm::MachO::section_64 (mask "flags" with SECTION_ATTRIBUTES_USR)
184 
185  /// S_ATTR_PURE_INSTRUCTIONS - Section contains only true machine
186  /// instructions.
188  /// S_ATTR_NO_TOC - Section contains coalesced symbols that are not to be
189  /// in a ranlib table of contents.
190  S_ATTR_NO_TOC = 0x40000000u,
191  /// S_ATTR_STRIP_STATIC_SYMS - Ok to strip static symbols in this section
192  /// in files with the MY_DYLDLINK flag.
194  /// S_ATTR_NO_DEAD_STRIP - No dead stripping.
195  S_ATTR_NO_DEAD_STRIP = 0x10000000u,
196  /// S_ATTR_LIVE_SUPPORT - Blocks are live if they reference live blocks.
197  S_ATTR_LIVE_SUPPORT = 0x08000000u,
198  /// S_ATTR_SELF_MODIFYING_CODE - Used with i386 code stubs written on by
199  /// dyld.
201  /// S_ATTR_DEBUG - A debug section.
202  S_ATTR_DEBUG = 0x02000000u,
203 
204  // Constant masks for the "flags[23:8]" field in llvm::MachO::section and
205  // llvm::MachO::section_64 (mask "flags" with SECTION_ATTRIBUTES_SYS)
206 
207  /// S_ATTR_SOME_INSTRUCTIONS - Section contains some machine instructions.
209  /// S_ATTR_EXT_RELOC - Section has external relocation entries.
210  S_ATTR_EXT_RELOC = 0x00000200u,
211  /// S_ATTR_LOC_RELOC - Section has local relocation entries.
212  S_ATTR_LOC_RELOC = 0x00000100u,
213 
214  // Constant masks for the value of an indirect symbol in an indirect
215  // symbol table
216  INDIRECT_SYMBOL_LOCAL = 0x80000000u,
217  INDIRECT_SYMBOL_ABS = 0x40000000u
218 };
219 
221  // Constants for the "kind" field in a data_in_code_entry structure
227 };
228 
233 };
234 
235 enum { REBASE_OPCODE_MASK = 0xF0u, REBASE_IMMEDIATE_MASK = 0x0Fu };
236 
247 };
248 
249 enum BindType {
253 };
254 
260 };
261 
262 enum {
265 
268 };
269 
284 };
285 
286 enum {
291 };
292 
297 };
298 
299 enum {
300  // Constant masks for the "n_type" field in llvm::MachO::nlist and
301  // llvm::MachO::nlist_64
302  N_STAB = 0xe0,
303  N_PEXT = 0x10,
304  N_TYPE = 0x0e,
305  N_EXT = 0x01
306 };
307 
308 enum NListType : uint8_t {
309  // Constants for the "n_type & N_TYPE" llvm::MachO::nlist and
310  // llvm::MachO::nlist_64
311  N_UNDF = 0x0u,
312  N_ABS = 0x2u,
313  N_SECT = 0xeu,
314  N_PBUD = 0xcu,
315  N_INDR = 0xau
316 };
317 
319  // Constants for the "n_sect" field in llvm::MachO::nlist and
320  // llvm::MachO::nlist_64
321  NO_SECT = 0u,
322  MAX_SECT = 0xffu
323 };
324 
325 enum {
326  // Constant masks for the "n_desc" field in llvm::MachO::nlist and
327  // llvm::MachO::nlist_64
328  // The low 3 bits are the for the REFERENCE_TYPE.
336  // Flag bits (some overlap with the library ordinal bits).
337  N_ARM_THUMB_DEF = 0x0008u,
339  N_NO_DEAD_STRIP = 0x0020u,
340  N_WEAK_REF = 0x0040u,
341  N_WEAK_DEF = 0x0080u,
342  N_SYMBOL_RESOLVER = 0x0100u,
343  N_ALT_ENTRY = 0x0200u,
344  N_COLD_FUNC = 0x0400u,
345  // For undefined symbols coming from libraries, see GET_LIBRARY_ORDINAL()
346  // as these are in the top 8 bits.
351 };
352 
353 enum StabType {
354  // Constant values for the "n_type" field in llvm::MachO::nlist and
355  // llvm::MachO::nlist_64 when "(n_type & N_STAB) != 0"
356  N_GSYM = 0x20u,
357  N_FNAME = 0x22u,
358  N_FUN = 0x24u,
359  N_STSYM = 0x26u,
360  N_LCSYM = 0x28u,
361  N_BNSYM = 0x2Eu,
362  N_PC = 0x30u,
363  N_AST = 0x32u,
364  N_OPT = 0x3Cu,
365  N_RSYM = 0x40u,
366  N_SLINE = 0x44u,
367  N_ENSYM = 0x4Eu,
368  N_SSYM = 0x60u,
369  N_SO = 0x64u,
370  N_OSO = 0x66u,
371  N_LSYM = 0x80u,
372  N_BINCL = 0x82u,
373  N_SOL = 0x84u,
374  N_PARAMS = 0x86u,
375  N_VERSION = 0x88u,
376  N_OLEVEL = 0x8Au,
377  N_PSYM = 0xA0u,
378  N_EINCL = 0xA2u,
379  N_ENTRY = 0xA4u,
380  N_LBRAC = 0xC0u,
381  N_EXCL = 0xC2u,
382  N_RBRAC = 0xE0u,
383  N_BCOMM = 0xE2u,
384  N_ECOMM = 0xE4u,
385  N_ECOML = 0xE8u,
386  N_LENG = 0xFEu
387 };
388 
389 enum : uint32_t {
390  // Constant values for the r_symbolnum field in an
391  // llvm::MachO::relocation_info structure when r_extern is 0.
392  R_ABS = 0,
393 
394  // Constant bits for the r_address field in an
395  // llvm::MachO::relocation_info structure.
396  R_SCATTERED = 0x80000000
397 };
398 
400  // Constant values for the r_type field in an
401  // llvm::MachO::relocation_info or llvm::MachO::scattered_relocation_info
402  // structure.
410 
411  // Constant values for the r_type field in a PowerPC architecture
412  // llvm::MachO::relocation_info or llvm::MachO::scattered_relocation_info
413  // structure.
430 
431  // Constant values for the r_type field in an ARM architecture
432  // llvm::MachO::relocation_info or llvm::MachO::scattered_relocation_info
433  // structure.
441  ARM_THUMB_32BIT_BRANCH = 7, // obsolete
444 
445  // Constant values for the r_type field in an ARM64 architecture
446  // llvm::MachO::relocation_info or llvm::MachO::scattered_relocation_info
447  // structure.
448 
449  // For pointers.
451  // Must be followed by an ARM64_RELOC_UNSIGNED
453  // A B/BL instruction with 26-bit displacement.
455  // PC-rel distance to page of target.
457  // Offset within page, scaled by r_length.
459  // PC-rel distance to page of GOT slot.
461  // Offset within page of GOT slot, scaled by r_length.
463  // For pointers to GOT slots.
465  // PC-rel distance to page of TLVP slot.
467  // Offset within page of TLVP slot, scaled by r_length.
469  // Must be followed by ARM64_RELOC_PAGE21 or ARM64_RELOC_PAGEOFF12.
471 
472  // Constant values for the r_type field in an x86_64 architecture
473  // llvm::MachO::relocation_info or llvm::MachO::scattered_relocation_info
474  // structure
485 };
486 
487 // Values for segment_command.initprot.
488 // From <mach/vm_prot.h>
489 enum { VM_PROT_READ = 0x1, VM_PROT_WRITE = 0x2, VM_PROT_EXECUTE = 0x4 };
490 
491 // Values for platform field in build_version_command.
504 };
505 
506 // Values for tools enum in build_tool_version.
507 enum { TOOL_CLANG = 1, TOOL_SWIFT = 2, TOOL_LD = 3 };
508 
509 // Structs from <mach-o/loader.h>
510 
511 struct mach_header {
519 };
520 
530 };
531 
532 struct load_command {
535 };
536 
540  char segname[16];
549 };
550 
554  char segname[16];
563 };
564 
565 struct section {
566  char sectname[16];
567  char segname[16];
577 };
578 
579 struct section_64 {
580  char sectname[16];
581  char segname[16];
592 };
593 
594 inline bool isVirtualSection(uint8_t type) {
595  return (type == MachO::S_ZEROFILL || type == MachO::S_GB_ZEROFILL ||
597 }
598 
599 struct fvmlib {
603 };
604 
605 // The fvmlib_command is obsolete and no longer supported.
609  struct fvmlib fvmlib;
610 };
611 
612 struct dylib {
617 };
618 
622  struct dylib dylib;
623 };
624 
629 };
630 
635 };
636 
641 };
642 
647 };
648 
649 // The prebound_dylib_command is obsolete and no longer supported.
656 };
657 
662 };
663 
667 };
668 
680 };
681 
693 };
694 
702 };
703 
725 };
726 
730 };
731 
732 struct dylib_module {
746 };
747 
762 };
763 
765  uint32_t isym : 24, flags : 8;
766 };
767 
768 // The twolevel_hints_command is obsolete and no longer supported.
774 };
775 
776 // The twolevel_hints_command is obsolete and no longer supported.
779 };
780 
781 // The prebind_cksum_command is obsolete and no longer supported.
786 };
787 
788 struct uuid_command {
791  uint8_t uuid[16];
792 };
793 
798 };
799 
805 };
806 
811 };
812 
817 };
818 
825 };
826 
834 };
835 
837  uint32_t cmd; // LC_VERSION_MIN_MACOSX or
838  // LC_VERSION_MIN_IPHONEOS
839  uint32_t cmdsize; // sizeof(struct version_min_command)
840  uint32_t version; // X.Y.Z is encoded in nibbles xxxx.yy.zz
841  uint32_t sdk; // X.Y.Z is encoded in nibbles xxxx.yy.zz
842 };
843 
844 struct note_command {
845  uint32_t cmd; // LC_NOTE
846  uint32_t cmdsize; // sizeof(struct note_command)
847  char data_owner[16]; // owner name for this LC_NOTE
848  uint64_t offset; // file offset of this data
849  uint64_t size; // length of data region
850 };
851 
853  uint32_t tool; // enum for the tool
854  uint32_t version; // version of the tool
855 };
856 
858  uint32_t cmd; // LC_BUILD_VERSION
859  uint32_t cmdsize; // sizeof(struct build_version_command) +
860  // ntools * sizeof(struct build_tool_version)
861  uint32_t platform; // platform
862  uint32_t minos; // X.Y.Z is encoded in nibbles xxxx.yy.zz
863  uint32_t sdk; // X.Y.Z is encoded in nibbles xxxx.yy.zz
864  uint32_t ntools; // number of tool entries following this
865 };
866 
880 };
881 
886 };
887 
888 // The symseg_command is obsolete and no longer supported.
894 };
895 
896 // The ident_command is obsolete and no longer supported.
900 };
901 
902 // The fvmfile_command is obsolete and no longer supported.
908 };
909 
914 };
915 
920 };
921 
923  uintptr_t thunk;
924  uintptr_t key;
925  uintptr_t offset;
926 };
927 
933 };
934 
935 // Structs from <mach-o/fat.h>
936 struct fat_header {
939 };
940 
941 struct fat_arch {
947 };
948 
949 struct fat_arch_64 {
956 };
957 
958 // Structs from <mach-o/reloc.h>
960  int32_t r_address;
962  r_type : 4;
963 };
964 
966 #if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)
967  uint32_t r_scattered : 1, r_pcrel : 1, r_length : 2, r_type : 4,
968  r_address : 24;
969 #else
970  uint32_t r_address : 24, r_type : 4, r_length : 2, r_pcrel : 1,
972 #endif
973  int32_t r_value;
974 };
975 
976 // Structs NOT from <mach-o/reloc.h>, but that make LLVM's life easier
979 };
980 
981 // Structs from <mach-o/nlist.h>
982 struct nlist_base {
984  uint8_t n_type;
985  uint8_t n_sect;
987 };
988 
989 struct nlist {
991  uint8_t n_type;
992  uint8_t n_sect;
993  int16_t n_desc;
995 };
996 
997 struct nlist_64 {
999  uint8_t n_type;
1000  uint8_t n_sect;
1003 };
1004 
1005 /// Structs for dyld chained fixups.
1006 /// dyld_chained_fixups_header is the data pointed to by LC_DYLD_CHAINED_FIXUPS
1007 /// load command.
1010  uint32_t starts_offset; ///< Offset of dyld_chained_starts_in_image.
1011  uint32_t imports_offset; ///< Offset of imports table in chain_data.
1012  uint32_t symbols_offset; ///< Offset of symbol strings in chain_data.
1013  uint32_t imports_count; ///< Number of imported symbol names.
1014  uint32_t imports_format; ///< DYLD_CHAINED_IMPORT*
1015  uint32_t symbols_format; ///< 0 => uncompressed, 1 => zlib compressed
1016 };
1017 
1018 /// dyld_chained_starts_in_image is embedded in LC_DYLD_CHAINED_FIXUPS payload.
1019 /// Each each seg_info_offset entry is the offset into this struct for that
1020 /// segment followed by pool of dyld_chain_starts_in_segment data.
1024 };
1025 
1026 // Byte order swapping functions for MachO structs
1027 
1028 inline void swapStruct(fat_header &mh) {
1031 }
1032 
1033 inline void swapStruct(fat_arch &mh) {
1039 }
1040 
1041 inline void swapStruct(fat_arch_64 &mh) {
1048 }
1049 
1050 inline void swapStruct(mach_header &mh) {
1058 }
1059 
1060 inline void swapStruct(mach_header_64 &H) {
1061  sys::swapByteOrder(H.magic);
1062  sys::swapByteOrder(H.cputype);
1063  sys::swapByteOrder(H.cpusubtype);
1064  sys::swapByteOrder(H.filetype);
1065  sys::swapByteOrder(H.ncmds);
1066  sys::swapByteOrder(H.sizeofcmds);
1067  sys::swapByteOrder(H.flags);
1068  sys::swapByteOrder(H.reserved);
1069 }
1070 
1071 inline void swapStruct(load_command &lc) {
1072  sys::swapByteOrder(lc.cmd);
1074 }
1075 
1076 inline void swapStruct(symtab_command &lc) {
1077  sys::swapByteOrder(lc.cmd);
1083 }
1084 
1085 inline void swapStruct(segment_command_64 &seg) {
1086  sys::swapByteOrder(seg.cmd);
1096 }
1097 
1098 inline void swapStruct(segment_command &seg) {
1099  sys::swapByteOrder(seg.cmd);
1109 }
1110 
1111 inline void swapStruct(section_64 &sect) {
1112  sys::swapByteOrder(sect.addr);
1113  sys::swapByteOrder(sect.size);
1114  sys::swapByteOrder(sect.offset);
1115  sys::swapByteOrder(sect.align);
1116  sys::swapByteOrder(sect.reloff);
1117  sys::swapByteOrder(sect.nreloc);
1118  sys::swapByteOrder(sect.flags);
1121 }
1122 
1123 inline void swapStruct(section &sect) {
1124  sys::swapByteOrder(sect.addr);
1125  sys::swapByteOrder(sect.size);
1126  sys::swapByteOrder(sect.offset);
1127  sys::swapByteOrder(sect.align);
1128  sys::swapByteOrder(sect.reloff);
1129  sys::swapByteOrder(sect.nreloc);
1130  sys::swapByteOrder(sect.flags);
1133 }
1134 
1136  sys::swapByteOrder(info.cmd);
1137  sys::swapByteOrder(info.cmdsize);
1138  sys::swapByteOrder(info.rebase_off);
1139  sys::swapByteOrder(info.rebase_size);
1140  sys::swapByteOrder(info.bind_off);
1141  sys::swapByteOrder(info.bind_size);
1142  sys::swapByteOrder(info.weak_bind_off);
1143  sys::swapByteOrder(info.weak_bind_size);
1144  sys::swapByteOrder(info.lazy_bind_off);
1145  sys::swapByteOrder(info.lazy_bind_size);
1146  sys::swapByteOrder(info.export_off);
1147  sys::swapByteOrder(info.export_size);
1148 }
1149 
1150 inline void swapStruct(dylib_command &d) {
1151  sys::swapByteOrder(d.cmd);
1152  sys::swapByteOrder(d.cmdsize);
1153  sys::swapByteOrder(d.dylib.name);
1154  sys::swapByteOrder(d.dylib.timestamp);
1155  sys::swapByteOrder(d.dylib.current_version);
1156  sys::swapByteOrder(d.dylib.compatibility_version);
1157 }
1158 
1160  sys::swapByteOrder(s.cmd);
1161  sys::swapByteOrder(s.cmdsize);
1162  sys::swapByteOrder(s.umbrella);
1163 }
1164 
1166  sys::swapByteOrder(s.cmd);
1167  sys::swapByteOrder(s.cmdsize);
1168  sys::swapByteOrder(s.sub_umbrella);
1169 }
1170 
1172  sys::swapByteOrder(s.cmd);
1173  sys::swapByteOrder(s.cmdsize);
1174  sys::swapByteOrder(s.sub_library);
1175 }
1176 
1178  sys::swapByteOrder(s.cmd);
1179  sys::swapByteOrder(s.cmdsize);
1180  sys::swapByteOrder(s.client);
1181 }
1182 
1183 inline void swapStruct(routines_command &r) {
1194 }
1195 
1207 }
1208 
1209 inline void swapStruct(thread_command &t) {
1210  sys::swapByteOrder(t.cmd);
1211  sys::swapByteOrder(t.cmdsize);
1212 }
1213 
1215  sys::swapByteOrder(d.cmd);
1216  sys::swapByteOrder(d.cmdsize);
1217  sys::swapByteOrder(d.name);
1218 }
1219 
1220 inline void swapStruct(uuid_command &u) {
1223 }
1224 
1225 inline void swapStruct(rpath_command &r) {
1229 }
1230 
1232  sys::swapByteOrder(s.cmd);
1233  sys::swapByteOrder(s.cmdsize);
1234  sys::swapByteOrder(s.version);
1235 }
1236 
1238  sys::swapByteOrder(e.cmd);
1239  sys::swapByteOrder(e.cmdsize);
1240  sys::swapByteOrder(e.entryoff);
1241  sys::swapByteOrder(e.stacksize);
1242 }
1243 
1245  sys::swapByteOrder(e.cmd);
1246  sys::swapByteOrder(e.cmdsize);
1247  sys::swapByteOrder(e.cryptoff);
1248  sys::swapByteOrder(e.cryptsize);
1249  sys::swapByteOrder(e.cryptid);
1250 }
1251 
1253  sys::swapByteOrder(e.cmd);
1254  sys::swapByteOrder(e.cmdsize);
1255  sys::swapByteOrder(e.cryptoff);
1256  sys::swapByteOrder(e.cryptsize);
1257  sys::swapByteOrder(e.cryptid);
1258  sys::swapByteOrder(e.pad);
1259 }
1260 
1261 inline void swapStruct(dysymtab_command &dst) {
1262  sys::swapByteOrder(dst.cmd);
1271  sys::swapByteOrder(dst.ntoc);
1282 }
1283 
1284 inline void swapStruct(any_relocation_info &reloc) {
1285  sys::swapByteOrder(reloc.r_word0);
1286  sys::swapByteOrder(reloc.r_word1);
1287 }
1288 
1289 inline void swapStruct(nlist_base &S) {
1290  sys::swapByteOrder(S.n_strx);
1291  sys::swapByteOrder(S.n_desc);
1292 }
1293 
1294 inline void swapStruct(nlist &sym) {
1298 }
1299 
1300 inline void swapStruct(nlist_64 &sym) {
1304 }
1305 
1307  sys::swapByteOrder(C.cmd);
1308  sys::swapByteOrder(C.cmdsize);
1309  sys::swapByteOrder(C.dataoff);
1310  sys::swapByteOrder(C.datasize);
1311 }
1312 
1314  sys::swapByteOrder(C.cmd);
1315  sys::swapByteOrder(C.cmdsize);
1316  sys::swapByteOrder(C.count);
1317 }
1318 
1320  sys::swapByteOrder(C.cmd);
1321  sys::swapByteOrder(C.cmdsize);
1322  sys::swapByteOrder(C.version);
1323  sys::swapByteOrder(C.sdk);
1324 }
1325 
1326 inline void swapStruct(note_command &C) {
1327  sys::swapByteOrder(C.cmd);
1328  sys::swapByteOrder(C.cmdsize);
1329  sys::swapByteOrder(C.offset);
1330  sys::swapByteOrder(C.size);
1331 }
1332 
1334  sys::swapByteOrder(C.cmd);
1335  sys::swapByteOrder(C.cmdsize);
1336  sys::swapByteOrder(C.platform);
1337  sys::swapByteOrder(C.minos);
1338  sys::swapByteOrder(C.sdk);
1339  sys::swapByteOrder(C.ntools);
1340 }
1341 
1343  sys::swapByteOrder(C.tool);
1344  sys::swapByteOrder(C.version);
1345 }
1346 
1348  sys::swapByteOrder(C.offset);
1349  sys::swapByteOrder(C.length);
1350  sys::swapByteOrder(C.kind);
1351 }
1352 
1354 
1355 // The prebind_cksum_command is obsolete and no longer supported.
1357  sys::swapByteOrder(C.cmd);
1358  sys::swapByteOrder(C.cmdsize);
1359  sys::swapByteOrder(C.cksum);
1360 }
1361 
1362 // The twolevel_hints_command is obsolete and no longer supported.
1364  sys::swapByteOrder(C.cmd);
1365  sys::swapByteOrder(C.cmdsize);
1366  sys::swapByteOrder(C.offset);
1367  sys::swapByteOrder(C.nhints);
1368 }
1369 
1370 // The prebound_dylib_command is obsolete and no longer supported.
1372  sys::swapByteOrder(C.cmd);
1373  sys::swapByteOrder(C.cmdsize);
1374  sys::swapByteOrder(C.name);
1375  sys::swapByteOrder(C.nmodules);
1376  sys::swapByteOrder(C.linked_modules);
1377 }
1378 
1379 // The fvmfile_command is obsolete and no longer supported.
1381  sys::swapByteOrder(C.cmd);
1382  sys::swapByteOrder(C.cmdsize);
1383  sys::swapByteOrder(C.name);
1384  sys::swapByteOrder(C.header_addr);
1385 }
1386 
1387 // The symseg_command is obsolete and no longer supported.
1388 inline void swapStruct(symseg_command &C) {
1389  sys::swapByteOrder(C.cmd);
1390  sys::swapByteOrder(C.cmdsize);
1391  sys::swapByteOrder(C.offset);
1392  sys::swapByteOrder(C.size);
1393 }
1394 
1395 // The ident_command is obsolete and no longer supported.
1396 inline void swapStruct(ident_command &C) {
1397  sys::swapByteOrder(C.cmd);
1398  sys::swapByteOrder(C.cmdsize);
1399 }
1400 
1401 inline void swapStruct(fvmlib &C) {
1402  sys::swapByteOrder(C.name);
1403  sys::swapByteOrder(C.minor_version);
1404  sys::swapByteOrder(C.header_addr);
1405 }
1406 
1407 // The fvmlib_command is obsolete and no longer supported.
1408 inline void swapStruct(fvmlib_command &C) {
1409  sys::swapByteOrder(C.cmd);
1410  sys::swapByteOrder(C.cmdsize);
1411  swapStruct(C.fvmlib);
1412 }
1413 
1414 // Get/Set functions from <mach-o/nlist.h>
1415 
1417  return (((n_desc) >> 8u) & 0xffu);
1418 }
1419 
1420 inline void SET_LIBRARY_ORDINAL(uint16_t &n_desc, uint8_t ordinal) {
1421  n_desc = (((n_desc)&0x00ff) | (((ordinal)&0xff) << 8));
1422 }
1423 
1424 inline uint8_t GET_COMM_ALIGN(uint16_t n_desc) {
1425  return (n_desc >> 8u) & 0x0fu;
1426 }
1427 
1428 inline void SET_COMM_ALIGN(uint16_t &n_desc, uint8_t align) {
1429  n_desc = ((n_desc & 0xf0ffu) | ((align & 0x0fu) << 8u));
1430 }
1431 
1432 // Enums from <mach/machine.h>
1433 enum : uint32_t {
1434  // Capability bits used in the definition of cpu_type.
1435  CPU_ARCH_MASK = 0xff000000, // Mask for architecture bits
1436  CPU_ARCH_ABI64 = 0x01000000, // 64 bit ABI
1437  CPU_ARCH_ABI64_32 = 0x02000000, // ILP32 ABI on 64-bit hardware
1438 };
1439 
1440 // Constants for the cputype field.
1441 enum CPUType {
1446  /* CPU_TYPE_MIPS = 8, */
1447  CPU_TYPE_MC98000 = 10, // Old Motorola PowerPC
1454 };
1455 
1456 enum : uint32_t {
1457  // Capability bits used in the definition of cpusubtype.
1458  CPU_SUBTYPE_MASK = 0xff000000, // Mask for architecture bits
1459  CPU_SUBTYPE_LIB64 = 0x80000000, // 64 bit libraries
1460 
1461  // Special CPU subtype constants.
1463 };
1464 
1465 // Constants for the cpusubtype field.
1488 
1493 };
1494 inline int CPU_SUBTYPE_INTEL(int Family, int Model) {
1495  return Family | (Model << 4);
1496 }
1498  return ((int)ST) & 0x0f;
1499 }
1500 inline int CPU_SUBTYPE_INTEL_MODEL(CPUSubTypeX86 ST) { return ((int)ST) >> 4; }
1502 
1511  // unused ARM_V7F = 10,
1517 };
1518 
1523 };
1524 
1526 
1528 
1543 
1546 };
1547 
1550 
1568 };
1569 
1592 };
1593 
1598 };
1599 
1605 };
1606 
1608  unsigned short invalid : 1, denorm : 1, zdiv : 1, ovrfl : 1, undfl : 1,
1609  precis : 1, : 2, pc : 2, rc : 2, : 1, : 3;
1610 };
1611 
1612 struct fp_status_t {
1613  unsigned short invalid : 1, denorm : 1, zdiv : 1, ovrfl : 1, undfl : 1,
1614  precis : 1, stkflt : 1, errsumm : 1, c0 : 1, c1 : 1, c2 : 1, tos : 3,
1615  c3 : 1, busy : 1;
1616 };
1617 
1618 struct mmst_reg_t {
1619  char mmst_reg[10];
1620  char mmst_rsrv[6];
1621 };
1622 
1623 struct xmm_reg_t {
1624  char xmm_reg[16];
1625 };
1626 
1628  int32_t fpu_reserved[2];
1631  uint8_t fpu_ftw;
1632  uint8_t fpu_rsrv1;
1666  char fpu_rsrv4[6 * 16];
1668 };
1669 
1675 };
1676 
1678  sys::swapByteOrder(x.eax);
1679  sys::swapByteOrder(x.ebx);
1680  sys::swapByteOrder(x.ecx);
1681  sys::swapByteOrder(x.edx);
1682  sys::swapByteOrder(x.edi);
1683  sys::swapByteOrder(x.esi);
1684  sys::swapByteOrder(x.ebp);
1685  sys::swapByteOrder(x.esp);
1686  sys::swapByteOrder(x.ss);
1687  sys::swapByteOrder(x.eflags);
1688  sys::swapByteOrder(x.eip);
1689  sys::swapByteOrder(x.cs);
1690  sys::swapByteOrder(x.ds);
1691  sys::swapByteOrder(x.es);
1692  sys::swapByteOrder(x.fs);
1693  sys::swapByteOrder(x.gs);
1694 }
1695 
1697  sys::swapByteOrder(x.rax);
1698  sys::swapByteOrder(x.rbx);
1699  sys::swapByteOrder(x.rcx);
1700  sys::swapByteOrder(x.rdx);
1701  sys::swapByteOrder(x.rdi);
1702  sys::swapByteOrder(x.rsi);
1703  sys::swapByteOrder(x.rbp);
1704  sys::swapByteOrder(x.rsp);
1705  sys::swapByteOrder(x.r8);
1706  sys::swapByteOrder(x.r9);
1707  sys::swapByteOrder(x.r10);
1708  sys::swapByteOrder(x.r11);
1709  sys::swapByteOrder(x.r12);
1710  sys::swapByteOrder(x.r13);
1711  sys::swapByteOrder(x.r14);
1712  sys::swapByteOrder(x.r15);
1713  sys::swapByteOrder(x.rip);
1714  sys::swapByteOrder(x.rflags);
1715  sys::swapByteOrder(x.cs);
1716  sys::swapByteOrder(x.fs);
1717  sys::swapByteOrder(x.gs);
1718 }
1719 
1721  sys::swapByteOrder(x.fpu_reserved[0]);
1722  sys::swapByteOrder(x.fpu_reserved[1]);
1723  // TODO swap: fp_control_t fpu_fcw;
1724  // TODO swap: fp_status_t fpu_fsw;
1725  sys::swapByteOrder(x.fpu_fop);
1726  sys::swapByteOrder(x.fpu_ip);
1727  sys::swapByteOrder(x.fpu_cs);
1728  sys::swapByteOrder(x.fpu_rsrv2);
1729  sys::swapByteOrder(x.fpu_dp);
1730  sys::swapByteOrder(x.fpu_ds);
1731  sys::swapByteOrder(x.fpu_rsrv3);
1732  sys::swapByteOrder(x.fpu_mxcsr);
1733  sys::swapByteOrder(x.fpu_mxcsrmask);
1734  sys::swapByteOrder(x.fpu_reserved1);
1735 }
1736 
1738  sys::swapByteOrder(x.trapno);
1739  sys::swapByteOrder(x.cpu);
1740  sys::swapByteOrder(x.err);
1741  sys::swapByteOrder(x.faultvaddr);
1742 }
1743 
1747 };
1748 
1751  union {
1754  } uts;
1755 };
1756 
1759  union {
1761  } ufs;
1762 };
1763 
1766  union {
1768  } ues;
1769 };
1770 
1772  sys::swapByteOrder(x.flavor);
1773  sys::swapByteOrder(x.count);
1774 }
1775 
1789 };
1790 
1792  swapStruct(x.tsh);
1793  if (x.tsh.flavor == x86_THREAD_STATE64)
1794  swapStruct(x.uts.ts64);
1795 }
1796 
1798  swapStruct(x.fsh);
1799  if (x.fsh.flavor == x86_FLOAT_STATE64)
1800  swapStruct(x.ufs.fs64);
1801 }
1802 
1804  swapStruct(x.esh);
1805  if (x.esh.flavor == x86_EXCEPTION_STATE64)
1806  swapStruct(x.ues.es64);
1807 }
1808 
1810  sizeof(x86_thread_state32_t) / sizeof(uint32_t);
1811 
1813  sizeof(x86_thread_state64_t) / sizeof(uint32_t);
1815  sizeof(x86_float_state64_t) / sizeof(uint32_t);
1817  sizeof(x86_exception_state64_t) / sizeof(uint32_t);
1818 
1820  sizeof(x86_thread_state_t) / sizeof(uint32_t);
1822  sizeof(x86_float_state_t) / sizeof(uint32_t);
1824  sizeof(x86_exception_state_t) / sizeof(uint32_t);
1825 
1832 };
1833 
1835  for (int i = 0; i < 13; i++)
1836  sys::swapByteOrder(x.r[i]);
1837  sys::swapByteOrder(x.sp);
1838  sys::swapByteOrder(x.lr);
1839  sys::swapByteOrder(x.pc);
1840  sys::swapByteOrder(x.cpsr);
1841 }
1842 
1851 };
1852 
1854  for (int i = 0; i < 29; i++)
1855  sys::swapByteOrder(x.x[i]);
1856  sys::swapByteOrder(x.fp);
1857  sys::swapByteOrder(x.lr);
1858  sys::swapByteOrder(x.sp);
1859  sys::swapByteOrder(x.pc);
1860  sys::swapByteOrder(x.cpsr);
1861 }
1862 
1866 };
1867 
1870  union {
1872  } uts;
1873 };
1874 
1876  sys::swapByteOrder(x.flavor);
1877  sys::swapByteOrder(x.count);
1878 }
1879 
1888 };
1889 
1891  swapStruct(x.tsh);
1892  if (x.tsh.flavor == ARM_THREAD_STATE)
1893  swapStruct(x.uts.ts32);
1894 }
1895 
1897  sizeof(arm_thread_state32_t) / sizeof(uint32_t);
1898 
1900  sizeof(arm_thread_state64_t) / sizeof(uint32_t);
1901 
1943 };
1944 
1946  sys::swapByteOrder(x.srr0);
1947  sys::swapByteOrder(x.srr1);
1948  sys::swapByteOrder(x.r0);
1949  sys::swapByteOrder(x.r1);
1950  sys::swapByteOrder(x.r2);
1951  sys::swapByteOrder(x.r3);
1952  sys::swapByteOrder(x.r4);
1953  sys::swapByteOrder(x.r5);
1954  sys::swapByteOrder(x.r6);
1955  sys::swapByteOrder(x.r7);
1956  sys::swapByteOrder(x.r8);
1957  sys::swapByteOrder(x.r9);
1958  sys::swapByteOrder(x.r10);
1959  sys::swapByteOrder(x.r11);
1960  sys::swapByteOrder(x.r12);
1961  sys::swapByteOrder(x.r13);
1962  sys::swapByteOrder(x.r14);
1963  sys::swapByteOrder(x.r15);
1964  sys::swapByteOrder(x.r16);
1965  sys::swapByteOrder(x.r17);
1966  sys::swapByteOrder(x.r18);
1967  sys::swapByteOrder(x.r19);
1968  sys::swapByteOrder(x.r20);
1969  sys::swapByteOrder(x.r21);
1970  sys::swapByteOrder(x.r22);
1971  sys::swapByteOrder(x.r23);
1972  sys::swapByteOrder(x.r24);
1973  sys::swapByteOrder(x.r25);
1974  sys::swapByteOrder(x.r26);
1975  sys::swapByteOrder(x.r27);
1976  sys::swapByteOrder(x.r28);
1977  sys::swapByteOrder(x.r29);
1978  sys::swapByteOrder(x.r30);
1979  sys::swapByteOrder(x.r31);
1980  sys::swapByteOrder(x.ct);
1981  sys::swapByteOrder(x.xer);
1982  sys::swapByteOrder(x.lr);
1983  sys::swapByteOrder(x.ctr);
1984  sys::swapByteOrder(x.mq);
1985  sys::swapByteOrder(x.vrsave);
1986 }
1987 
1991 };
1992 
1995  union {
1997  } uts;
1998 };
1999 
2001  sys::swapByteOrder(x.flavor);
2002  sys::swapByteOrder(x.count);
2003 }
2004 
2013 };
2014 
2016  swapStruct(x.tsh);
2017  if (x.tsh.flavor == PPC_THREAD_STATE)
2018  swapStruct(x.uts.ts32);
2019 }
2020 
2022  sizeof(ppc_thread_state32_t) / sizeof(uint32_t);
2023 
2024 // Define a union of all load command structs
2025 #define LOAD_COMMAND_STRUCT(LCStruct) LCStruct LCStruct##_data;
2026 
2028 union alignas(4) macho_load_command {
2029 #include "llvm/BinaryFormat/MachO.def"
2030 };
2032 
2034  sys::swapByteOrder(C.fixups_version);
2035  sys::swapByteOrder(C.starts_offset);
2036  sys::swapByteOrder(C.imports_offset);
2037  sys::swapByteOrder(C.symbols_offset);
2038  sys::swapByteOrder(C.imports_count);
2039  sys::swapByteOrder(C.imports_format);
2040  sys::swapByteOrder(C.symbols_format);
2041 }
2042 
2043 /* code signing attributes of a process */
2044 
2046  CS_VALID = 0x00000001, /* dynamically valid */
2047  CS_ADHOC = 0x00000002, /* ad hoc signed */
2048  CS_GET_TASK_ALLOW = 0x00000004, /* has get-task-allow entitlement */
2049  CS_INSTALLER = 0x00000008, /* has installer entitlement */
2050 
2052  0x00000010, /* Library Validation required by Hardened System Policy */
2053  CS_INVALID_ALLOWED = 0x00000020, /* (macOS Only) Page invalidation allowed by
2054  task port policy */
2055 
2056  CS_HARD = 0x00000100, /* don't load invalid pages */
2057  CS_KILL = 0x00000200, /* kill process if it becomes invalid */
2058  CS_CHECK_EXPIRATION = 0x00000400, /* force expiration checking */
2059  CS_RESTRICT = 0x00000800, /* tell dyld to treat restricted */
2060 
2061  CS_ENFORCEMENT = 0x00001000, /* require enforcement */
2062  CS_REQUIRE_LV = 0x00002000, /* require library validation */
2064  0x00004000, /* code signature permits restricted entitlements */
2066  0x00008000, /* has com.apple.rootless.restricted-nvram-variables.heritable
2067  entitlement */
2068 
2069  CS_RUNTIME = 0x00010000, /* Apply hardened runtime policies */
2070  CS_LINKER_SIGNED = 0x00020000, /* Automatically signed by the linker */
2071 
2075 
2076  CS_EXEC_SET_HARD = 0x00100000, /* set CS_HARD on any exec'ed process */
2077  CS_EXEC_SET_KILL = 0x00200000, /* set CS_KILL on any exec'ed process */
2079  0x00400000, /* set CS_ENFORCEMENT on any exec'ed process */
2081  0x00800000, /* set CS_INSTALLER on any exec'ed process */
2082 
2083  CS_KILLED = 0x01000000, /* was killed by kernel for invalidity */
2085  0x02000000, /* dyld used to load this is a platform binary */
2086  CS_PLATFORM_BINARY = 0x04000000, /* this is a platform binary */
2088  0x08000000, /* platform binary by the fact of path (osx only) */
2089 
2090  CS_DEBUGGED = 0x10000000, /* process is currently or has previously been
2091  debugged and allowed to run with invalid pages */
2092  CS_SIGNED = 0x20000000, /* process has a signature (may have gone invalid) */
2094  0x40000000, /* code is dev signed, cannot be loaded into prod signed code
2095  (will go away with rdar://problem/28322552) */
2097  0x80000000, /* has Data Vault controller entitlement */
2098 
2101 };
2102 
2103 /* executable segment flags */
2104 
2106 
2107  CS_EXECSEG_MAIN_BINARY = 0x1, /* executable segment denotes main binary */
2108  CS_EXECSEG_ALLOW_UNSIGNED = 0x10, /* allow unsigned pages (for debugging) */
2109  CS_EXECSEG_DEBUGGER = 0x20, /* main binary is debugger */
2110  CS_EXECSEG_JIT = 0x40, /* JIT enabled */
2111  CS_EXECSEG_SKIP_LV = 0x80, /* OBSOLETE: skip library validation */
2112  CS_EXECSEG_CAN_LOAD_CDHASH = 0x100, /* can bless cdhash for execution */
2113  CS_EXECSEG_CAN_EXEC_CDHASH = 0x200, /* can execute blessed cdhash */
2114 
2115 };
2116 
2117 /* Magic numbers used by Code Signing */
2118 
2120  CSMAGIC_REQUIREMENT = 0xfade0c00, /* single Requirement blob */
2122  0xfade0c01, /* Requirements vector (internal requirements) */
2123  CSMAGIC_CODEDIRECTORY = 0xfade0c02, /* CodeDirectory blob */
2124  CSMAGIC_EMBEDDED_SIGNATURE = 0xfade0cc0, /* embedded form of signature data */
2125  CSMAGIC_EMBEDDED_SIGNATURE_OLD = 0xfade0b02, /* XXX */
2126  CSMAGIC_EMBEDDED_ENTITLEMENTS = 0xfade7171, /* embedded entitlements */
2128  0xfade0cc1, /* multi-arch collection of embedded signatures */
2129  CSMAGIC_BLOBWRAPPER = 0xfade0b01, /* CMS Signature, among other things */
2130 
2137 
2138  CSSLOT_CODEDIRECTORY = 0, /* slot index for CodeDirectory */
2144 
2146  0x1000, /* first alternate CodeDirectory, if any */
2147  CSSLOT_ALTERNATE_CODEDIRECTORY_MAX = 5, /* max number of alternate CD slots */
2150  CSSLOT_ALTERNATE_CODEDIRECTORY_MAX, /* one past the last */
2151 
2152  CSSLOT_SIGNATURESLOT = 0x10000, /* CMS Signature */
2155 
2156  CSTYPE_INDEX_REQUIREMENTS = 0x00000002, /* compat with amfi */
2157  CSTYPE_INDEX_ENTITLEMENTS = 0x00000005, /* compat with amfi */
2158 
2163 
2167 
2168  CS_CDHASH_LEN = 20, /* always - larger hashes are truncated */
2169  CS_HASH_MAX_SIZE = 48, /* max size of the hash we'll support */
2170 
2171  /*
2172  * Currently only to support Legacy VPN plugins, and Mac App Store
2173  * but intended to replace all the various platform code, dev code etc. bits.
2174  */
2178 
2182 };
2183 
2185  uint32_t magic; /* magic number (CSMAGIC_CODEDIRECTORY) */
2186  uint32_t length; /* total length of CodeDirectory blob */
2187  uint32_t version; /* compatibility version */
2188  uint32_t flags; /* setup and mode flags */
2189  uint32_t hashOffset; /* offset of hash slot element at index zero */
2190  uint32_t identOffset; /* offset of identifier string */
2191  uint32_t nSpecialSlots; /* number of special hash slots */
2192  uint32_t nCodeSlots; /* number of ordinary (code) hash slots */
2193  uint32_t codeLimit; /* limit to main image signature range */
2194  uint8_t hashSize; /* size of each hash in bytes */
2195  uint8_t hashType; /* type of hash (cdHashType* constants) */
2196  uint8_t platform; /* platform identifier; zero if not platform binary */
2197  uint8_t pageSize; /* log2(page size in bytes); 0 => infinite */
2198  uint32_t spare2; /* unused (must be zero) */
2199 
2200  /* Version 0x20100 */
2201  uint32_t scatterOffset; /* offset of optional scatter vector */
2202 
2203  /* Version 0x20200 */
2204  uint32_t teamOffset; /* offset of optional team identifier */
2205 
2206  /* Version 0x20300 */
2207  uint32_t spare3; /* unused (must be zero) */
2208  uint64_t codeLimit64; /* limit to main image signature range, 64 bits */
2209 
2210  /* Version 0x20400 */
2211  uint64_t execSegBase; /* offset of executable segment */
2212  uint64_t execSegLimit; /* limit of executable segment */
2213  uint64_t execSegFlags; /* executable segment flags */
2214 };
2215 
2216 static_assert(sizeof(CS_CodeDirectory) == 88, "");
2217 
2219  uint32_t type; /* type of entry */
2220  uint32_t offset; /* offset of entry */
2221 };
2222 
2224  uint32_t magic; /* magic number */
2225  uint32_t length; /* total length of SuperBlob */
2226  uint32_t count; /* number of index entries following */
2227  /* followed by Blobs in no particular order as indicated by index offsets */
2228 };
2229 
2231  kSecCodeSignatureNoHash = 0, /* null value */
2232  kSecCodeSignatureHashSHA1 = 1, /* SHA-1 */
2233  kSecCodeSignatureHashSHA256 = 2, /* SHA-256 */
2235  3, /* SHA-256 truncated to first 20 bytes */
2236  kSecCodeSignatureHashSHA384 = 4, /* SHA-384 */
2237  kSecCodeSignatureHashSHA512 = 5, /* SHA-512 */
2238 };
2239 
2240 } // end namespace MachO
2241 } // end namespace llvm
2242 
2243 #endif
llvm::MachO::dylib
Definition: MachO.h:612
llvm::MachO::CPU_SUBTYPE_MULTIPLE
@ CPU_SUBTYPE_MULTIPLE
Definition: MachO.h:1462
llvm::MachO::S_CSTRING_LITERALS
@ S_CSTRING_LITERALS
S_CSTRING_LITERALS - Section with literal C strings.
Definition: MachO.h:129
llvm::MachO::segment_command_64::flags
uint32_t flags
Definition: MachO.h:562
llvm::MachO::CSMAGIC_CODEDIRECTORY
@ CSMAGIC_CODEDIRECTORY
Definition: MachO.h:2123
llvm::MachO::build_tool_version::tool
uint32_t tool
Definition: MachO.h:853
llvm::MachO::CS_SUPPL_SIGNER_TYPE_UNKNOWN
@ CS_SUPPL_SIGNER_TYPE_UNKNOWN
Definition: MachO.h:2179
llvm::MachO::CS_INVALID_ALLOWED
@ CS_INVALID_ALLOWED
Definition: MachO.h:2053
llvm::MachO::tlv_descriptor_32::thunk
uint32_t thunk
Definition: MachO.h:911
i
i
Definition: README.txt:29
llvm::MachO::sub_library_command
Definition: MachO.h:643
llvm::MachO::segment_command_64::initprot
uint32_t initprot
Definition: MachO.h:560
llvm::MachO::PPC_THREAD_STATE_COUNT
const uint32_t PPC_THREAD_STATE_COUNT
Definition: MachO.h:2021
llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGEOFF12
@ ARM64_RELOC_TLVP_LOAD_PAGEOFF12
Definition: MachO.h:468
llvm::MachO::CS_HASH_MAX_SIZE
@ CS_HASH_MAX_SIZE
Definition: MachO.h:2169
llvm::MachO::encryption_info_command::cryptoff
uint32_t cryptoff
Definition: MachO.h:822
llvm::MachO::fat_arch_64::offset
uint64_t offset
Definition: MachO.h:952
llvm::MachO::version_min_command::sdk
uint32_t sdk
Definition: MachO.h:841
llvm::MachO::CPU_SUBTYPE_ARM_V5
@ CPU_SUBTYPE_ARM_V5
Definition: MachO.h:1507
llvm::MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_IMM
@ BIND_OPCODE_SET_DYLIB_ORDINAL_IMM
Definition: MachO.h:272
llvm::MachO::x86_thread_state32_t
Definition: MachO.h:1551
llvm::MachO::CPUSubTypeX86
CPUSubTypeX86
Definition: MachO.h:1466
llvm::MachO::dysymtab_command::nextrel
uint32_t nextrel
Definition: MachO.h:722
LLVM_PACKED_END
#define LLVM_PACKED_END
Definition: Compiler.h:396
llvm::MachO::CS_FORCED_LV
@ CS_FORCED_LV
Definition: MachO.h:2051
llvm::MachO::sub_umbrella_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:639
llvm::MachO::PPC_RELOC_SECTDIFF
@ PPC_RELOC_SECTDIFF
Definition: MachO.h:422
llvm::MachO::fat_arch_64::reserved
uint32_t reserved
Definition: MachO.h:955
llvm::MachO::dyld_chained_starts_in_image::seg_count
uint32_t seg_count
Definition: MachO.h:1022
llvm::MachO::section
Definition: MachO.h:565
llvm::MachO::arm_thread_state64_t::cpsr
uint32_t cpsr
Definition: MachO.h:1849
llvm::MachO::CSSLOT_ALTERNATE_CODEDIRECTORY_MAX
@ CSSLOT_ALTERNATE_CODEDIRECTORY_MAX
Definition: MachO.h:2147
llvm::MachO::EXECUTABLE_ORDINAL
@ EXECUTABLE_ORDINAL
Definition: MachO.h:350
llvm::MachO::ARM64_RELOC_UNSIGNED
@ ARM64_RELOC_UNSIGNED
Definition: MachO.h:450
llvm::MachO::mach_header::magic
uint32_t magic
Definition: MachO.h:512
llvm::MachO::dylib::compatibility_version
uint32_t compatibility_version
Definition: MachO.h:616
llvm::MachO::x86_DEBUG_STATE64
@ x86_DEBUG_STATE64
Definition: MachO.h:1787
llvm::MachO::CS_DATAVAULT_CONTROLLER
@ CS_DATAVAULT_CONTROLLER
Definition: MachO.h:2096
llvm::MachO::PLATFORM_MACOS
@ PLATFORM_MACOS
Definition: MachO.h:494
llvm::MachO::scattered_relocation_info::r_pcrel
uint32_t r_pcrel
Definition: MachO.h:970
llvm::MachO::CPU_SUBTYPE_X86_ALL
@ CPU_SUBTYPE_X86_ALL
Definition: MachO.h:1489
llvm::MachO::thread_command::cmd
uint32_t cmd
Definition: MachO.h:665
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::MachO::PLATFORM_WATCHOSSIMULATOR
@ PLATFORM_WATCHOSSIMULATOR
Definition: MachO.h:502
llvm::MachO::CS_SIGNER_TYPE_UNKNOWN
@ CS_SIGNER_TYPE_UNKNOWN
Definition: MachO.h:2175
llvm::MachO::scattered_relocation_info::r_type
uint32_t r_type
Definition: MachO.h:970
llvm::MachO::CS_CodeDirectory::execSegLimit
uint64_t execSegLimit
Definition: MachO.h:2212
llvm::MachO::prebound_dylib_command::name
uint32_t name
Definition: MachO.h:653
llvm::MachO::MH_BUNDLE
@ MH_BUNDLE
Definition: MachO.h:50
llvm::MachO::any_relocation_info
Definition: MachO.h:977
llvm::MachO::tlv_descriptor_32::offset
uint32_t offset
Definition: MachO.h:913
llvm::MachO::MH_CIGAM_64
@ MH_CIGAM_64
Definition: MachO.h:33
llvm::MachO::symseg_command::cmd
uint32_t cmd
Definition: MachO.h:890
llvm::MachO::routines_command_64::reserved5
uint64_t reserved5
Definition: MachO.h:691
llvm::MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED
@ BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED
Definition: MachO.h:282
llvm::MachO::routines_command_64::init_address
uint64_t init_address
Definition: MachO.h:685
llvm::MachO::relocation_info::r_length
uint32_t r_length
Definition: MachO.h:961
llvm::MachO::tlv_descriptor_64::thunk
uint64_t thunk
Definition: MachO.h:917
llvm::MachO::encryption_info_command::cryptsize
uint32_t cryptsize
Definition: MachO.h:823
llvm::MachO::source_version_command::version
uint64_t version
Definition: MachO.h:816
llvm::MachO::dylib_module_64::ilocalsym
uint32_t ilocalsym
Definition: MachO.h:754
LLVM_PACKED_START
#define LLVM_PACKED_START
Definition: Compiler.h:395
llvm::MachO::uuid_command::cmd
uint32_t cmd
Definition: MachO.h:789
llvm::MachO::sub_umbrella_command
Definition: MachO.h:637
llvm::MachO::data_in_code_entry::length
uint16_t length
Definition: MachO.h:809
llvm::MachO::data_in_code_entry::kind
uint16_t kind
Definition: MachO.h:810
llvm::MachO::x86_float_state64_t::fpu_fop
uint16_t fpu_fop
Definition: MachO.h:1633
llvm::MachO::MH_PREBINDABLE
@ MH_PREBINDABLE
Definition: MachO.h:70
llvm::MachO::x86_exception_state_t::es64
x86_exception_state64_t es64
Definition: MachO.h:1767
llvm::MachO::MH_BINDATLOAD
@ MH_BINDATLOAD
Definition: MachO.h:62
llvm::MachO::fp_control_t::denorm
unsigned short denorm
Definition: MachO.h:1608
llvm::MachO::CS_EXECSEG_MAIN_BINARY
@ CS_EXECSEG_MAIN_BINARY
Definition: MachO.h:2107
llvm::MachO::x86_float_state64_t::fpu_fsw
fp_status_t fpu_fsw
Definition: MachO.h:1630
llvm::MachO::MH_SETUID_SAFE
@ MH_SETUID_SAFE
Definition: MachO.h:78
llvm::MachO::REFERENCE_FLAG_UNDEFINED_NON_LAZY
@ REFERENCE_FLAG_UNDEFINED_NON_LAZY
Definition: MachO.h:330
llvm::sys::swapByteOrder
void swapByteOrder(T &Value)
Definition: SwapByteOrder.h:158
llvm::MachO::kSecCodeSignatureHashSHA512
@ kSecCodeSignatureHashSHA512
Definition: MachO.h:2237
llvm::MachO::CS_SUPPORTSSCATTER
@ CS_SUPPORTSSCATTER
Definition: MachO.h:2131
llvm::MachO::PPC_RELOC_HA16
@ PPC_RELOC_HA16
Definition: MachO.h:420
llvm::MachO::dylib_module::iextrel
uint32_t iextrel
Definition: MachO.h:740
llvm::MachO::encryption_info_command_64::cmdsize
uint32_t cmdsize
Definition: MachO.h:829
llvm::MachO::mach_header_64::flags
uint32_t flags
Definition: MachO.h:528
llvm::MachO::sub_umbrella_command::sub_umbrella
uint32_t sub_umbrella
Definition: MachO.h:640
llvm::MachO::section_64::sectname
char sectname[16]
Definition: MachO.h:580
llvm::MachO::tlv_descriptor::offset
uintptr_t offset
Definition: MachO.h:925
llvm::MachO::ppc_thread_state32_t::r31
uint32_t r31
Definition: MachO.h:1936
llvm::MachO::dylib_module_64
Definition: MachO.h:748
llvm::MachO::mach_header::ncmds
uint32_t ncmds
Definition: MachO.h:516
llvm::MachO::fat_header::nfat_arch
uint32_t nfat_arch
Definition: MachO.h:938
llvm::MachO::fat_arch_64::align
uint32_t align
Definition: MachO.h:954
llvm::MachO::SELF_LIBRARY_ORDINAL
@ SELF_LIBRARY_ORDINAL
Definition: MachO.h:347
llvm::MachO::ppc_thread_state_t::tsh
ppc_state_hdr_t tsh
Definition: MachO.h:1994
llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE
@ EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE
Definition: MachO.h:296
llvm::MachO::N_LBRAC
@ N_LBRAC
Definition: MachO.h:380
llvm::MachO::rpath_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:796
llvm::MachO::CS_HASHTYPE_SHA384
@ CS_HASHTYPE_SHA384
Definition: MachO.h:2162
llvm::MachO::N_VERSION
@ N_VERSION
Definition: MachO.h:375
llvm::MachO::CS_CodeDirectory::length
uint32_t length
Definition: MachO.h:2186
llvm::MachO::MH_ALLOW_STACK_EXECUTION
@ MH_ALLOW_STACK_EXECUTION
Definition: MachO.h:76
llvm::MachO::symtab_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:697
llvm::MachO::CS_PLATFORM_BINARY
@ CS_PLATFORM_BINARY
Definition: MachO.h:2086
llvm::MachO::CPU_ARCH_ABI64
@ CPU_ARCH_ABI64
Definition: MachO.h:1436
llvm::MachO::ARM_RELOC_SECTDIFF
@ ARM_RELOC_SECTDIFF
Definition: MachO.h:436
llvm::MachO::nlist
Definition: MachO.h:989
llvm::MachO::CPU_SUBTYPE_POWERPC_603ev
@ CPU_SUBTYPE_POWERPC_603ev
Definition: MachO.h:1535
llvm::MachO::symtab_command::strsize
uint32_t strsize
Definition: MachO.h:701
llvm::MachO::segment_command_64::nsects
uint32_t nsects
Definition: MachO.h:561
llvm::MachO::fat_arch::align
uint32_t align
Definition: MachO.h:946
llvm::MachO::x86_float_state64_t::fpu_xmm5
xmm_reg_t fpu_xmm5
Definition: MachO.h:1655
llvm::MachO::GENERIC_RELOC_SECTDIFF
@ GENERIC_RELOC_SECTDIFF
Definition: MachO.h:406
llvm::MachO::BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
@ BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
Definition: MachO.h:278
llvm::MachO::kSecCodeSignatureHashSHA384
@ kSecCodeSignatureHashSHA384
Definition: MachO.h:2236
llvm::MachO::PPC_EXCEPTION_STATE
@ PPC_EXCEPTION_STATE
Definition: MachO.h:2008
llvm::MachO::fat_arch_64::size
uint64_t size
Definition: MachO.h:953
llvm::MachO::CS_HASHTYPE_SHA256_TRUNCATED
@ CS_HASHTYPE_SHA256_TRUNCATED
Definition: MachO.h:2161
llvm::MachO::fvmlib::header_addr
uint32_t header_addr
Definition: MachO.h:602
llvm::MachO::REBASE_OPCODE_SET_TYPE_IMM
@ REBASE_OPCODE_SET_TYPE_IMM
Definition: MachO.h:239
llvm::MachO::ARM64_RELOC_BRANCH26
@ ARM64_RELOC_BRANCH26
Definition: MachO.h:454
llvm::MachO::section::offset
uint32_t offset
Definition: MachO.h:570
llvm::MachO::routines_command_64::cmd
uint32_t cmd
Definition: MachO.h:683
llvm::MachO::fp_status_t::precis
unsigned short precis
Definition: MachO.h:1614
llvm::MachO::CS_DEBUGGED
@ CS_DEBUGGED
Definition: MachO.h:2090
llvm::MachO::CPU_SUBTYPE_ARM_V7M
@ CPU_SUBTYPE_ARM_V7M
Definition: MachO.h:1515
llvm::MachO::mach_header::cpusubtype
uint32_t cpusubtype
Definition: MachO.h:514
llvm::MachO::dylib_module::iinit_iterm
uint32_t iinit_iterm
Definition: MachO.h:742
llvm::MachO::CodeSignMagic
CodeSignMagic
Definition: MachO.h:2119
llvm::MachO::dylib_module_64::iextrel
uint32_t iextrel
Definition: MachO.h:756
llvm::MachO::encryption_info_command_64::cryptid
uint32_t cryptid
Definition: MachO.h:832
llvm::MachO::fp_control_t::pc
unsigned short pc
Definition: MachO.h:1609
llvm::MachO::CS_VALID
@ CS_VALID
Definition: MachO.h:2046
llvm::MachO::x86_float_state64_t::fpu_stmm0
mmst_reg_t fpu_stmm0
Definition: MachO.h:1642
llvm::MachO::MH_NO_REEXPORTED_DYLIBS
@ MH_NO_REEXPORTED_DYLIBS
Definition: MachO.h:79
llvm::MachO::CPU_SUBTYPE_PENTII_M5
@ CPU_SUBTYPE_PENTII_M5
Definition: MachO.h:1475
llvm::MachO::ppc_thread_state32_t::r10
uint32_t r10
Definition: MachO.h:1915
llvm::MachO::CSSLOT_INFOSLOT
@ CSSLOT_INFOSLOT
Definition: MachO.h:2139
llvm::MachO::X86_64_RELOC_SIGNED_4
@ X86_64_RELOC_SIGNED_4
Definition: MachO.h:483
llvm::MachO::ARM_EXCEPTION_STATE
@ ARM_EXCEPTION_STATE
Definition: MachO.h:1883
llvm::MachO::x86_EXCEPTION_STATE64_COUNT
const uint32_t x86_EXCEPTION_STATE64_COUNT
Definition: MachO.h:1816
llvm::MachO::CS_CodeDirectory::nSpecialSlots
uint32_t nSpecialSlots
Definition: MachO.h:2191
llvm::MachO::N_PC
@ N_PC
Definition: MachO.h:362
llvm::MachO::entry_point_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:930
llvm::MachO::N_COLD_FUNC
@ N_COLD_FUNC
Definition: MachO.h:344
llvm::MachO::CPU_SUBTYPE_PENTIUM_M
@ CPU_SUBTYPE_PENTIUM_M
Definition: MachO.h:1481
llvm::MachO::x86_float_state64_t::fpu_rsrv4
char fpu_rsrv4[6 *16]
Definition: MachO.h:1666
llvm::MachO::ppc_thread_state32_t::r7
uint32_t r7
Definition: MachO.h:1912
llvm::MachO::x86_exception_state64_t::trapno
uint16_t trapno
Definition: MachO.h:1671
llvm::MachO::MH_EXECUTE
@ MH_EXECUTE
Definition: MachO.h:44
llvm::MachO::CS_CodeDirectory::hashSize
uint8_t hashSize
Definition: MachO.h:2194
llvm::MachO::dysymtab_command::indirectsymoff
uint32_t indirectsymoff
Definition: MachO.h:719
llvm::MachO::ARM64_RELOC_ADDEND
@ ARM64_RELOC_ADDEND
Definition: MachO.h:470
llvm::MachO::entry_point_command::cmd
uint32_t cmd
Definition: MachO.h:929
llvm::MachO::segment_command::filesize
uint32_t filesize
Definition: MachO.h:544
llvm::MachO::rpath_command
Definition: MachO.h:794
llvm::MachO::ppc_thread_state32_t::r6
uint32_t r6
Definition: MachO.h:1911
llvm::MachO::MH_BINDS_TO_WEAK
@ MH_BINDS_TO_WEAK
Definition: MachO.h:75
llvm::MachO::N_GSYM
@ N_GSYM
Definition: MachO.h:356
llvm::MachO::relocation_info::r_address
int32_t r_address
Definition: MachO.h:960
Error.h
llvm::MachO::REBASE_TYPE_POINTER
@ REBASE_TYPE_POINTER
Definition: MachO.h:230
llvm::Triple
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
SwapByteOrder.h
llvm::MachO::PLATFORM_IOS
@ PLATFORM_IOS
Definition: MachO.h:495
llvm::MachO::N_ENSYM
@ N_ENSYM
Definition: MachO.h:367
llvm::MachO::N_TYPE
@ N_TYPE
Definition: MachO.h:304
llvm::MachO::ARM_RELOC_LOCAL_SECTDIFF
@ ARM_RELOC_LOCAL_SECTDIFF
Definition: MachO.h:437
llvm::MachO::section_64::addr
uint64_t addr
Definition: MachO.h:582
llvm::MachO::sub_framework_command
Definition: MachO.h:625
llvm::MachO::CPU_TYPE_ARM
@ CPU_TYPE_ARM
Definition: MachO.h:1448
llvm::MachO::data_in_code_entry::offset
uint32_t offset
Definition: MachO.h:808
llvm::MachO::SET_LIBRARY_ORDINAL
void SET_LIBRARY_ORDINAL(uint16_t &n_desc, uint8_t ordinal)
Definition: MachO.h:1420
llvm::MachO::ppc_thread_state32_t::mq
uint32_t mq
Definition: MachO.h:1941
llvm::MachO::S_LITERAL_POINTERS
@ S_LITERAL_POINTERS
S_LITERAL_POINTERS - Section with pointers to literals.
Definition: MachO.h:135
llvm::MachO::DICE_KIND_JUMP_TABLE8
@ DICE_KIND_JUMP_TABLE8
Definition: MachO.h:223
llvm::MachO::nlist_64::n_strx
uint32_t n_strx
Definition: MachO.h:998
llvm::MachO::x86_float_state64_t::fpu_ftw
uint8_t fpu_ftw
Definition: MachO.h:1631
llvm::MachO::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER
@ EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER
Definition: MachO.h:290
llvm::MachO::ppc_thread_state32_t::r5
uint32_t r5
Definition: MachO.h:1910
llvm::MachO::dylib_module::module_name
uint32_t module_name
Definition: MachO.h:733
llvm::MachO::REBASE_OPCODE_ADD_ADDR_ULEB
@ REBASE_OPCODE_ADD_ADDR_ULEB
Definition: MachO.h:241
llvm::MachO::arm_thread_state_t::ts32
arm_thread_state32_t ts32
Definition: MachO.h:1871
llvm::MachO::CS_EXECSEG_JIT
@ CS_EXECSEG_JIT
Definition: MachO.h:2110
llvm::MachO::arm_thread_state64_t::sp
uint64_t sp
Definition: MachO.h:1847
llvm::MachO::CSSLOT_TICKETSLOT
@ CSSLOT_TICKETSLOT
Definition: MachO.h:2154
llvm::MachO::dylib::name
uint32_t name
Definition: MachO.h:613
llvm::MachO::BIND_SPECIAL_DYLIB_WEAK_LOOKUP
@ BIND_SPECIAL_DYLIB_WEAK_LOOKUP
Definition: MachO.h:259
llvm::MachO::segment_command::fileoff
uint32_t fileoff
Definition: MachO.h:543
llvm::MachO::x86_float_state64_t::fpu_stmm3
mmst_reg_t fpu_stmm3
Definition: MachO.h:1645
llvm::MachO::sub_library_command::cmd
uint32_t cmd
Definition: MachO.h:644
llvm::MachO::PLATFORM_MACCATALYST
@ PLATFORM_MACCATALYST
Definition: MachO.h:499
llvm::MachO::segment_command_64::cmd
uint32_t cmd
Definition: MachO.h:552
llvm::MachO::symtab_command
Definition: MachO.h:695
llvm::MachO::S_GB_ZEROFILL
@ S_GB_ZEROFILL
S_GB_ZEROFILL - Zero fill on demand section (that can be larger than 4 gigabytes).
Definition: MachO.h:153
llvm::MachO::SG_NORELOC
@ SG_NORELOC
Definition: MachO.h:107
llvm::MachO::segment_command::vmsize
uint32_t vmsize
Definition: MachO.h:542
llvm::MachO::VM_PROT_WRITE
@ VM_PROT_WRITE
Definition: MachO.h:489
llvm::MachO::CS_EXEC_INHERIT_SIP
@ CS_EXEC_INHERIT_SIP
Definition: MachO.h:2080
llvm::MachO::GET_COMM_ALIGN
uint8_t GET_COMM_ALIGN(uint16_t n_desc)
Definition: MachO.h:1424
llvm::MachO::fvmlib
Definition: MachO.h:599
llvm::MachO::build_version_command
Definition: MachO.h:857
llvm::MachO::DICE_KIND_DATA
@ DICE_KIND_DATA
Definition: MachO.h:222
llvm::MachO::CS_ENTITLEMENTS_VALIDATED
@ CS_ENTITLEMENTS_VALIDATED
Definition: MachO.h:2063
llvm::MachO::x86_EXCEPTION_STATE
@ x86_EXCEPTION_STATE
Definition: MachO.h:1785
llvm::MachO::ppc_thread_state32_t::ct
uint32_t ct
Definition: MachO.h:1937
llvm::MachO::FAT_MAGIC
@ FAT_MAGIC
Definition: MachO.h:34
llvm::MachO::section::segname
char segname[16]
Definition: MachO.h:567
llvm::MachO::CS_CodeDirectory::execSegBase
uint64_t execSegBase
Definition: MachO.h:2211
llvm::MachO::EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION
@ EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION
Definition: MachO.h:288
llvm::MachO::prebind_cksum_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:784
llvm::MachO::DICE_KIND_JUMP_TABLE16
@ DICE_KIND_JUMP_TABLE16
Definition: MachO.h:224
llvm::MachO::REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
@ REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
Definition: MachO.h:240
llvm::MachO::x86_thread_state64_t::rax
uint64_t rax
Definition: MachO.h:1571
llvm::MachO::mmst_reg_t::mmst_reg
char mmst_reg[10]
Definition: MachO.h:1619
llvm::MachO::REFERENCE_FLAG_DEFINED
@ REFERENCE_FLAG_DEFINED
Definition: MachO.h:332
llvm::MachO::CSSLOT_ENTITLEMENTS
@ CSSLOT_ENTITLEMENTS
Definition: MachO.h:2143
llvm::MachO::PPC_RELOC_BR14
@ PPC_RELOC_BR14
Definition: MachO.h:416
llvm::MachO::CPUType
CPUType
Definition: MachO.h:1441
llvm::MachO::dysymtab_command::tocoff
uint32_t tocoff
Definition: MachO.h:713
llvm::MachO::dyld_chained_starts_in_image
dyld_chained_starts_in_image is embedded in LC_DYLD_CHAINED_FIXUPS payload.
Definition: MachO.h:1021
llvm::MachO::x86_float_state64_t::fpu_xmm9
xmm_reg_t fpu_xmm9
Definition: MachO.h:1659
llvm::MachO::encryption_info_command_64::cmd
uint32_t cmd
Definition: MachO.h:828
llvm::MachO::MH_INCRLINK
@ MH_INCRLINK
Definition: MachO.h:60
llvm::MachO::CS_SIGNER_TYPE_MAC_APP_STORE
@ CS_SIGNER_TYPE_MAC_APP_STORE
Definition: MachO.h:2177
llvm::MachO::isVirtualSection
bool isVirtualSection(uint8_t type)
Definition: MachO.h:594
llvm::MachO::rpath_command::path
uint32_t path
Definition: MachO.h:797
llvm::MachO::ARM_RELOC_PB_LA_PTR
@ ARM_RELOC_PB_LA_PTR
Definition: MachO.h:438
llvm::MachO::CPU_SUBTYPE_PENT
@ CPU_SUBTYPE_PENT
Definition: MachO.h:1472
llvm::MachO::load_command::cmd
uint32_t cmd
Definition: MachO.h:533
llvm::MachO::CS_SUPPORTSTEAMID
@ CS_SUPPORTSTEAMID
Definition: MachO.h:2132
llvm::MachO::LoadCommandType
LoadCommandType
Definition: MachO.h:97
llvm::MachO::x86_thread_state64_t::r14
uint64_t r14
Definition: MachO.h:1585
llvm::MachO::sub_framework_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:627
llvm::MachO::dyld_info_command::export_off
uint32_t export_off
Definition: MachO.h:878
llvm::MachO::SG_HIGHVM
@ SG_HIGHVM
Definition: MachO.h:105
llvm::MachO::CodeSignExecSegFlags
CodeSignExecSegFlags
Definition: MachO.h:2105
llvm::MachO::S_ZEROFILL
@ S_ZEROFILL
S_ZEROFILL - Zero fill on demand section.
Definition: MachO.h:127
llvm::MachO::CS_EXECSEG_CAN_LOAD_CDHASH
@ CS_EXECSEG_CAN_LOAD_CDHASH
Definition: MachO.h:2112
llvm::MachO::fvmlib::minor_version
uint32_t minor_version
Definition: MachO.h:601
llvm::MachO::PPC_RELOC_LO16
@ PPC_RELOC_LO16
Definition: MachO.h:419
llvm::MachO::CS_CodeDirectory::flags
uint32_t flags
Definition: MachO.h:2188
llvm::MachO::x86_thread_state32_t::es
uint32_t es
Definition: MachO.h:1565
llvm::MachO::tlv_descriptor::thunk
uintptr_t thunk
Definition: MachO.h:923
llvm::MachO::dysymtab_command::nindirectsyms
uint32_t nindirectsyms
Definition: MachO.h:720
llvm::MachO::TOOL_SWIFT
@ TOOL_SWIFT
Definition: MachO.h:507
llvm::MachO::dylib_module::iextdefsym
uint32_t iextdefsym
Definition: MachO.h:734
llvm::MachO::section::size
uint32_t size
Definition: MachO.h:569
llvm::MachO::dylib_module_64::iextdefsym
uint32_t iextdefsym
Definition: MachO.h:750
llvm::MachO::nlist::n_sect
uint8_t n_sect
Definition: MachO.h:992
llvm::MachO::ppc_thread_state32_t::r28
uint32_t r28
Definition: MachO.h:1933
llvm::MachO::mach_header_64::ncmds
uint32_t ncmds
Definition: MachO.h:526
llvm::MachO::CPU_SUBTYPE_POWERPC_7450
@ CPU_SUBTYPE_POWERPC_7450
Definition: MachO.h:1541
llvm::MachO::section_64::offset
uint32_t offset
Definition: MachO.h:584
llvm::MachO::ExportSymbolKind
ExportSymbolKind
Definition: MachO.h:293
llvm::MachO::N_UNDF
@ N_UNDF
Definition: MachO.h:311
llvm::MachO::BindSpecialDylib
BindSpecialDylib
Definition: MachO.h:255
llvm::MachO::N_ALT_ENTRY
@ N_ALT_ENTRY
Definition: MachO.h:343
llvm::Expected
Tagged union holding either a T or a Error.
Definition: APFloat.h:41
llvm::MachO::x86_THREAD_STATE
@ x86_THREAD_STATE
Definition: MachO.h:1783
llvm::MachO::CPU_SUBTYPE_PENTIUM_3
@ CPU_SUBTYPE_PENTIUM_3
Definition: MachO.h:1478
llvm::MachO::nlist::n_value
uint32_t n_value
Definition: MachO.h:994
llvm::MachO::dyld_chained_fixups_header::fixups_version
uint32_t fixups_version
0
Definition: MachO.h:1009
llvm::MachO::prebound_dylib_command::cmd
uint32_t cmd
Definition: MachO.h:651
llvm::MachO::BIND_SYMBOL_FLAGS_WEAK_IMPORT
@ BIND_SYMBOL_FLAGS_WEAK_IMPORT
Definition: MachO.h:263
llvm::MachO::CPU_SUBTYPE_I386_ALL
@ CPU_SUBTYPE_I386_ALL
Definition: MachO.h:1467
llvm::MachO::REFERENCE_TYPE
@ REFERENCE_TYPE
Definition: MachO.h:329
llvm::MachO::MH_CANONICAL
@ MH_CANONICAL
Definition: MachO.h:73
llvm::MachO::MH_NOFIXPREBINDING
@ MH_NOFIXPREBINDING
Definition: MachO.h:69
llvm::MachO::dylib_module
Definition: MachO.h:732
llvm::MachO::CS_CodeDirectory::codeLimit64
uint64_t codeLimit64
Definition: MachO.h:2208
llvm::MachO::MH_DYLIB_IN_CACHE
@ MH_DYLIB_IN_CACHE
Definition: MachO.h:87
llvm::MachO::X86_64_RELOC_SIGNED_2
@ X86_64_RELOC_SIGNED_2
Definition: MachO.h:482
llvm::MachO::S_SYMBOL_STUBS
@ S_SYMBOL_STUBS
S_SYMBOL_STUBS - Section with symbol stubs, byte size of stub in the Reserved2 field.
Definition: MachO.h:142
llvm::MachO::S_8BYTE_LITERALS
@ S_8BYTE_LITERALS
S_8BYTE_LITERALS - Section with 8 byte literals.
Definition: MachO.h:133
llvm::MachO::x86_float_state64_t::fpu_xmm3
xmm_reg_t fpu_xmm3
Definition: MachO.h:1653
llvm::MachO::dyld_chained_fixups_header::imports_format
uint32_t imports_format
DYLD_CHAINED_IMPORT*.
Definition: MachO.h:1014
llvm::MachO::scattered_relocation_info::r_value
int32_t r_value
Definition: MachO.h:973
llvm::MachO::prebound_dylib_command
Definition: MachO.h:650
llvm::MachO::CPU_SUBTYPE_SPARC_ALL
@ CPU_SUBTYPE_SPARC_ALL
Definition: MachO.h:1527
llvm::MachO::note_command::cmd
uint32_t cmd
Definition: MachO.h:845
llvm::MachO::CPU_SUBTYPE_POWERPC_603
@ CPU_SUBTYPE_POWERPC_603
Definition: MachO.h:1533
llvm::MachO::build_version_command::sdk
uint32_t sdk
Definition: MachO.h:863
llvm::MachO::SECTION_ATTRIBUTES_SYS
@ SECTION_ATTRIBUTES_SYS
Definition: MachO.h:115
llvm::MachO::tlv_descriptor_64
Definition: MachO.h:916
llvm::MachO::section_64::reserved2
uint32_t reserved2
Definition: MachO.h:590
llvm::MachO::arm_thread_state32_t::r
uint32_t r[13]
Definition: MachO.h:1827
llvm::MachO::x86_thread_state_t::uts
union llvm::MachO::x86_thread_state_t::@149 uts
llvm::MachO::x86_thread_state32_t::eflags
uint32_t eflags
Definition: MachO.h:1561
llvm::MachO::build_tool_version::version
uint32_t version
Definition: MachO.h:854
llvm::MachO::CS_CodeDirectory::identOffset
uint32_t identOffset
Definition: MachO.h:2190
llvm::MachO::routines_command_64::reserved1
uint64_t reserved1
Definition: MachO.h:687
llvm::MachO::encryption_info_command_64::cryptoff
uint32_t cryptoff
Definition: MachO.h:830
llvm::MachO::ppc_thread_state32_t::r12
uint32_t r12
Definition: MachO.h:1917
llvm::MachO::x86_float_state64_t::fpu_xmm7
xmm_reg_t fpu_xmm7
Definition: MachO.h:1657
llvm::MachO::nlist_64::n_type
uint8_t n_type
Definition: MachO.h:999
llvm::MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB
@ BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB
Definition: MachO.h:281
llvm::MachO::x86_float_state64_t::fpu_stmm7
mmst_reg_t fpu_stmm7
Definition: MachO.h:1649
llvm::MachO::MH_NOUNDEFS
@ MH_NOUNDEFS
Definition: MachO.h:59
llvm::MachO::arm_thread_state32_t::lr
uint32_t lr
Definition: MachO.h:1829
llvm::MachO::symtab_command::nsyms
uint32_t nsyms
Definition: MachO.h:699
llvm::MachO::S_MOD_TERM_FUNC_POINTERS
@ S_MOD_TERM_FUNC_POINTERS
S_MOD_TERM_FUNC_POINTERS - Section with only function pointers for termination.
Definition: MachO.h:148
llvm::MachO::CPU_TYPE_X86_64
@ CPU_TYPE_X86_64
Definition: MachO.h:1445
llvm::MachO::ident_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:899
llvm::MachO::S_ATTR_EXT_RELOC
@ S_ATTR_EXT_RELOC
S_ATTR_EXT_RELOC - Section has external relocation entries.
Definition: MachO.h:210
llvm::MachO::CPU_SUBTYPE_POWERPC_604e
@ CPU_SUBTYPE_POWERPC_604e
Definition: MachO.h:1537
llvm::MachO::MH_MAGIC
@ MH_MAGIC
Definition: MachO.h:30
llvm::MachO::thread_command
Definition: MachO.h:664
llvm::MachO::x86_thread_state64_t::rdi
uint64_t rdi
Definition: MachO.h:1575
llvm::MachO::dylib_module::nextdefsym
uint32_t nextdefsym
Definition: MachO.h:735
llvm::MachO::thread_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:666
llvm::MachO::entry_point_command::stacksize
uint64_t stacksize
Definition: MachO.h:932
llvm::MachO::CS_CodeDirectory::scatterOffset
uint32_t scatterOffset
Definition: MachO.h:2201
llvm::MachO::getCPUType
Expected< uint32_t > getCPUType(const Triple &T)
Definition: MachO.cpp:77
llvm::MachO::fp_control_t::rc
unsigned short rc
Definition: MachO.h:1609
llvm::MachO::uuid_command
Definition: MachO.h:788
llvm::MachO::section::addr
uint32_t addr
Definition: MachO.h:568
llvm::MachO::PPC_RELOC_JBSR
@ PPC_RELOC_JBSR
Definition: MachO.h:427
llvm::MachO::uuid_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:790
llvm::MachO::ARM64_RELOC_SUBTRACTOR
@ ARM64_RELOC_SUBTRACTOR
Definition: MachO.h:452
llvm::MachO::S_ATTR_SOME_INSTRUCTIONS
@ S_ATTR_SOME_INSTRUCTIONS
S_ATTR_SOME_INSTRUCTIONS - Section contains some machine instructions.
Definition: MachO.h:208
llvm::MachO::fp_status_t::invalid
unsigned short invalid
Definition: MachO.h:1613
llvm::MachO::StabType
StabType
Definition: MachO.h:353
llvm::MachO::MH_PREBOUND
@ MH_PREBOUND
Definition: MachO.h:63
llvm::MachO::x86_DEBUG_STATE
@ x86_DEBUG_STATE
Definition: MachO.h:1788
llvm::MachO::fvmfile_command::header_addr
uint32_t header_addr
Definition: MachO.h:907
llvm::MachO::arm_state_hdr_t::count
uint32_t count
Definition: MachO.h:1865
llvm::MachO::S_ATTR_STRIP_STATIC_SYMS
@ S_ATTR_STRIP_STATIC_SYMS
S_ATTR_STRIP_STATIC_SYMS - Ok to strip static symbols in this section in files with the MY_DYLDLINK f...
Definition: MachO.h:193
llvm::MachO::CSTYPE_INDEX_ENTITLEMENTS
@ CSTYPE_INDEX_ENTITLEMENTS
Definition: MachO.h:2157
llvm::MachO::MH_WEAK_DEFINES
@ MH_WEAK_DEFINES
Definition: MachO.h:74
llvm::MachO::PLATFORM_IOSSIMULATOR
@ PLATFORM_IOSSIMULATOR
Definition: MachO.h:500
llvm::MachO::fp_status_t::denorm
unsigned short denorm
Definition: MachO.h:1613
llvm::MachO::fat_arch::size
uint32_t size
Definition: MachO.h:945
llvm::MachO::prebind_cksum_command::cmd
uint32_t cmd
Definition: MachO.h:783
llvm::MachO::X86_64_RELOC_BRANCH
@ X86_64_RELOC_BRANCH
Definition: MachO.h:477
llvm::Reloc::Model
Model
Definition: CodeGen.h:22
llvm::MachO::MH_CIGAM
@ MH_CIGAM
Definition: MachO.h:31
llvm::MachO::dyld_info_command
Definition: MachO.h:867
llvm::MachO::CPU_TYPE_POWERPC64
@ CPU_TYPE_POWERPC64
Definition: MachO.h:1453
llvm::MachO::REFERENCE_FLAG_PRIVATE_DEFINED
@ REFERENCE_FLAG_PRIVATE_DEFINED
Definition: MachO.h:333
llvm::MachO::x86_thread_state32_t::ss
uint32_t ss
Definition: MachO.h:1560
llvm::MachO::CS_EXECSEG_CAN_EXEC_CDHASH
@ CS_EXECSEG_CAN_EXEC_CDHASH
Definition: MachO.h:2113
llvm::MachO::N_EXCL
@ N_EXCL
Definition: MachO.h:381
llvm::MachO::x86_thread_state32_t::edi
uint32_t edi
Definition: MachO.h:1556
llvm::MachO::MH_FORCE_FLAT
@ MH_FORCE_FLAT
Definition: MachO.h:67
llvm::MachO::MH_CORE
@ MH_CORE
Definition: MachO.h:46
llvm::MachO::CS_CodeDirectory::nCodeSlots
uint32_t nCodeSlots
Definition: MachO.h:2192
llvm::MachO::x86_float_state64_t::fpu_xmm15
xmm_reg_t fpu_xmm15
Definition: MachO.h:1665
llvm::MachO::SecCSDigestAlgorithm
SecCSDigestAlgorithm
Definition: MachO.h:2230
llvm::MachO::mach_header::flags
uint32_t flags
Definition: MachO.h:518
llvm::MachO::version_min_command::version
uint32_t version
Definition: MachO.h:840
llvm::MachO::dysymtab_command::locreloff
uint32_t locreloff
Definition: MachO.h:723
llvm::MachO::PPC_RELOC_LO16_SECTDIFF
@ PPC_RELOC_LO16_SECTDIFF
Definition: MachO.h:425
llvm::MachO::routines_command_64::cmdsize
uint32_t cmdsize
Definition: MachO.h:684
llvm::MachO::data_in_code_entry
Definition: MachO.h:807
llvm::MachO::sub_client_command
Definition: MachO.h:631
llvm::MachO::fp_control_t::invalid
unsigned short invalid
Definition: MachO.h:1608
llvm::MachO::x86_float_state64_t::fpu_xmm4
xmm_reg_t fpu_xmm4
Definition: MachO.h:1654
llvm::MachO::section_64::segname
char segname[16]
Definition: MachO.h:581
llvm::MachO::CS_EXEC_SET_KILL
@ CS_EXEC_SET_KILL
Definition: MachO.h:2077
llvm::MachO::PLATFORM_UNKNOWN
@ PLATFORM_UNKNOWN
Definition: MachO.h:493
llvm::MachO::fat_arch
Definition: MachO.h:941
llvm::MachO::fat_arch_64::cputype
uint32_t cputype
Definition: MachO.h:950
llvm::MachO::ppc_state_hdr_t::count
uint32_t count
Definition: MachO.h:1990
llvm::MachO::S_COALESCED
@ S_COALESCED
S_COALESCED - Section contains symbols that are to be coalesced.
Definition: MachO.h:150
llvm::MachO::ARM_EXCEPTION_STATE64
@ ARM_EXCEPTION_STATE64
Definition: MachO.h:1887
llvm::MachO::SECTION_ATTRIBUTES
@ SECTION_ATTRIBUTES
Definition: MachO.h:113
llvm::MachO::fvmlib::name
uint32_t name
Definition: MachO.h:600
llvm::MachO::MH_PIE
@ MH_PIE
Definition: MachO.h:80
llvm::MachO::ARM_VFP_STATE
@ ARM_VFP_STATE
Definition: MachO.h:1882
llvm::MachO::PPC_THREAD_STATE_NONE
@ PPC_THREAD_STATE_NONE
Definition: MachO.h:2012
llvm::MachO::CPU_SUBTYPE_ITANIUM
@ CPU_SUBTYPE_ITANIUM
Definition: MachO.h:1484
llvm::MachO::CPU_SUBTYPE_X86_ARCH1
@ CPU_SUBTYPE_X86_ARCH1
Definition: MachO.h:1491
llvm::MachO::N_PSYM
@ N_PSYM
Definition: MachO.h:377
llvm::MachO::CS_CodeDirectory::magic
uint32_t magic
Definition: MachO.h:2185
llvm::MachO::MH_SPLIT_SEGS
@ MH_SPLIT_SEGS
Definition: MachO.h:64
llvm::MachO::x86_EXCEPTION_STATE64
@ x86_EXCEPTION_STATE64
Definition: MachO.h:1782
llvm::MachO::N_RBRAC
@ N_RBRAC
Definition: MachO.h:382
llvm::MachO::routines_command
Definition: MachO.h:669
llvm::MachO::REFERENCE_FLAG_UNDEFINED_LAZY
@ REFERENCE_FLAG_UNDEFINED_LAZY
Definition: MachO.h:331
llvm::MachO::fp_control_t
Definition: MachO.h:1607
llvm::MachO::dysymtab_command::ntoc
uint32_t ntoc
Definition: MachO.h:714
llvm::MachO::CS_SuperBlob::count
uint32_t count
Definition: MachO.h:2226
llvm::MachO::N_ENTRY
@ N_ENTRY
Definition: MachO.h:379
llvm::MachO::routines_command::reserved4
uint32_t reserved4
Definition: MachO.h:677
llvm::MachO::PPCThreadFlavors
PPCThreadFlavors
Definition: MachO.h:2005
llvm::MachO::ppc_thread_state32_t::r22
uint32_t r22
Definition: MachO.h:1927
llvm::MachO::x86_thread_state64_t::fs
uint64_t fs
Definition: MachO.h:1590
llvm::MachO::any_relocation_info::r_word1
uint32_t r_word1
Definition: MachO.h:978
llvm::MachO::nlist_64::n_value
uint64_t n_value
Definition: MachO.h:1002
llvm::MachO::segment_command::cmd
uint32_t cmd
Definition: MachO.h:538
llvm::MachO::GENERIC_RELOC_PAIR
@ GENERIC_RELOC_PAIR
Definition: MachO.h:405
llvm::MachO::dysymtab_command::nextdefsym
uint32_t nextdefsym
Definition: MachO.h:710
llvm::MachO::twolevel_hints_command::nhints
uint32_t nhints
Definition: MachO.h:773
llvm::MachO::CSMAGIC_BLOBWRAPPER
@ CSMAGIC_BLOBWRAPPER
Definition: MachO.h:2129
llvm::MachO::CPU_SUBTYPE_ARM64_V8
@ CPU_SUBTYPE_ARM64_V8
Definition: MachO.h:1521
llvm::MachO::prebound_dylib_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:652
llvm::MachO::dylib_table_of_contents
Definition: MachO.h:727
llvm::MachO::rpath_command::cmd
uint32_t cmd
Definition: MachO.h:795
llvm::MachO::x86_float_state64_t::fpu_mxcsrmask
uint32_t fpu_mxcsrmask
Definition: MachO.h:1641
llvm::MachO::CSSLOT_APPLICATION
@ CSSLOT_APPLICATION
Definition: MachO.h:2142
llvm::MachO::x86_float_state64_t::fpu_stmm2
mmst_reg_t fpu_stmm2
Definition: MachO.h:1644
C
(vector float) vec_cmpeq(*A, *B) C
Definition: README_ALTIVEC.txt:86
llvm::MachO::routines_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:671
llvm::MachO::GET_LIBRARY_ORDINAL
uint16_t GET_LIBRARY_ORDINAL(uint16_t n_desc)
Definition: MachO.h:1416
llvm::MachO::N_PARAMS
@ N_PARAMS
Definition: MachO.h:374
llvm::MachO::CPU_SUBTYPE_POWERPC_602
@ CPU_SUBTYPE_POWERPC_602
Definition: MachO.h:1532
llvm::MachO::SET_COMM_ALIGN
void SET_COMM_ALIGN(uint16_t &n_desc, uint8_t align)
Definition: MachO.h:1428
llvm::MachO::CS_BlobIndex
Definition: MachO.h:2218
llvm::MachO::tlv_descriptor_32::key
uint32_t key
Definition: MachO.h:912
llvm::MachO::dylib_reference::flags
uint32_t flags
Definition: MachO.h:765
llvm::MachO::uuid_command::uuid
uint8_t uuid[16]
Definition: MachO.h:791
llvm::MachO::PPC_RELOC_HA16_SECTDIFF
@ PPC_RELOC_HA16_SECTDIFF
Definition: MachO.h:426
llvm::MachO::ppc_thread_state32_t::ctr
uint32_t ctr
Definition: MachO.h:1940
llvm::MachO::MAX_SECT
@ MAX_SECT
Definition: MachO.h:322
llvm::MachO::ppc_thread_state_t::uts
union llvm::MachO::ppc_thread_state_t::@153 uts
llvm::MachO::CSMAGIC_DETACHED_SIGNATURE
@ CSMAGIC_DETACHED_SIGNATURE
Definition: MachO.h:2127
t
bitcast float %x to i32 %s=and i32 %t, 2147483647 %d=bitcast i32 %s to float ret float %d } declare float @fabsf(float %n) define float @bar(float %x) nounwind { %d=call float @fabsf(float %x) ret float %d } This IR(from PR6194):target datalayout="e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple="x86_64-apple-darwin10.0.0" %0=type { double, double } %struct.float3=type { float, float, float } define void @test(%0, %struct.float3 *nocapture %res) nounwind noinline ssp { entry:%tmp18=extractvalue %0 %0, 0 t
Definition: README-SSE.txt:788
llvm::MachO::ppc_thread_state32_t::r9
uint32_t r9
Definition: MachO.h:1914
llvm::MachO::segment_command_64::segname
char segname[16]
Definition: MachO.h:554
llvm::MachO::N_PBUD
@ N_PBUD
Definition: MachO.h:314
llvm::MachO::nlist_64::n_sect
uint8_t n_sect
Definition: MachO.h:1000
llvm::MachO::CS_SUPPORTSEXECSEG
@ CS_SUPPORTSEXECSEG
Definition: MachO.h:2134
llvm::MachO::S_REGULAR
@ S_REGULAR
S_REGULAR - Regular section.
Definition: MachO.h:125
llvm::MachO::x86_thread_state32_t::fs
uint32_t fs
Definition: MachO.h:1566
llvm::MachO::REBASE_OPCODE_MASK
@ REBASE_OPCODE_MASK
Definition: MachO.h:235
llvm::MachO::CPU_SUBTYPE_ARM_V7K
@ CPU_SUBTYPE_ARM_V7K
Definition: MachO.h:1513
llvm::MachO::CS_SHA256_LEN
@ CS_SHA256_LEN
Definition: MachO.h:2165
llvm::MachO::x86_FP_RND_DOWN
@ x86_FP_RND_DOWN
Definition: MachO.h:1602
llvm::MachO::x86_thread_state64_t::rflags
uint64_t rflags
Definition: MachO.h:1588
llvm::MachO::CS_SIGNED
@ CS_SIGNED
Definition: MachO.h:2092
llvm::MachO::CPU_TYPE_POWERPC
@ CPU_TYPE_POWERPC
Definition: MachO.h:1452
llvm::MachO::GENERIC_RELOC_INVALID
@ GENERIC_RELOC_INVALID
Definition: MachO.h:403
llvm::MachO::x86_float_state64_t
Definition: MachO.h:1627
llvm::MachO::CPU_SUBTYPE_XEON_MP
@ CPU_SUBTYPE_XEON_MP
Definition: MachO.h:1487
llvm::MachO::dylib_module::objc_module_info_size
uint32_t objc_module_info_size
Definition: MachO.h:745
llvm::MachO::ARM_THREAD_STATE_COUNT
const uint32_t ARM_THREAD_STATE_COUNT
Definition: MachO.h:1896
llvm::MachO::dylib_module::nrefsym
uint32_t nrefsym
Definition: MachO.h:737
llvm::MachO::source_version_command
Definition: MachO.h:813
llvm::MachO::dylib_module_64::objc_module_info_addr
uint64_t objc_module_info_addr
Definition: MachO.h:761
llvm::MachO::DICE_KIND_ABS_JUMP_TABLE32
@ DICE_KIND_ABS_JUMP_TABLE32
Definition: MachO.h:226
llvm::MachO::fat_header::magic
uint32_t magic
Definition: MachO.h:937
llvm::MachO::x86_THREAD_STATE32_COUNT
const uint32_t x86_THREAD_STATE32_COUNT
Definition: MachO.h:1809
llvm::MachO::x86_float_state64_t::fpu_xmm10
xmm_reg_t fpu_xmm10
Definition: MachO.h:1660
llvm::MachO::CPU_SUBTYPE_POWERPC_ALL
@ CPU_SUBTYPE_POWERPC_ALL
Definition: MachO.h:1530
llvm::MachO::BIND_OPCODE_SET_TYPE_IMM
@ BIND_OPCODE_SET_TYPE_IMM
Definition: MachO.h:276
llvm::MachO::mach_header_64::reserved
uint32_t reserved
Definition: MachO.h:529
llvm::MachO::ppc_thread_state32_t::r2
uint32_t r2
Definition: MachO.h:1907
llvm::MachO::N_WEAK_DEF
@ N_WEAK_DEF
Definition: MachO.h:341
llvm::MachO::linkedit_data_command
Definition: MachO.h:800
llvm::MachO::arm_thread_state64_t::pad
uint32_t pad
Definition: MachO.h:1850
llvm::MachO::dylib_module::irefsym
uint32_t irefsym
Definition: MachO.h:736
llvm::MachO::CS_BlobIndex::offset
uint32_t offset
Definition: MachO.h:2220
llvm::MachO::N_OPT
@ N_OPT
Definition: MachO.h:364
llvm::MachO::kSecCodeSignatureHashSHA256
@ kSecCodeSignatureHashSHA256
Definition: MachO.h:2233
llvm::MachO::CPU_SUBTYPE_PENTPRO
@ CPU_SUBTYPE_PENTPRO
Definition: MachO.h:1473
llvm::MachO::GENERIC_RELOC_VANILLA
@ GENERIC_RELOC_VANILLA
Definition: MachO.h:404
llvm::MachO::segment_command::segname
char segname[16]
Definition: MachO.h:540
llvm::MachO::CPU_ARCH_ABI64_32
@ CPU_ARCH_ABI64_32
Definition: MachO.h:1437
llvm::MachO::CPU_SUBTYPE_INTEL_MODEL_ALL
@ CPU_SUBTYPE_INTEL_MODEL_ALL
Definition: MachO.h:1501
llvm::MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB
@ REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB
Definition: MachO.h:246
llvm::MachO::ARM_RELOC_HALF
@ ARM_RELOC_HALF
Definition: MachO.h:442
llvm::MachO::INDIRECT_SYMBOL_ABS
@ INDIRECT_SYMBOL_ABS
Definition: MachO.h:217
llvm::MachO::x86_exception_state_t
Definition: MachO.h:1764
llvm::MachO::x86_thread_state32_t::esi
uint32_t esi
Definition: MachO.h:1557
llvm::MachO::CS_SUPPL_SIGNER_TYPE_TRUSTCACHE
@ CS_SUPPL_SIGNER_TYPE_TRUSTCACHE
Definition: MachO.h:2180
llvm::MachO::entry_point_command::entryoff
uint64_t entryoff
Definition: MachO.h:931
llvm::MachO::TOOL_LD
@ TOOL_LD
Definition: MachO.h:507
llvm::MachO::ppc_thread_state32_t::r21
uint32_t r21
Definition: MachO.h:1926
llvm::MachO::MH_HAS_TLV_DESCRIPTORS
@ MH_HAS_TLV_DESCRIPTORS
Definition: MachO.h:82
llvm::MachO::fp_control_t::ovrfl
unsigned short ovrfl
Definition: MachO.h:1608
llvm::MachO::PlatformType
PlatformType
Definition: MachO.h:492
llvm::MachO::S_ATTR_SELF_MODIFYING_CODE
@ S_ATTR_SELF_MODIFYING_CODE
S_ATTR_SELF_MODIFYING_CODE - Used with i386 code stubs written on by dyld.
Definition: MachO.h:200
llvm::MachO::x86_exception_state64_t::faultvaddr
uint64_t faultvaddr
Definition: MachO.h:1674
llvm::MachO::REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY
@ REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY
Definition: MachO.h:335
llvm::MachO::routines_command::init_address
uint32_t init_address
Definition: MachO.h:672
llvm::MachO::dysymtab_command::cmd
uint32_t cmd
Definition: MachO.h:705
llvm::MachO::x86_float_state64_t::fpu_xmm11
xmm_reg_t fpu_xmm11
Definition: MachO.h:1661
llvm::MachO::CS_LINKER_SIGNED
@ CS_LINKER_SIGNED
Definition: MachO.h:2070
llvm::MachO::x86_thread_state64_t::rip
uint64_t rip
Definition: MachO.h:1587
llvm::MachO::ident_command
Definition: MachO.h:897
llvm::MachO::arm_thread_state_t::tsh
arm_state_hdr_t tsh
Definition: MachO.h:1869
llvm::MachO::fp_control_t::zdiv
unsigned short zdiv
Definition: MachO.h:1608
llvm::MachO::x86_thread_state64_t::r15
uint64_t r15
Definition: MachO.h:1586
llvm::MachO::ppc_thread_state32_t::r23
uint32_t r23
Definition: MachO.h:1928
llvm::MachO::N_RSYM
@ N_RSYM
Definition: MachO.h:365
llvm::MachO::PPC_RELOC_LO14
@ PPC_RELOC_LO14
Definition: MachO.h:421
llvm::MachO::S_ATTR_NO_DEAD_STRIP
@ S_ATTR_NO_DEAD_STRIP
S_ATTR_NO_DEAD_STRIP - No dead stripping.
Definition: MachO.h:195
llvm::MachO::section_64::nreloc
uint32_t nreloc
Definition: MachO.h:587
llvm::MachO::segment_command::initprot
uint32_t initprot
Definition: MachO.h:546
llvm::MachO::fp_status_t::busy
unsigned short busy
Definition: MachO.h:1615
llvm::MachO::x86_float_state64_t::fpu_xmm6
xmm_reg_t fpu_xmm6
Definition: MachO.h:1656
llvm::MachO::MH_ALLMODSBOUND
@ MH_ALLMODSBOUND
Definition: MachO.h:71
llvm::MachO::arm_thread_state_t
Definition: MachO.h:1868
llvm::MachO::BindType
BindType
Definition: MachO.h:249
llvm::MachO::twolevel_hints_command::cmd
uint32_t cmd
Definition: MachO.h:770
llvm::MachO::mach_header_64::magic
uint32_t magic
Definition: MachO.h:522
llvm::MachO::getCPUSubType
Expected< uint32_t > getCPUSubType(const Triple &T)
Definition: MachO.cpp:95
llvm::MachO::sub_framework_command::cmd
uint32_t cmd
Definition: MachO.h:626
llvm::MachO::N_SYMBOL_RESOLVER
@ N_SYMBOL_RESOLVER
Definition: MachO.h:342
llvm::MachO::CS_SUPPORTSLINKAGE
@ CS_SUPPORTSLINKAGE
Definition: MachO.h:2136
llvm::MachO::PPC_EXCEPTION_STATE64
@ PPC_EXCEPTION_STATE64
Definition: MachO.h:2011
llvm::MachO::CPU_ARCH_MASK
@ CPU_ARCH_MASK
Definition: MachO.h:1435
llvm::MachO::CS_KILLED
@ CS_KILLED
Definition: MachO.h:2083
llvm::MachO::section_64::flags
uint32_t flags
Definition: MachO.h:588
llvm::MachO::S_LAZY_SYMBOL_POINTERS
@ S_LAZY_SYMBOL_POINTERS
S_LAZY_SYMBOL_POINTERS - Section with lazy symbol pointers.
Definition: MachO.h:139
llvm::MachO::dysymtab_command::nundefsym
uint32_t nundefsym
Definition: MachO.h:712
llvm::MachO::x86_float_state64_t::fpu_rsrv3
uint16_t fpu_rsrv3
Definition: MachO.h:1639
llvm::MachO::twolevel_hint::itoc
uint32_t itoc
Definition: MachO.h:778
llvm::MachO::ARM_THUMB_32BIT_BRANCH
@ ARM_THUMB_32BIT_BRANCH
Definition: MachO.h:441
llvm::MachO::N_OSO
@ N_OSO
Definition: MachO.h:370
llvm::MachO::HeaderFileType
HeaderFileType
Definition: MachO.h:40
llvm::MachO::ppc_thread_state32_t::r25
uint32_t r25
Definition: MachO.h:1930
llvm::MachO::x86_float_state64_t::fpu_stmm4
mmst_reg_t fpu_stmm4
Definition: MachO.h:1646
llvm::MachO::BIND_SPECIAL_DYLIB_SELF
@ BIND_SPECIAL_DYLIB_SELF
Definition: MachO.h:256
llvm::MachO::arm_thread_state32_t::cpsr
uint32_t cpsr
Definition: MachO.h:1831
llvm::MachO::MH_LAZY_INIT
@ MH_LAZY_INIT
Definition: MachO.h:65
llvm::MachO::nlist_base::n_strx
uint32_t n_strx
Definition: MachO.h:983
llvm::MachO::dylib_table_of_contents::symbol_index
uint32_t symbol_index
Definition: MachO.h:728
llvm::MachO::BIND_OPCODE_ADD_ADDR_ULEB
@ BIND_OPCODE_ADD_ADDR_ULEB
Definition: MachO.h:279
llvm::MachO::MH_NO_HEAP_EXECUTION
@ MH_NO_HEAP_EXECUTION
Definition: MachO.h:83
llvm::MachO::REBASE_OPCODE_DO_REBASE_IMM_TIMES
@ REBASE_OPCODE_DO_REBASE_IMM_TIMES
Definition: MachO.h:243
llvm::MachO::fp_status_t::undfl
unsigned short undfl
Definition: MachO.h:1613
llvm::MachO::S_INTERPOSING
@ S_INTERPOSING
S_INTERPOSING - Section with only pairs of function pointers for interposing.
Definition: MachO.h:156
llvm::MachO::ppc_state_hdr_t::flavor
uint32_t flavor
Definition: MachO.h:1989
llvm::MachO::sub_client_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:633
llvm::MachO::CSMAGIC_REQUIREMENT
@ CSMAGIC_REQUIREMENT
Definition: MachO.h:2120
llvm::MachO::dyld_chained_starts_in_image::seg_info_offset
uint32_t seg_info_offset[1]
Definition: MachO.h:1023
llvm::MachO::S_NON_LAZY_SYMBOL_POINTERS
@ S_NON_LAZY_SYMBOL_POINTERS
S_NON_LAZY_SYMBOL_POINTERS - Section with non-lazy symbol pointers.
Definition: MachO.h:137
llvm::MachO::x86_thread_state32_t::eax
uint32_t eax
Definition: MachO.h:1552
llvm::MachO::tlv_descriptor::key
uintptr_t key
Definition: MachO.h:924
llvm::MachO::fvmlib_command
Definition: MachO.h:606
llvm::MachO::fp_control_t::precis
unsigned short precis
Definition: MachO.h:1609
llvm::MachO::CPU_SUBTYPE_ARM_V6
@ CPU_SUBTYPE_ARM_V6
Definition: MachO.h:1506
llvm::MachO::CPU_SUBTYPE_MASK
@ CPU_SUBTYPE_MASK
Definition: MachO.h:1458
llvm::MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP
@ BIND_SPECIAL_DYLIB_FLAT_LOOKUP
Definition: MachO.h:258
llvm::MachO::ppc_thread_state32_t::vrsave
uint32_t vrsave
Definition: MachO.h:1942
llvm::MachO::routines_command::reserved3
uint32_t reserved3
Definition: MachO.h:676
llvm::MachO::CS_CodeDirectory::teamOffset
uint32_t teamOffset
Definition: MachO.h:2204
llvm::MachO::BIND_TYPE_TEXT_ABSOLUTE32
@ BIND_TYPE_TEXT_ABSOLUTE32
Definition: MachO.h:251
llvm::MachO::CPU_SUBTYPE_PENTIUM_4
@ CPU_SUBTYPE_PENTIUM_4
Definition: MachO.h:1482
llvm::MachO::x86_THREAD_STATE64_COUNT
const uint32_t x86_THREAD_STATE64_COUNT
Definition: MachO.h:1812
llvm::MachO::mach_header_64
Definition: MachO.h:521
llvm::MachO::x86_thread_state32_t::ebp
uint32_t ebp
Definition: MachO.h:1558
llvm::MachO::ARM_THUMB_RELOC_BR22
@ ARM_THUMB_RELOC_BR22
Definition: MachO.h:440
llvm::MachO::build_version_command::minos
uint32_t minos
Definition: MachO.h:862
llvm::MachO::CS_HASHTYPE_SHA1
@ CS_HASHTYPE_SHA1
Definition: MachO.h:2159
llvm::MachO::ppc_thread_state32_t::xer
uint32_t xer
Definition: MachO.h:1938
llvm::MachO::BIND_TYPE_TEXT_PCREL32
@ BIND_TYPE_TEXT_PCREL32
Definition: MachO.h:252
llvm::MachO::MH_NOMULTIDEFS
@ MH_NOMULTIDEFS
Definition: MachO.h:68
llvm::MachO::x86_thread_state64_t::rbx
uint64_t rbx
Definition: MachO.h:1572
llvm::MachO::X86_64_RELOC_UNSIGNED
@ X86_64_RELOC_UNSIGNED
Definition: MachO.h:475
llvm::MachO::arm_thread_state32_t::pc
uint32_t pc
Definition: MachO.h:1830
llvm::MachO::dylib_command
Definition: MachO.h:619
llvm::MachO::N_EINCL
@ N_EINCL
Definition: MachO.h:378
llvm::MachO::arm_thread_state64_t::fp
uint64_t fp
Definition: MachO.h:1845
llvm::MachO::symseg_command::size
uint32_t size
Definition: MachO.h:893
llvm::MachO::note_command
Definition: MachO.h:844
llvm::MachO::linkedit_data_command::datasize
uint32_t datasize
Definition: MachO.h:804
llvm::MachO::x86_state_hdr_t::flavor
uint32_t flavor
Definition: MachO.h:1745
llvm::MachO::prebind_cksum_command
Definition: MachO.h:782
llvm::MachO::ppc_thread_state_t::ts32
ppc_thread_state32_t ts32
Definition: MachO.h:1996
llvm::MachO::sub_umbrella_command::cmd
uint32_t cmd
Definition: MachO.h:638
llvm::MachO::CS_CodeDirectory::execSegFlags
uint64_t execSegFlags
Definition: MachO.h:2213
llvm::MachO::routines_command_64::reserved2
uint64_t reserved2
Definition: MachO.h:688
llvm::MachO::PPC_RELOC_VANILLA
@ PPC_RELOC_VANILLA
Definition: MachO.h:414
llvm::MachO::twolevel_hint
Definition: MachO.h:777
llvm::MachO::VM_PROT_EXECUTE
@ VM_PROT_EXECUTE
Definition: MachO.h:489
llvm::MachO::N_WEAK_REF
@ N_WEAK_REF
Definition: MachO.h:340
type
AMD64 Optimization Manual has some nice information about optimizing integer multiplication by a constant How much of it applies to Intel s X86 implementation There are definite trade offs to xmm0 cvttss2siq rdx jb L3 subss xmm0 rax cvttss2siq rdx xorq rdx rax ret instead of xmm1 cvttss2siq rcx movaps xmm2 subss xmm2 cvttss2siq rax rdx xorq rax ucomiss xmm0 cmovb rax ret Seems like the jb branch has high likelihood of being taken It would have saved a few instructions It s not possible to reference and DH registers in an instruction requiring REX prefix divb and mulb both produce results in AH If isel emits a CopyFromReg which gets turned into a movb and that can be allocated a r8b r15b To get around isel emits a CopyFromReg from AX and then right shift it down by and truncate it It s not pretty but it works We need some register allocation magic to make the hack go which would often require a callee saved register Callees usually need to keep this value live for most of their body so it doesn t add a significant burden on them We currently implement this in however this is suboptimal because it means that it would be quite awkward to implement the optimization for callers A better implementation would be to relax the LLVM IR rules for sret arguments to allow a function with an sret argument to have a non void return type
Definition: README-X86-64.txt:70
llvm::MachO::ppc_thread_state32_t::r4
uint32_t r4
Definition: MachO.h:1909
llvm::MachO::kSecCodeSignatureHashSHA1
@ kSecCodeSignatureHashSHA1
Definition: MachO.h:2232
llvm::MachO::x86_float_state64_t::fpu_xmm0
xmm_reg_t fpu_xmm0
Definition: MachO.h:1650
llvm::MachO::CS_CodeDirectory::version
uint32_t version
Definition: MachO.h:2187
llvm::MachO::CS_EXECSEG_DEBUGGER
@ CS_EXECSEG_DEBUGGER
Definition: MachO.h:2109
llvm::MachO::x86_thread_state32_t::ds
uint32_t ds
Definition: MachO.h:1564
llvm::MachO::ppc_thread_state32_t::r26
uint32_t r26
Definition: MachO.h:1931
llvm::MachO::routines_command::cmd
uint32_t cmd
Definition: MachO.h:670
llvm::MachO::dylinker_command::name
uint32_t name
Definition: MachO.h:661
llvm::MachO::fvmfile_command::cmd
uint32_t cmd
Definition: MachO.h:904
llvm::MachO::DICE_KIND_JUMP_TABLE32
@ DICE_KIND_JUMP_TABLE32
Definition: MachO.h:225
llvm::MachO::CPU_SUBTYPE_ARM_V4T
@ CPU_SUBTYPE_ARM_V4T
Definition: MachO.h:1505
llvm::MachO::x86_float_state64_t::fpu_xmm14
xmm_reg_t fpu_xmm14
Definition: MachO.h:1664
llvm::MachO::relocation_info
Definition: MachO.h:959
llvm::MachO::ppc_thread_state32_t::r16
uint32_t r16
Definition: MachO.h:1921
llvm::MachO::S_MOD_INIT_FUNC_POINTERS
@ S_MOD_INIT_FUNC_POINTERS
S_MOD_INIT_FUNC_POINTERS - Section with only function pointers for initialization.
Definition: MachO.h:145
llvm::MachO::CS_NVRAM_UNRESTRICTED
@ CS_NVRAM_UNRESTRICTED
Definition: MachO.h:2065
llvm::MachO::fp_status_t::c0
unsigned short c0
Definition: MachO.h:1614
llvm::MachO::FAT_MAGIC_64
@ FAT_MAGIC_64
Definition: MachO.h:36
llvm::MachO::CPU_SUBTYPE_ARM_V6M
@ CPU_SUBTYPE_ARM_V6M
Definition: MachO.h:1514
uint64_t
llvm::MachO::section_64::reserved1
uint32_t reserved1
Definition: MachO.h:589
llvm::MachO::fvmfile_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:905
llvm::MachO::version_min_command::cmd
uint32_t cmd
Definition: MachO.h:837
llvm::MachO::MH_MAGIC_64
@ MH_MAGIC_64
Definition: MachO.h:32
llvm::MachO::BIND_TYPE_POINTER
@ BIND_TYPE_POINTER
Definition: MachO.h:250
llvm::MachO::x86_exception_state64_t::err
uint32_t err
Definition: MachO.h:1673
llvm::MachO::build_version_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:859
llvm::MachO::CS_CodeDirectory::hashType
uint8_t hashType
Definition: MachO.h:2195
llvm::MachO::x86_thread_state64_t::cs
uint64_t cs
Definition: MachO.h:1589
llvm::MachO::ARM64_RELOC_PAGE21
@ ARM64_RELOC_PAGE21
Definition: MachO.h:456
llvm::MachO::routines_command::init_module
uint32_t init_module
Definition: MachO.h:673
llvm::ARM_MB::ST
@ ST
Definition: ARMBaseInfo.h:73
llvm::MachO::CPU_SUBTYPE_INTEL_FAMILY
int CPU_SUBTYPE_INTEL_FAMILY(CPUSubTypeX86 ST)
Definition: MachO.h:1497
llvm::MachO::x86_fp_control_precis
x86_fp_control_precis
Definition: MachO.h:1594
llvm::MachO::dylib_module_64::module_name
uint32_t module_name
Definition: MachO.h:749
llvm::MachO::relocation_info::r_type
uint32_t r_type
Definition: MachO.h:962
llvm::MachO::dyld_chained_fixups_header::symbols_offset
uint32_t symbols_offset
Offset of symbol strings in chain_data.
Definition: MachO.h:1012
llvm::MachO::ARM_THREAD_STATE64
@ ARM_THREAD_STATE64
Definition: MachO.h:1886
llvm::MachO::N_INDR
@ N_INDR
Definition: MachO.h:315
llvm::MachO::x86_fp_control_rc
x86_fp_control_rc
Definition: MachO.h:1600
s
multiplies can be turned into SHL s
Definition: README.txt:370
llvm::MachO::relocation_info::r_extern
uint32_t r_extern
Definition: MachO.h:961
llvm::MachO::build_tool_version
Definition: MachO.h:852
llvm::MachO::dyld_chained_fixups_header::imports_count
uint32_t imports_count
Number of imported symbol names.
Definition: MachO.h:1013
llvm::MachO::S_ATTR_PURE_INSTRUCTIONS
@ S_ATTR_PURE_INSTRUCTIONS
S_ATTR_PURE_INSTRUCTIONS - Section contains only true machine instructions.
Definition: MachO.h:187
llvm::MachO::any_relocation_info::r_word0
uint32_t r_word0
Definition: MachO.h:978
llvm::MachO::ppc_thread_state32_t::r20
uint32_t r20
Definition: MachO.h:1925
llvm::MachO::CPU_SUBTYPE_ARM_V7S
@ CPU_SUBTYPE_ARM_V7S
Definition: MachO.h:1512
llvm::MachO::CPU_SUBTYPE_POWERPC_620
@ CPU_SUBTYPE_POWERPC_620
Definition: MachO.h:1538
llvm::MachO::x86_FLOAT_STATE
@ x86_FLOAT_STATE
Definition: MachO.h:1784
llvm::MachO::CS_ALLOWED_MACHO
@ CS_ALLOWED_MACHO
Definition: MachO.h:2072
llvm::numbers::e
constexpr double e
Definition: MathExtras.h:57
llvm::MachO::N_SO
@ N_SO
Definition: MachO.h:369
llvm::MachO::dyld_info_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:869
llvm::MachO::X86_64_RELOC_GOT
@ X86_64_RELOC_GOT
Definition: MachO.h:479
llvm::MachO::CSMAGIC_EMBEDDED_SIGNATURE_OLD
@ CSMAGIC_EMBEDDED_SIGNATURE_OLD
Definition: MachO.h:2125
llvm::MachO::REBASE_OPCODE_ADD_ADDR_IMM_SCALED
@ REBASE_OPCODE_ADD_ADDR_IMM_SCALED
Definition: MachO.h:242
llvm::MachO::MH_OBJECT
@ MH_OBJECT
Definition: MachO.h:43
llvm::MachO::CPU_TYPE_X86
@ CPU_TYPE_X86
Definition: MachO.h:1443
llvm::MachO::fat_arch::offset
uint32_t offset
Definition: MachO.h:944
llvm::MachO::CPU_SUBTYPE_POWERPC_750
@ CPU_SUBTYPE_POWERPC_750
Definition: MachO.h:1539
llvm::MachO::X86_64_RELOC_GOT_LOAD
@ X86_64_RELOC_GOT_LOAD
Definition: MachO.h:478
llvm::MachO::ppc_thread_state32_t::r27
uint32_t r27
Definition: MachO.h:1932
llvm::MachO::N_LCSYM
@ N_LCSYM
Definition: MachO.h:360
llvm::MachO::x86_exception_state_t::esh
x86_state_hdr_t esh
Definition: MachO.h:1765
llvm::MachO::CPU_SUBTYPE_X86_64_H
@ CPU_SUBTYPE_X86_64_H
Definition: MachO.h:1492
llvm::MachO::scattered_relocation_info::r_address
uint32_t r_address
Definition: MachO.h:970
llvm::MachO::tlv_descriptor_64::offset
uint64_t offset
Definition: MachO.h:919
llvm::MachO::CS_ENTITLEMENT_FLAGS
@ CS_ENTITLEMENT_FLAGS
Definition: MachO.h:2099
llvm::MachO::sub_library_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:645
llvm::MachO::CS_ADHOC
@ CS_ADHOC
Definition: MachO.h:2047
llvm::MachO::CPU_SUBTYPE_PENTIUM_4_M
@ CPU_SUBTYPE_PENTIUM_4_M
Definition: MachO.h:1483
llvm::MachO::nlist_base::n_type
uint8_t n_type
Definition: MachO.h:984
llvm::MachO::section::reserved1
uint32_t reserved1
Definition: MachO.h:575
llvm::MachO::prebind_cksum_command::cksum
uint32_t cksum
Definition: MachO.h:785
llvm::MachO::DYNAMIC_LOOKUP_ORDINAL
@ DYNAMIC_LOOKUP_ORDINAL
Definition: MachO.h:349
llvm::MachO::dyld_info_command::weak_bind_size
uint32_t weak_bind_size
Definition: MachO.h:875
llvm::MachO::CPU_TYPE_ARM64
@ CPU_TYPE_ARM64
Definition: MachO.h:1449
llvm::MachO::CPU_SUBTYPE_386
@ CPU_SUBTYPE_386
Definition: MachO.h:1468
llvm::MachO::x86_float_state64_t::fpu_stmm1
mmst_reg_t fpu_stmm1
Definition: MachO.h:1643
llvm::MachO::dyld_info_command::lazy_bind_off
uint32_t lazy_bind_off
Definition: MachO.h:876
llvm::MachO::x86_float_state64_t::fpu_ip
uint32_t fpu_ip
Definition: MachO.h:1634
llvm::MachO::CS_BlobIndex::type
uint32_t type
Definition: MachO.h:2219
llvm::MachO::x86_FP_PREC_53B
@ x86_FP_PREC_53B
Definition: MachO.h:1596
llvm::MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES
@ REBASE_OPCODE_DO_REBASE_ULEB_TIMES
Definition: MachO.h:244
llvm::MachO::ppc_thread_state32_t::r15
uint32_t r15
Definition: MachO.h:1920
llvm::MachO::PLATFORM_BRIDGEOS
@ PLATFORM_BRIDGEOS
Definition: MachO.h:498
llvm::MachO::build_version_command::cmd
uint32_t cmd
Definition: MachO.h:858
llvm::MachO::segment_command_64::fileoff
uint64_t fileoff
Definition: MachO.h:557
llvm::MachO::linker_option_command
Definition: MachO.h:882
llvm::MachO::x86_thread_state64_t
Definition: MachO.h:1570
llvm::MachO::dyld_info_command::bind_size
uint32_t bind_size
Definition: MachO.h:873
llvm::MachO::arm_thread_state32_t::sp
uint32_t sp
Definition: MachO.h:1828
llvm::MachO::CPU_SUBTYPE_ARM64_ALL
@ CPU_SUBTYPE_ARM64_ALL
Definition: MachO.h:1520
llvm::MachO::fvmfile_command
Definition: MachO.h:903
llvm::MachO::prebound_dylib_command::linked_modules
uint32_t linked_modules
Definition: MachO.h:655
llvm::MachO::dylib_table_of_contents::module_index
uint32_t module_index
Definition: MachO.h:729
llvm::MachO::MH_DYLINKER
@ MH_DYLINKER
Definition: MachO.h:49
llvm::MachO::x86_FP_RND_NEAR
@ x86_FP_RND_NEAR
Definition: MachO.h:1601
llvm::MachO::S_4BYTE_LITERALS
@ S_4BYTE_LITERALS
S_4BYTE_LITERALS - Section with 4 byte literals.
Definition: MachO.h:131
llvm::MachO::CS_EXEC_SET_ENFORCEMENT
@ CS_EXEC_SET_ENFORCEMENT
Definition: MachO.h:2078
llvm::MachO::build_version_command::platform
uint32_t platform
Definition: MachO.h:861
llvm::MachO::fvmfile_command::name
uint32_t name
Definition: MachO.h:906
llvm::MachO::RebaseType
RebaseType
Definition: MachO.h:229
llvm::MachO::BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION
@ BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION
Definition: MachO.h:264
llvm::MachO::dysymtab_command::modtaboff
uint32_t modtaboff
Definition: MachO.h:715
llvm::MachO::N_AST
@ N_AST
Definition: MachO.h:363
llvm::MachO::MH_KEXT_BUNDLE
@ MH_KEXT_BUNDLE
Definition: MachO.h:53
llvm::MachO::nlist::n_desc
int16_t n_desc
Definition: MachO.h:993
llvm::MachO::S_THREAD_LOCAL_VARIABLES
@ S_THREAD_LOCAL_VARIABLES
S_THREAD_LOCAL_VARIABLES - Section with thread local variable structure data.
Definition: MachO.h:170
llvm::MachO::S_THREAD_LOCAL_REGULAR
@ S_THREAD_LOCAL_REGULAR
S_THREAD_LOCAL_REGULAR - Thread local data section.
Definition: MachO.h:165
llvm::MachO::fp_status_t::c2
unsigned short c2
Definition: MachO.h:1614
llvm::MachO::routines_command::reserved5
uint32_t reserved5
Definition: MachO.h:678
llvm::MachO::CS_CodeDirectory::spare2
uint32_t spare2
Definition: MachO.h:2198
llvm::MachO::dylinker_command::cmd
uint32_t cmd
Definition: MachO.h:659
llvm::MachO::dylib_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:621
llvm::MachO::x86_thread_state64_t::rsp
uint64_t rsp
Definition: MachO.h:1578
llvm::MachO::dyld_chained_fixups_header
Structs for dyld chained fixups.
Definition: MachO.h:1008
llvm::MachO::ppc_thread_state32_t::r3
uint32_t r3
Definition: MachO.h:1908
llvm::MachO::symseg_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:891
llvm::MachO::dysymtab_command::nlocrel
uint32_t nlocrel
Definition: MachO.h:724
llvm::MachO::segment_command
Definition: MachO.h:537
llvm::MachO::ARM64_RELOC_POINTER_TO_GOT
@ ARM64_RELOC_POINTER_TO_GOT
Definition: MachO.h:464
llvm::MachO::CPU_SUBTYPE_POWERPC_601
@ CPU_SUBTYPE_POWERPC_601
Definition: MachO.h:1531
llvm::MachO::CS_SUPPL_SIGNER_TYPE_LOCAL
@ CS_SUPPL_SIGNER_TYPE_LOCAL
Definition: MachO.h:2181
llvm::MachO::fp_status_t::zdiv
unsigned short zdiv
Definition: MachO.h:1613
llvm::MachO::CS_RESTRICT
@ CS_RESTRICT
Definition: MachO.h:2059
llvm::MachO::arm_thread_state64_t
Definition: MachO.h:1843
llvm::MachO::kSecCodeSignatureHashSHA256Truncated
@ kSecCodeSignatureHashSHA256Truncated
Definition: MachO.h:2234
llvm::MachO::twolevel_hint::isub_image
uint32_t isub_image
Definition: MachO.h:778
llvm::MachO::dylinker_command
Definition: MachO.h:658
llvm::MachO::RebaseOpcode
RebaseOpcode
Definition: MachO.h:237
llvm::MachO::x86_FP_CHOP
@ x86_FP_CHOP
Definition: MachO.h:1604
llvm::MachO::dysymtab_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:706
llvm::MachO::ARM_THREAD_STATE
@ ARM_THREAD_STATE
Definition: MachO.h:1881
llvm::MachO::fat_arch_64::cpusubtype
uint32_t cpusubtype
Definition: MachO.h:951
llvm::MachO::section::flags
uint32_t flags
Definition: MachO.h:574
llvm::MachO::N_LSYM
@ N_LSYM
Definition: MachO.h:371
llvm::MachO::encryption_info_command::cryptid
uint32_t cryptid
Definition: MachO.h:824
llvm::MachO::N_FNAME
@ N_FNAME
Definition: MachO.h:357
llvm::MachO::R_ABS
@ R_ABS
Definition: MachO.h:392
llvm::MachO::x86_float_state64_t::fpu_mxcsr
uint32_t fpu_mxcsr
Definition: MachO.h:1640
llvm::MachO::x86_FLOAT_STATE64_COUNT
const uint32_t x86_FLOAT_STATE64_COUNT
Definition: MachO.h:1814
llvm::MachO::X86ThreadFlavors
X86ThreadFlavors
Definition: MachO.h:1776
info
lazy value info
Definition: LazyValueInfo.cpp:58
llvm::MachO::GENERIC_RELOC_TLV
@ GENERIC_RELOC_TLV
Definition: MachO.h:409
llvm::MachO::X86_64_RELOC_SUBTRACTOR
@ X86_64_RELOC_SUBTRACTOR
Definition: MachO.h:480
llvm::MachO::note_command::size
uint64_t size
Definition: MachO.h:849
llvm::MachO::x86_EXCEPTION_STATE32
@ x86_EXCEPTION_STATE32
Definition: MachO.h:1779
llvm::MachO::segment_command::vmaddr
uint32_t vmaddr
Definition: MachO.h:541
llvm::MachO::x86_EXCEPTION_STATE_COUNT
const uint32_t x86_EXCEPTION_STATE_COUNT
Definition: MachO.h:1823
llvm::MachO::REBASE_OPCODE_DONE
@ REBASE_OPCODE_DONE
Definition: MachO.h:238
llvm::MachO::CS_DYLD_PLATFORM
@ CS_DYLD_PLATFORM
Definition: MachO.h:2084
llvm::MachO::dylib_command::cmd
uint32_t cmd
Definition: MachO.h:620
llvm::MachO::CPU_SUBTYPE_CELERON
@ CPU_SUBTYPE_CELERON
Definition: MachO.h:1476
llvm::MachO::dysymtab_command::extrefsymoff
uint32_t extrefsymoff
Definition: MachO.h:717
llvm::MachO::load_command
Definition: MachO.h:532
llvm::MachO::MH_FVMLIB
@ MH_FVMLIB
Definition: MachO.h:45
llvm::MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB
@ BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB
Definition: MachO.h:273
llvm::MachO::CS_EXECSEG_ALLOW_UNSIGNED
@ CS_EXECSEG_ALLOW_UNSIGNED
Definition: MachO.h:2108
llvm::MachO::CS_INSTALLER
@ CS_INSTALLER
Definition: MachO.h:2049
llvm::MachO::ARM_DEBUG_STATE
@ ARM_DEBUG_STATE
Definition: MachO.h:1884
llvm::MachO::S_ATTR_LIVE_SUPPORT
@ S_ATTR_LIVE_SUPPORT
S_ATTR_LIVE_SUPPORT - Blocks are live if they reference live blocks.
Definition: MachO.h:197
llvm::MachO::nlist::n_strx
uint32_t n_strx
Definition: MachO.h:990
llvm::MachO::section::reloff
uint32_t reloff
Definition: MachO.h:572
llvm::MachO::prebound_dylib_command::nmodules
uint32_t nmodules
Definition: MachO.h:654
llvm::MachO::ARN_THREAD_STATE_NONE
@ ARN_THREAD_STATE_NONE
Definition: MachO.h:1885
llvm::MachO::CS_KILL
@ CS_KILL
Definition: MachO.h:2057
llvm::MachO::CS_EXECSEG_SKIP_LV
@ CS_EXECSEG_SKIP_LV
Definition: MachO.h:2111
llvm::MachO::CSTYPE_INDEX_REQUIREMENTS
@ CSTYPE_INDEX_REQUIREMENTS
Definition: MachO.h:2156
llvm::MachO::x86_exception_state64_t
Definition: MachO.h:1670
llvm::MachO::x86_float_state64_t::fpu_stmm6
mmst_reg_t fpu_stmm6
Definition: MachO.h:1648
llvm::MachO::fvmlib_command::cmd
uint32_t cmd
Definition: MachO.h:607
llvm::MachO::CPU_SUBTYPE_586
@ CPU_SUBTYPE_586
Definition: MachO.h:1471
llvm::MachO::MH_ROOT_SAFE
@ MH_ROOT_SAFE
Definition: MachO.h:77
llvm::MachO::x86_thread_state64_t::rsi
uint64_t rsi
Definition: MachO.h:1576
llvm::MachO::scattered_relocation_info::r_scattered
uint32_t r_scattered
Definition: MachO.h:971
llvm::MachO::x86_thread_state64_t::r12
uint64_t r12
Definition: MachO.h:1583
llvm::MachO::x86_float_state64_t::fpu_xmm2
xmm_reg_t fpu_xmm2
Definition: MachO.h:1652
llvm::MachO::mmst_reg_t
Definition: MachO.h:1618
llvm::MachO::mach_header::sizeofcmds
uint32_t sizeofcmds
Definition: MachO.h:517
llvm::MachO::PPC_RELOC_PB_LA_PTR
@ PPC_RELOC_PB_LA_PTR
Definition: MachO.h:423
llvm::MachO::dyld_chained_fixups_header::symbols_format
uint32_t symbols_format
0 => uncompressed, 1 => zlib compressed
Definition: MachO.h:1015
llvm::MachO::CS_CodeDirectory::platform
uint8_t platform
Definition: MachO.h:2196
llvm::MachO::N_PEXT
@ N_PEXT
Definition: MachO.h:303
llvm::MachO::dysymtab_command::iextdefsym
uint32_t iextdefsym
Definition: MachO.h:709
llvm::MachO::symtab_command::cmd
uint32_t cmd
Definition: MachO.h:696
llvm::MachO::CPU_SUBTYPE_ARM_XSCALE
@ CPU_SUBTYPE_ARM_XSCALE
Definition: MachO.h:1509
llvm::MachO::N_SECT
@ N_SECT
Definition: MachO.h:313
llvm::MachO::x86_float_state64_t::fpu_cs
uint16_t fpu_cs
Definition: MachO.h:1635
llvm::MachO::symseg_command::offset
uint32_t offset
Definition: MachO.h:892
llvm::MachO::CPU_SUBTYPE_POWERPC_604
@ CPU_SUBTYPE_POWERPC_604
Definition: MachO.h:1536
llvm::MachO::scattered_relocation_info::r_length
uint32_t r_length
Definition: MachO.h:970
llvm::MachO::BIND_OPCODE_SET_ADDEND_SLEB
@ BIND_OPCODE_SET_ADDEND_SLEB
Definition: MachO.h:277
llvm::MachO::CPU_SUBTYPE_MC980000_ALL
@ CPU_SUBTYPE_MC980000_ALL
Definition: MachO.h:1544
llvm::MachO::fp_control_t::undfl
unsigned short undfl
Definition: MachO.h:1608
llvm::MachO::SECTION_ATTRIBUTES_USR
@ SECTION_ATTRIBUTES_USR
Definition: MachO.h:114
llvm::MachO::x86_thread_state32_t::ecx
uint32_t ecx
Definition: MachO.h:1554
llvm::MachO::linkedit_data_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:802
llvm::MachO::DataRegionType
DataRegionType
Definition: MachO.h:220
llvm::MachO::dyld_info_command::rebase_size
uint32_t rebase_size
Definition: MachO.h:871
uint32_t
Compiler.h
llvm::MachO::twolevel_hints_command::offset
uint32_t offset
Definition: MachO.h:772
llvm::MachO::arm_thread_state64_t::x
uint64_t x[29]
Definition: MachO.h:1844
llvm::MachO::x86_thread_state32_t::gs
uint32_t gs
Definition: MachO.h:1567
llvm::MachO::segment_command_64
Definition: MachO.h:551
llvm::MachO::BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE
@ BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE
Definition: MachO.h:257
llvm::MachO::arm_state_hdr_t::flavor
uint32_t flavor
Definition: MachO.h:1864
llvm::MachO::dylib_module_64::nextrel
uint32_t nextrel
Definition: MachO.h:757
llvm::MachO::S_ATTR_NO_TOC
@ S_ATTR_NO_TOC
S_ATTR_NO_TOC - Section contains coalesced symbols that are not to be in a ranlib table of contents.
Definition: MachO.h:190
llvm::MachO::x86_thread_state_t::ts64
x86_thread_state64_t ts64
Definition: MachO.h:1752
llvm::MachO::x86_float_state_t::fs64
x86_float_state64_t fs64
Definition: MachO.h:1760
llvm::MachO::VM_PROT_READ
@ VM_PROT_READ
Definition: MachO.h:489
S
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
Definition: README.txt:210
llvm::MachO::x86_thread_state64_t::rbp
uint64_t rbp
Definition: MachO.h:1577
llvm::MachO::x86_exception_state_t::ues
union llvm::MachO::x86_exception_state_t::@151 ues
llvm::MachO::ARM_RELOC_VANILLA
@ ARM_RELOC_VANILLA
Definition: MachO.h:434
llvm::MachO::arm_thread_state32_t
Definition: MachO.h:1826
llvm::MachO::section_64::reserved3
uint32_t reserved3
Definition: MachO.h:591
llvm::MachO::x86_float_state64_t::fpu_rsrv2
uint16_t fpu_rsrv2
Definition: MachO.h:1636
llvm::MachO::x86_float_state64_t::fpu_dp
uint32_t fpu_dp
Definition: MachO.h:1637
llvm::MachO::dylib_module_64::objc_module_info_size
uint32_t objc_module_info_size
Definition: MachO.h:760
llvm::MachO::note_command::offset
uint64_t offset
Definition: MachO.h:848
llvm::MachO::tlv_descriptor_32
Definition: MachO.h:910
llvm::MachO::sub_library_command::sub_library
uint32_t sub_library
Definition: MachO.h:646
llvm::MachO::S_DTRACE_DOF
@ S_DTRACE_DOF
S_DTRACE_DOF - Section contains DTrace Object Format.
Definition: MachO.h:160
llvm::MachO::N_ABS
@ N_ABS
Definition: MachO.h:312
llvm::MachO::CPUSubTypeARM64
CPUSubTypeARM64
Definition: MachO.h:1519
llvm::MachO::nlist_base::n_desc
uint16_t n_desc
Definition: MachO.h:986
llvm::MachO::x86_thread_state32_t::cs
uint32_t cs
Definition: MachO.h:1563
llvm::MachO::GENERIC_RELOC_LOCAL_SECTDIFF
@ GENERIC_RELOC_LOCAL_SECTDIFF
Definition: MachO.h:408
llvm::MachO::x86_thread_state64_t::rdx
uint64_t rdx
Definition: MachO.h:1574
llvm::MachO::RelocationInfoType
RelocationInfoType
Definition: MachO.h:399
llvm::MachO::x86_float_state64_t::fpu_xmm8
xmm_reg_t fpu_xmm8
Definition: MachO.h:1658
llvm::MachO::ppc_thread_state32_t::srr1
uint32_t srr1
Definition: MachO.h:1904
llvm::MachO::x86_thread_state_t::tsh
x86_state_hdr_t tsh
Definition: MachO.h:1750
llvm::MachO::REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB
@ REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB
Definition: MachO.h:245
llvm::MachO::LAST_KNOWN_SECTION_TYPE
@ LAST_KNOWN_SECTION_TYPE
Definition: MachO.h:178
llvm::MachO::REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY
@ REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY
Definition: MachO.h:334
llvm::MachO::CPU_SUBTYPE_MC98601
@ CPU_SUBTYPE_MC98601
Definition: MachO.h:1545
llvm::MachO::x86_thread_state64_t::r9
uint64_t r9
Definition: MachO.h:1580
llvm::MachO::MH_SUBSECTIONS_VIA_SYMBOLS
@ MH_SUBSECTIONS_VIA_SYMBOLS
Definition: MachO.h:72
llvm::MachO::S_16BYTE_LITERALS
@ S_16BYTE_LITERALS
S_16BYTE_LITERALS - Section with only 16 byte literals.
Definition: MachO.h:158
llvm::MachO::NListType
NListType
Definition: MachO.h:308
llvm::MachO::dyld_info_command::weak_bind_off
uint32_t weak_bind_off
Definition: MachO.h:874
llvm::MachO::x86_thread_state32_t::eip
uint32_t eip
Definition: MachO.h:1562
llvm::MachO::CS_SuperBlob::length
uint32_t length
Definition: MachO.h:2225
llvm::MachO::xmm_reg_t
Definition: MachO.h:1623
llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_MASK
@ EXPORT_SYMBOL_FLAGS_KIND_MASK
Definition: MachO.h:287
llvm::MachO::ppc_thread_state32_t::r30
uint32_t r30
Definition: MachO.h:1935
llvm::MachO::PLATFORM_TVOS
@ PLATFORM_TVOS
Definition: MachO.h:496
llvm::MachO::x86_THREAD_STATE_COUNT
const uint32_t x86_THREAD_STATE_COUNT
Definition: MachO.h:1819
llvm::MachO::dysymtab_command::nextrefsyms
uint32_t nextrefsyms
Definition: MachO.h:718
llvm::MachO::CPU_SUBTYPE_PENTIUM_3_XEON
@ CPU_SUBTYPE_PENTIUM_3_XEON
Definition: MachO.h:1480
llvm::MachO::X86_64_RELOC_SIGNED
@ X86_64_RELOC_SIGNED
Definition: MachO.h:476
llvm::MachO::CSSLOT_SIGNATURESLOT
@ CSSLOT_SIGNATURESLOT
Definition: MachO.h:2152
llvm::MachO::linker_option_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:884
llvm::MachO::CPU_SUBTYPE_PENTIUM_3_M
@ CPU_SUBTYPE_PENTIUM_3_M
Definition: MachO.h:1479
llvm::MachO::encryption_info_command_64
Definition: MachO.h:827
llvm::MachO::MH_DYLIB_STUB
@ MH_DYLIB_STUB
Definition: MachO.h:51
llvm::MachO::dylib_module_64::nextdefsym
uint32_t nextdefsym
Definition: MachO.h:751
llvm::MachO::BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB
@ BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB
Definition: MachO.h:283
llvm::MachO::SECTION_TYPE
@ SECTION_TYPE
Definition: MachO.h:112
llvm::MachO::segment_command_64::cmdsize
uint32_t cmdsize
Definition: MachO.h:553
llvm::MachO::CPU_SUBTYPE_ARM_ALL
@ CPU_SUBTYPE_ARM_ALL
Definition: MachO.h:1504
llvm::MachO::CS_HASHTYPE_SHA256
@ CS_HASHTYPE_SHA256
Definition: MachO.h:2160
llvm::MachO::dysymtab_command
Definition: MachO.h:704
llvm::MachO::x86_float_state64_t::fpu_fcw
fp_control_t fpu_fcw
Definition: MachO.h:1629
llvm::MachO::ppc_thread_state32_t::lr
uint32_t lr
Definition: MachO.h:1939
llvm::MachO::dylib_reference
Definition: MachO.h:764
llvm::MachO::CSSLOT_IDENTIFICATIONSLOT
@ CSSLOT_IDENTIFICATIONSLOT
Definition: MachO.h:2153
llvm::MachO::segment_command::maxprot
uint32_t maxprot
Definition: MachO.h:545
llvm::MachO::dylib::timestamp
uint32_t timestamp
Definition: MachO.h:614
llvm::MachO::x86_exception_state64_t::cpu
uint16_t cpu
Definition: MachO.h:1672
llvm::MachO::x86_state_hdr_t
Definition: MachO.h:1744
llvm::MachO::mmst_reg_t::mmst_rsrv
char mmst_rsrv[6]
Definition: MachO.h:1620
llvm::MachO::CSMAGIC_REQUIREMENTS
@ CSMAGIC_REQUIREMENTS
Definition: MachO.h:2121
llvm::MachO::CS_CodeDirectory
Definition: MachO.h:2184
llvm::MachO::dylib_reference::isym
uint32_t isym
Definition: MachO.h:765
llvm::MachO::dyld_info_command::cmd
uint32_t cmd
Definition: MachO.h:868
llvm::MachO::section_64
Definition: MachO.h:579
llvm::MachO::CS_PLATFORM_PATH
@ CS_PLATFORM_PATH
Definition: MachO.h:2087
llvm::MachO::ppc_thread_state32_t::r19
uint32_t r19
Definition: MachO.h:1924
llvm::MachO::CS_DEV_CODE
@ CS_DEV_CODE
Definition: MachO.h:2093
llvm::MachO::CPU_SUBTYPE_486
@ CPU_SUBTYPE_486
Definition: MachO.h:1469
llvm::MachO::MH_DYLIB
@ MH_DYLIB
Definition: MachO.h:48
llvm::MachO::CS_CodeDirectory::spare3
uint32_t spare3
Definition: MachO.h:2207
llvm::MachO::N_STAB
@ N_STAB
Definition: MachO.h:302
llvm::MachO::X86_64_RELOC_TLV
@ X86_64_RELOC_TLV
Definition: MachO.h:484
llvm::MachO::CSSLOT_ALTERNATE_CODEDIRECTORIES
@ CSSLOT_ALTERNATE_CODEDIRECTORIES
Definition: MachO.h:2145
llvm::MachO::CPUSubTypePowerPC
CPUSubTypePowerPC
Definition: MachO.h:1529
llvm::MachO::CPU_SUBTYPE_ARM64_32_V8
@ CPU_SUBTYPE_ARM64_32_V8
Definition: MachO.h:1525
llvm::MachO::x86_DEBUG_STATE32
@ x86_DEBUG_STATE32
Definition: MachO.h:1786
llvm::MachO::ppc_thread_state32_t::srr0
uint32_t srr0
Definition: MachO.h:1903
H
#define H(x, y, z)
Definition: MD5.cpp:57
llvm::MachO::CPU_SUBTYPE_POWERPC_7400
@ CPU_SUBTYPE_POWERPC_7400
Definition: MachO.h:1540
llvm::MachO::nlist_base
Definition: MachO.h:982
llvm::MachO::PPC_RELOC_HI16
@ PPC_RELOC_HI16
Definition: MachO.h:418
llvm::MachO::FAT_CIGAM_64
@ FAT_CIGAM_64
Definition: MachO.h:37
llvm::MachO::kSecCodeSignatureNoHash
@ kSecCodeSignatureNoHash
Definition: MachO.h:2231
uint16_t
llvm::MachO::load_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:534
llvm::MachO::fvmlib_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:608
llvm::MachO::ppc_thread_state32_t::r13
uint32_t r13
Definition: MachO.h:1918
llvm::MachO::PLATFORM_TVOSSIMULATOR
@ PLATFORM_TVOSSIMULATOR
Definition: MachO.h:501
llvm::MachO::x86_float_state64_t::fpu_reserved1
uint32_t fpu_reserved1
Definition: MachO.h:1667
llvm::MachO::dylib_module::ilocalsym
uint32_t ilocalsym
Definition: MachO.h:738
llvm::MachO::N_FUN
@ N_FUN
Definition: MachO.h:358
llvm::MachO::CPU_SUBTYPE_POWERPC_603e
@ CPU_SUBTYPE_POWERPC_603e
Definition: MachO.h:1534
llvm::MachO::MH_NLIST_OUTOFSYNC_WITH_DYLDINFO
@ MH_NLIST_OUTOFSYNC_WITH_DYLDINFO
Definition: MachO.h:85
llvm::MachO::PPC_RELOC_LOCAL_SECTDIFF
@ PPC_RELOC_LOCAL_SECTDIFF
Definition: MachO.h:429
llvm::MachO::N_BINCL
@ N_BINCL
Definition: MachO.h:372
llvm::MachO::routines_command::reserved6
uint32_t reserved6
Definition: MachO.h:679
llvm::MachO::fp_status_t::stkflt
unsigned short stkflt
Definition: MachO.h:1614
llvm::MachO::routines_command::reserved2
uint32_t reserved2
Definition: MachO.h:675
llvm::MachO::CS_SHA1_LEN
@ CS_SHA1_LEN
Definition: MachO.h:2164
llvm::MachO::S_THREAD_LOCAL_VARIABLE_POINTERS
@ S_THREAD_LOCAL_VARIABLE_POINTERS
S_THREAD_LOCAL_VARIABLE_POINTERS - Section with pointers to thread local structures.
Definition: MachO.h:173
llvm::MachO::CPUSubTypeSPARC
CPUSubTypeSPARC
Definition: MachO.h:1527
llvm::MachO::EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL
@ EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL
Definition: MachO.h:295
llvm::MachO::FAT_CIGAM
@ FAT_CIGAM
Definition: MachO.h:35
llvm::MachO::segment_command::nsects
uint32_t nsects
Definition: MachO.h:547
llvm::MachO::dysymtab_command::extreloff
uint32_t extreloff
Definition: MachO.h:721
llvm::MachO::CPU_TYPE_ARM64_32
@ CPU_TYPE_ARM64_32
Definition: MachO.h:1450
llvm::MachO::ppc_thread_state32_t::r24
uint32_t r24
Definition: MachO.h:1929
llvm::MachO::dylib_module::nlocalsym
uint32_t nlocalsym
Definition: MachO.h:739
llvm::MachO::CS_HARD
@ CS_HARD
Definition: MachO.h:2056
llvm::MachO::symtab_command::stroff
uint32_t stroff
Definition: MachO.h:700
llvm::MachO::R_SCATTERED
@ R_SCATTERED
Definition: MachO.h:396
llvm::MachO::symseg_command
Definition: MachO.h:889
llvm::MachO::routines_command_64
Definition: MachO.h:682
llvm::MachO::segment_command_64::filesize
uint64_t filesize
Definition: MachO.h:558
llvm::MachO::source_version_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:815
llvm::MachO::x86_FLOAT_STATE64
@ x86_FLOAT_STATE64
Definition: MachO.h:1781
llvm::MachO::entry_point_command
Definition: MachO.h:928
llvm::MachO::encryption_info_command::cmd
uint32_t cmd
Definition: MachO.h:820
llvm::MachO::x86_float_state64_t::fpu_stmm5
mmst_reg_t fpu_stmm5
Definition: MachO.h:1647
llvm::MachO::CPU_SUBTYPE_ITANIUM_2
@ CPU_SUBTYPE_ITANIUM_2
Definition: MachO.h:1485
llvm::MachO::x86_thread_state32_t::ebx
uint32_t ebx
Definition: MachO.h:1553
llvm::MachO::REBASE_TYPE_TEXT_ABSOLUTE32
@ REBASE_TYPE_TEXT_ABSOLUTE32
Definition: MachO.h:231
x
TODO unsigned x
Definition: README.txt:10
llvm::MachO::x86_float_state64_t::fpu_xmm13
xmm_reg_t fpu_xmm13
Definition: MachO.h:1663
llvm::MachO::x86_float_state_t::ufs
union llvm::MachO::x86_float_state_t::@150 ufs
llvm::MachO::SG_FVMLIB
@ SG_FVMLIB
Definition: MachO.h:106
llvm::MachO::tlv_descriptor
Definition: MachO.h:922
llvm::MachO::x86_thread_state_t
Definition: MachO.h:1749
llvm::MachO::mach_header
Definition: MachO.h:511
llvm::MachO::dylinker_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:660
llvm::MachO::ARM_RELOC_HALF_SECTDIFF
@ ARM_RELOC_HALF_SECTDIFF
Definition: MachO.h:443
llvm::MachO::N_SLINE
@ N_SLINE
Definition: MachO.h:366
llvm::MachO::dylib_module_64::irefsym
uint32_t irefsym
Definition: MachO.h:752
llvm::MachO::nlist_base::n_sect
uint8_t n_sect
Definition: MachO.h:985
llvm::MachO::PPC_RELOC_HI16_SECTDIFF
@ PPC_RELOC_HI16_SECTDIFF
Definition: MachO.h:424
llvm::MachO::MH_DEAD_STRIPPABLE_DYLIB
@ MH_DEAD_STRIPPABLE_DYLIB
Definition: MachO.h:81
llvm::MachO::section_64::reloff
uint32_t reloff
Definition: MachO.h:586
llvm::MachO::routines_command_64::reserved3
uint64_t reserved3
Definition: MachO.h:689
llvm::MachO::CPU_SUBTYPE_PENTII_M3
@ CPU_SUBTYPE_PENTII_M3
Definition: MachO.h:1474
llvm::MachO::dylib_module_64::ninit_nterm
uint32_t ninit_nterm
Definition: MachO.h:759
llvm::MachO::N_BCOMM
@ N_BCOMM
Definition: MachO.h:383
llvm::MachO::NO_SECT
@ NO_SECT
Definition: MachO.h:321
llvm::MachO::segment_command_64::vmaddr
uint64_t vmaddr
Definition: MachO.h:555
llvm::MachO::dysymtab_command::ilocalsym
uint32_t ilocalsym
Definition: MachO.h:707
llvm::MachO::CS_GET_TASK_ALLOW
@ CS_GET_TASK_ALLOW
Definition: MachO.h:2048
llvm::MachO::encryption_info_command::cmdsize
uint32_t cmdsize
Definition: MachO.h:821
llvm::MachO::x86_thread_state64_t::r10
uint64_t r10
Definition: MachO.h:1581
llvm::MachO::x86_thread_state32_t::esp
uint32_t esp
Definition: MachO.h:1559
llvm::MachO::N_ARM_THUMB_DEF
@ N_ARM_THUMB_DEF
Definition: MachO.h:337
llvm::MachO::x86_FP_RND_UP
@ x86_FP_RND_UP
Definition: MachO.h:1603
llvm::MachO::dylib_module::objc_module_info_addr
uint32_t objc_module_info_addr
Definition: MachO.h:744
llvm::MachO::CS_SUPPORTSCODELIMIT64
@ CS_SUPPORTSCODELIMIT64
Definition: MachO.h:2133
llvm::MachO::dylib::current_version
uint32_t current_version
Definition: MachO.h:615
llvm::MachO::ARM_RELOC_PAIR
@ ARM_RELOC_PAIR
Definition: MachO.h:435
llvm::MachO::S_THREAD_LOCAL_ZEROFILL
@ S_THREAD_LOCAL_ZEROFILL
S_THREAD_LOCAL_ZEROFILL - Thread local zerofill section.
Definition: MachO.h:167
llvm::MachO::CSSLOT_RESOURCEDIR
@ CSSLOT_RESOURCEDIR
Definition: MachO.h:2141
llvm::MachO::ident_command::cmd
uint32_t cmd
Definition: MachO.h:898
llvm::MachO::N_BNSYM
@ N_BNSYM
Definition: MachO.h:361
llvm::MachO::PLATFORM_WATCHOS
@ PLATFORM_WATCHOS
Definition: MachO.h:497
llvm::MachO::ARM64_RELOC_PAGEOFF12
@ ARM64_RELOC_PAGEOFF12
Definition: MachO.h:458
llvm::MachO::CPU_SUBTYPE_XEON
@ CPU_SUBTYPE_XEON
Definition: MachO.h:1486
llvm::MachO::GENERIC_RELOC_PB_LA_PTR
@ GENERIC_RELOC_PB_LA_PTR
Definition: MachO.h:407
llvm::MachO::MAX_LIBRARY_ORDINAL
@ MAX_LIBRARY_ORDINAL
Definition: MachO.h:348
llvm::MachO::tlv_descriptor_64::key
uint64_t key
Definition: MachO.h:918
llvm::MachO::x86_float_state64_t::fpu_ds
uint16_t fpu_ds
Definition: MachO.h:1638
llvm::MachO::CS_CHECK_EXPIRATION
@ CS_CHECK_EXPIRATION
Definition: MachO.h:2058
llvm::MachO::CPU_SUBTYPE_X86_64_ALL
@ CPU_SUBTYPE_X86_64_ALL
Definition: MachO.h:1490
llvm::MachO::PPC_RELOC_BR24
@ PPC_RELOC_BR24
Definition: MachO.h:417
llvm::MachO::INDIRECT_SYMBOL_LOCAL
@ INDIRECT_SYMBOL_LOCAL
Definition: MachO.h:216
llvm::MachO::sub_client_command::cmd
uint32_t cmd
Definition: MachO.h:632
llvm::MachO::routines_command_64::init_module
uint64_t init_module
Definition: MachO.h:686
llvm::MachO::x86_thread_state64_t::r8
uint64_t r8
Definition: MachO.h:1579
llvm::MachO::MH_PRELOAD
@ MH_PRELOAD
Definition: MachO.h:47