1--- !mach-o 2FileHeader: 3 magic: 0xFEEDFACF 4 cputype: 0x1000007 5 cpusubtype: 0x3 6 filetype: 0x2 7 ncmds: 15 8 sizeofcmds: 728 9 flags: 0x200085 10 reserved: 0x0 11LoadCommands: 12 - cmd: LC_SEGMENT_64 13 cmdsize: 72 14 segname: __PAGEZERO 15 vmaddr: 0 16 vmsize: 4294967296 17 fileoff: 0 18 filesize: 0 19 maxprot: 0 20 initprot: 0 21 nsects: 0 22 flags: 0 23 - cmd: LC_SEGMENT_64 24 cmdsize: 232 25 segname: __TEXT 26 vmaddr: 4294967296 27 vmsize: 16384 28 fileoff: 0 29 filesize: 16384 30 maxprot: 5 31 initprot: 5 32 nsects: 2 33 flags: 0 34 Sections: 35 - sectname: __text 36 segname: __TEXT 37 addr: 0x100003FB0 38 size: 8 39 offset: 0x3FB0 40 align: 4 41 reloff: 0x0 42 nreloc: 0 43 flags: 0x80000400 44 reserved1: 0x0 45 reserved2: 0x0 46 reserved3: 0x0 47 content: C30F1F0000000000 48 - sectname: __unwind_info 49 segname: __TEXT 50 addr: 0x100003FB8 51 size: 72 52 offset: 0x3FB8 53 align: 2 54 reloff: 0x0 55 nreloc: 0 56 flags: 0x0 57 reserved1: 0x0 58 reserved2: 0x0 59 reserved3: 0x0 60 content: 010000001C000000000000001C000000000000001C00000002000000B03F00003400000034000000B93F00000000000034000000030000000C000100100001000000000000000000 61 - cmd: LC_SEGMENT_64 62 cmdsize: 72 63 segname: __LINKEDIT 64 vmaddr: 4294983680 65 vmsize: 16384 66 fileoff: 16384 67 filesize: 176 68 maxprot: 1 69 initprot: 1 70 nsects: 0 71 flags: 0 72 - cmd: LC_DYLD_CHAINED_FIXUPS 73 cmdsize: 16 74 dataoff: 16384 75 datasize: 56 76 - cmd: LC_DYLD_EXPORTS_TRIE 77 cmdsize: 16 78 dataoff: 16440 79 datasize: 48 80 - cmd: LC_SYMTAB 81 cmdsize: 24 82 symoff: 16504 83 nsyms: 2 84 stroff: 16536 85 strsize: 32 86 - cmd: LC_DYSYMTAB 87 cmdsize: 80 88 ilocalsym: 0 89 nlocalsym: 0 90 iextdefsym: 0 91 nextdefsym: 2 92 iundefsym: 2 93 nundefsym: 0 94 tocoff: 0 95 ntoc: 0 96 modtaboff: 0 97 nmodtab: 0 98 extrefsymoff: 0 99 nextrefsyms: 0 100 indirectsymoff: 0 101 nindirectsyms: 0 102 extreloff: 0 103 nextrel: 0 104 locreloff: 0 105 nlocrel: 0 106 - cmd: LC_LOAD_DYLINKER 107 cmdsize: 32 108 name: 12 109 Content: '/usr/lib/dyld' 110 ZeroPadBytes: 7 111 - cmd: LC_UUID 112 cmdsize: 24 113 uuid: 362D6303-E0AC-3074-B083-CF48B87DB35D 114 - cmd: LC_BUILD_VERSION 115 cmdsize: 32 116 platform: 1 117 minos: 786432 118 sdk: 787200 119 ntools: 1 120 Tools: 121 - tool: 3 122 version: 50069504 123 - cmd: LC_SOURCE_VERSION 124 cmdsize: 16 125 version: 0 126 - cmd: LC_MAIN 127 cmdsize: 24 128 entryoff: 16304 129 stacksize: 0 130 - cmd: LC_LOAD_DYLIB 131 cmdsize: 56 132 dylib: 133 name: 24 134 timestamp: 2 135 current_version: 85943299 136 compatibility_version: 65536 137 Content: '/usr/lib/libSystem.B.dylib' 138 ZeroPadBytes: 6 139 - cmd: LC_FUNCTION_STARTS 140 cmdsize: 16 141 dataoff: 16488 142 datasize: 8 143 - cmd: LC_DATA_IN_CODE 144 cmdsize: 16 145 dataoff: 0 146 datasize: 0 147LinkEditData: 148 ExportTrie: 149 TerminalSize: 0 150 NodeOffset: 0 151 Name: '' 152 Flags: 0x0 153 Address: 0x0 154 Other: 0x0 155 ImportName: '' 156 Children: 157 - TerminalSize: 0 158 NodeOffset: 5 159 Name: _ 160 Flags: 0x0 161 Address: 0x0 162 Other: 0x0 163 ImportName: '' 164 Children: 165 - TerminalSize: 2 166 NodeOffset: 33 167 Name: _mh_execute_header 168 Flags: 0x0 169 Address: 0x0 170 Other: 0x0 171 ImportName: '' 172 - TerminalSize: 3 173 NodeOffset: 37 174 Name: main 175 Flags: 0x0 176 Address: 0x3F98 177 Other: 0x0 178 ImportName: '' 179 NameList: 180 - n_strx: 2 181 n_type: 0xF 182 n_sect: 1 183 n_desc: 16 184 n_value: 4294967296 185 - n_strx: 22 186 n_type: 0xF 187 n_sect: 1 188 n_desc: 0 189 n_value: 4294983600 190 StringTable: 191 - ' ' 192 - __mh_execute_header 193 - _main 194 - '' 195 - '' 196 - '' 197 - '' 198 FunctionStarts: [ 0x3FB0 ] 199 ChainedFixups: [ 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x30, 0x0, 200 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 201 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 202 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 203 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 204 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ] 205... 206 207# RUN: yaml2obj %s | obj2yaml | FileCheck %s 208 209# CHECK: cmd: LC_DYLD_CHAINED_FIXUPS 210# CHECK-NEXT: cmdsize: 16 211# CHECK-NEXT: dataoff: [[#CHAINED_FIXUPS_OFF:]] 212# CHECK-NEXT: datasize: [[#CHAINED_FIXUPS_SIZE: 56]] 213 214# CHECK: cmd: LC_DYLD_EXPORTS_TRIE 215# CHECK-NEXT: cmdsize: 16 216# CHECK-NEXT: dataoff: [[#EXPORTS_TRIE_OFF: CHAINED_FIXUPS_OFF + CHAINED_FIXUPS_SIZE]] 217# CHECK-NEXT: datasize: 48 218 219## TODO: Need D134571 to check for export trie in LC_DYLD_EXPORTS_TRIE. 220 221# CHECK: ChainedFixups: 222# CHECK-SAME: [ 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x30, 0x0, 223# CHECK-NEXT: 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 224# CHECK-NEXT: 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 225# CHECK-NEXT: 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 226# CHECK-NEXT: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 227# CHECK-NEXT: 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ] 228