1# How to generate this file: 2# 1. First take a swift file and run xcrun swiftc -g -v file.swift 3# secondfile.swift, make sure the two swift files are in a short path like /tmp/ 4 5# 2. Now you can see what the driver does, generate the object files in the 6# tmp directory 7 8# 3. Run obj2yaml on object file to create a yaml file 9 10# 4. I ran delta to reduce this file. 11 12--- !mach-o 13FileHeader: 14 magic: 0xFEEDFACF 15 cputype: 0x1000007 16 cpusubtype: 0x3 17 filetype: 0x1 18 ncmds: 8 19 sizeofcmds: 2240 20 flags: 0x2000 21 reserved: 0x0 22LoadCommands: 23 - cmd: LC_SEGMENT_64 24 cmdsize: 1992 25 segname: '' 26 vmaddr: 0 27 vmsize: 6592 28 fileoff: 2272 29 filesize: 6592 30 maxprot: 7 31 initprot: 7 32 nsects: 24 33 flags: 0 34 Sections: 35 - sectname: __text 36 segname: __TEXT 37 addr: 0x0 38 size: 593 39 offset: 0x8E0 40 align: 4 41 reloff: 0x22A0 42 nreloc: 24 43 flags: 0x80000400 44 reserved1: 0x0 45 reserved2: 0x0 46 relocations: 47 - address: 0x233 48 symbolnum: 2 49 pcrel: true 50 length: 2 51 extern: true 52 type: 4 53 scattered: false 54 value: 0 55 - sectname: __swift5_typeref 56 segname: __TEXT 57 addr: 0x2D6 58 size: 38 59 offset: 0xBB6 60 align: 1 61 reloff: 0x2418 62 nreloc: 4 63 flags: 0x10000000 64 reserved1: 0x0 65 reserved2: 0x0 66 content: 5369000001FFFFFFFF002473346D61696E31304D7950726F746F636F6C50000001FFFFFFFF00 67 relocations: 68 - address: 0x21 69 symbolnum: 46 70 pcrel: false 71 length: 3 72 extern: true 73 type: 0 74 scattered: false 75 value: 0 76 - sectname: __swift5_reflstr 77 segname: __TEXT 78 addr: 0x318 79 size: 12 80 offset: 0xBF8 81 align: 0 82 reloff: 0x0 83 nreloc: 0 84 flags: 0x10000000 85 reserved1: 0x0 86 reserved2: 0x0 87 content: 496E6E657200696E6E657200 88 - sectname: __swift5_assocty 89 segname: __TEXT 90 addr: 0x324 91 size: 24 92 offset: 0xC04 93 align: 2 94 reloff: 0x2450 95 nreloc: 8 96 flags: 0x10000000 97 reserved1: 0x0 98 reserved2: 0x0 99 content: 00000000FCFFFFFF0100000008000000F0FFFFFFECFFFFFF 100 relocations: 101 - address: 0x14 102 symbolnum: 5 103 pcrel: false 104 length: 2 105 extern: true 106 type: 0 107 scattered: false 108 value: 0 109 - sectname: __swift5_fieldmd 110 segname: __TEXT 111 addr: 0x378 112 size: 44 113 offset: 0xC58 114 align: 2 115 reloff: 0x24C0 116 nreloc: 8 117 flags: 0x10000000 118 reserved1: 0x0 119 reserved2: 0x0 120 content: 000000000000000000000C000100000002000000ECFFFFFFE8FFFFFF000000000000000000000C0000000000 121 relocations: 122 - address: 0x1C 123 symbolnum: 12 124 pcrel: false 125 length: 3 126 extern: false 127 type: 0 128 scattered: false 129 value: 0 130 - cmd: LC_BUILD_VERSION 131 cmdsize: 24 132 platform: 1 133 minos: 786432 134 sdk: 786688 135 ntools: 0 136 - cmd: LC_SYMTAB 137 cmdsize: 24 138 symoff: 9824 139 nsyms: 57 140 stroff: 10736 141 strsize: 1544 142 - cmd: LC_DYSYMTAB 143 cmdsize: 80 144 ilocalsym: 0 145 nlocalsym: 16 146 iextdefsym: 16 147 nextdefsym: 31 148 iundefsym: 47 149 nundefsym: 10 150 tocoff: 0 151 ntoc: 0 152 modtaboff: 0 153 nmodtab: 0 154 extrefsymoff: 0 155 nextrefsyms: 0 156 indirectsymoff: 0 157 nindirectsyms: 0 158 extreloff: 0 159 nextrel: 0 160 locreloff: 0 161 nlocrel: 0 162 - cmd: LC_LINKER_OPTION 163 cmdsize: 40 164 count: 1 165 PayloadBytes: [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x53, 166 0x0, 0x0, 0x0, 0x0 ] 167 - cmd: LC_LINKER_OPTION 168 cmdsize: 24 169 count: 1 170 PayloadBytes: [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x43, 171 0x6F, 0x72, 0x65, 0x0 ] 172 - cmd: LC_LINKER_OPTION 173 cmdsize: 32 174 count: 1 175 PayloadBytes: [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5F, 176 0x6E, 0x63, 0x79, 0x0 ] 177 - cmd: LC_LINKER_OPTION 178 cmdsize: 24 179 count: 1 180 PayloadBytes: [ 0x2D, 0x6C, 0x6F, 0x62, 0x6A, 0x63, 0x0, 0x0, 0x0, 181 0x0, 0x0, 0x0 ] 182LinkEditData: 183 NameList: 184 - n_strx: 1494 185 n_type: 0xE 186 n_sect: 9 187 n_desc: 0 188 n_value: 0 189 StringTable: 190 - '' 191 - l_entry_point 192 - '_$s4main12Conformance2V5innerSivs' 193 - l_protocol_conformances 194 - l_coro.devirt.trigger 195 - '_$s4main10MyProtocolMp' 196 - ___swift_reflection_version 197 - _main 198 - '_$s4main3AppVMn' 199 - '_$s4main12Conformance2VMn' 200 - '_$s4main12Conformance2V5innerSivpfi' 201 - _symbolic Si 202 - l_llvm.swift_module_hash 203 - '_$s4main12Conformance2V5innerSivg' 204 - '_$s4main3AppVMf' 205 - '_$s4main12Conformance2VMf' 206 - _swift_bridgeObjectRelease 207 - l_type_metadata_table 208 - '_$s4main12Conformance2VAA10MyProtocolAAMc' 209 - '_$sSaMa' 210 - '_$s4main3AppVMa' 211 - '_$s4main12Conformance2VMa' 212 - '_$s4main12Conformance2V5innerACSi_tcfcfA_' 213 - '_$ss5print_9separator10terminatoryypd_S2StFfA1_' 214 - '_$ss5print_9separator10terminatoryypd_S2StFfA0_' 215 - '_$s4main3AppV5$mainyyFZ' 216 - '_$s4main3AppVAAyyFZ' 217 - '_$s4main12Conformance2VAA10MyProtocolA2aDP5inner5InnerQzvgTW' 218 - _symbolic _____ 4main3AppV 219 - '_$sytWV' 220 - '_$sBi64_WV' 221 - '_$s4main12Conformance2V5innerSivpMV' 222 - _symbolic _____ 4main12Conformance2V 223 - '_symbolic $s4main10MyProtocolP' 224 - '_$s4main12Conformance2VAA10MyProtocolAAWP' 225 - '_$sypN' 226 - '_$s4main3AppVN' 227 - '_$s4main12Conformance2VN' 228 - '_$sSSN' 229 - '_$s4main12Conformance2V5innerSivM' 230 - '_$s4mainMXM' 231 - '_$sSa12_endMutationyyF' 232 - '_$ss5print_9separator10terminatoryypd_S2StF' 233 - '_$ss27_allocateUninitializedArrayySayxG_BptBwlF' 234 - '_$ss27_finalizeUninitializedArrayySayxGABnlF' 235 - '_$s4main3AppVMF' 236 - '_$s4main12Conformance2VMF' 237 - '_$s4main3AppVACycfC' 238 - '_$s4main12Conformance2VACycfC' 239 - '_$s4main12Conformance2V5innerACSi_tcfC' 240 - '_$sSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC' 241 - '_$s4main12Conformance2VAA10MyProtocolAAMA' 242 - l___unnamed_8 243 - l___unnamed_7 244 - l___unnamed_6 245 - l___unnamed_5 246 - l___unnamed_4 247 - '_$s4main12Conformance2V5innerSivM.resume.0' 248 - '' 249 - '' 250 - '' 251 - '' 252 - '' 253 - '' 254 - '' 255