1# RUN: yaml2obj %s | obj2yaml | FileCheck %s 2 3--- !mach-o 4IsLittleEndian: true 5FileHeader: 6 magic: 0xFEEDFACF 7 cputype: 0x01000007 8 cpusubtype: 0x00000003 9 filetype: 0x00000001 10 ncmds: 4 11 sizeofcmds: 1392 12 flags: 0x00002000 13 reserved: 0x00000000 14LoadCommands: 15 - cmd: LC_SEGMENT_64 16 cmdsize: 1272 17 segname: '' 18 vmaddr: 0 19 vmsize: 1086 20 fileoff: 1424 21 filesize: 1086 22 maxprot: 7 23 initprot: 7 24 nsects: 15 25 flags: 0 26 Sections: 27 - sectname: __text 28 segname: __TEXT 29 addr: 0x0000000000000000 30 size: 93 31 offset: 0x00000590 32 align: 4 33 reloff: 0x000009D0 34 nreloc: 3 35 flags: 0x80000400 36 reserved1: 0x00000000 37 reserved2: 0x00000000 38 reserved3: 0x00000000 39 - sectname: __cstring 40 segname: __TEXT 41 addr: 0x000000000000005D 42 size: 48 43 offset: 0x000005ED 44 align: 0 45 reloff: 0x00000000 46 nreloc: 0 47 flags: 0x00000002 48 reserved1: 0x00000000 49 reserved2: 0x00000000 50 reserved3: 0x00000000 51 - sectname: __debug_str 52 segname: __DWARF 53 addr: 0x000000000000008D 54 size: 182 55 offset: 0x0000061D 56 align: 0 57 reloff: 0x00000000 58 nreloc: 0 59 flags: 0x02000000 60 reserved1: 0x00000000 61 reserved2: 0x00000000 62 reserved3: 0x00000000 63 - sectname: __debug_loc 64 segname: __DWARF 65 addr: 0x0000000000000143 66 size: 0 67 offset: 0x000006D3 68 align: 0 69 reloff: 0x00000000 70 nreloc: 0 71 flags: 0x02000000 72 reserved1: 0x00000000 73 reserved2: 0x00000000 74 reserved3: 0x00000000 75 - sectname: __debug_abbrev 76 segname: __DWARF 77 addr: 0x0000000000000143 78 size: 104 79 offset: 0x000006D3 80 align: 0 81 reloff: 0x00000000 82 nreloc: 0 83 flags: 0x02000000 84 reserved1: 0x00000000 85 reserved2: 0x00000000 86 reserved3: 0x00000000 87 - sectname: __debug_info 88 segname: __DWARF 89 addr: 0x00000000000001AB 90 size: 146 91 offset: 0x0000073B 92 align: 0 93 reloff: 0x000009E8 94 nreloc: 2 95 flags: 0x02000000 96 reserved1: 0x00000000 97 reserved2: 0x00000000 98 reserved3: 0x00000000 99 - sectname: __debug_ranges 100 segname: __DWARF 101 addr: 0x000000000000023D 102 size: 0 103 offset: 0x000007CD 104 align: 0 105 reloff: 0x00000000 106 nreloc: 0 107 flags: 0x02000000 108 reserved1: 0x00000000 109 reserved2: 0x00000000 110 reserved3: 0x00000000 111 - sectname: __debug_macinfo 112 segname: __DWARF 113 addr: 0x000000000000023D 114 size: 1 115 offset: 0x000007CD 116 align: 0 117 reloff: 0x00000000 118 nreloc: 0 119 flags: 0x02000000 120 reserved1: 0x00000000 121 reserved2: 0x00000000 122 reserved3: 0x00000000 123 - sectname: __apple_names 124 segname: __DWARF 125 addr: 0x000000000000023E 126 size: 60 127 offset: 0x000007CE 128 align: 0 129 reloff: 0x00000000 130 nreloc: 0 131 flags: 0x02000000 132 reserved1: 0x00000000 133 reserved2: 0x00000000 134 reserved3: 0x00000000 135 - sectname: __apple_objc 136 segname: __DWARF 137 addr: 0x000000000000027A 138 size: 36 139 offset: 0x0000080A 140 align: 0 141 reloff: 0x00000000 142 nreloc: 0 143 flags: 0x02000000 144 reserved1: 0x00000000 145 reserved2: 0x00000000 146 reserved3: 0x00000000 147 - sectname: __apple_namespac 148 segname: __DWARF 149 addr: 0x000000000000029E 150 size: 36 151 offset: 0x0000082E 152 align: 0 153 reloff: 0x00000000 154 nreloc: 0 155 flags: 0x02000000 156 reserved1: 0x00000000 157 reserved2: 0x00000000 158 reserved3: 0x00000000 159 - sectname: __apple_types 160 segname: __DWARF 161 addr: 0x00000000000002C2 162 size: 133 163 offset: 0x00000852 164 align: 0 165 reloff: 0x00000000 166 nreloc: 0 167 flags: 0x02000000 168 reserved1: 0x00000000 169 reserved2: 0x00000000 170 reserved3: 0x00000000 171 - sectname: __compact_unwind 172 segname: __LD 173 addr: 0x0000000000000348 174 size: 32 175 offset: 0x000008D8 176 align: 3 177 reloff: 0x000009F8 178 nreloc: 1 179 flags: 0x02000000 180 reserved1: 0x00000000 181 reserved2: 0x00000000 182 reserved3: 0x00000000 183 - sectname: __eh_frame 184 segname: __TEXT 185 addr: 0x0000000000000368 186 size: 64 187 offset: 0x000008F8 188 align: 3 189 reloff: 0x00000000 190 nreloc: 0 191 flags: 0x6800000B 192 reserved1: 0x00000000 193 reserved2: 0x00000000 194 reserved3: 0x00000000 195 - sectname: __debug_line 196 segname: __DWARF 197 addr: 0x00000000000003A8 198 size: 150 199 offset: 0x00000938 200 align: 0 201 reloff: 0x00000A00 202 nreloc: 1 203 flags: 0x02000000 204 reserved1: 0x00000000 205 reserved2: 0x00000000 206 reserved3: 0x00000000 207 - cmd: LC_VERSION_MIN_MACOSX 208 cmdsize: 16 209 version: 658432 210 sdk: 0 211 - cmd: LC_SYMTAB 212 cmdsize: 24 213 symoff: 2568 214 nsyms: 2 215 stroff: 2600 216 strsize: 36 217 - cmd: LC_DYSYMTAB 218 cmdsize: 80 219 ilocalsym: 0 220 nlocalsym: 0 221 iextdefsym: 0 222 nextdefsym: 1 223 iundefsym: 1 224 nundefsym: 1 225 tocoff: 0 226 ntoc: 0 227 modtaboff: 0 228 nmodtab: 0 229 extrefsymoff: 0 230 nextrefsyms: 0 231 indirectsymoff: 0 232 nindirectsyms: 0 233 extreloff: 0 234 nextrel: 0 235 locreloff: 0 236 nlocrel: 0 237LinkEditData: 238 NameList: 239 - n_strx: 24 240 n_type: 0x0F 241 n_sect: 1 242 n_desc: 0 243 n_value: 0 244 - n_strx: 1 245 n_type: 0x01 246 n_sect: 0 247 n_desc: 0 248 n_value: 0 249 StringTable: 250 - '' 251 - _compilerrt_abort_impl 252 - ___absvdi2 253 - '' 254DWARF: 255 debug_str: 256 - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)' 257 - ../compiler-rt/lib/builtins/absvdi2.c 258 - /Users/cbieneman/dev/open-source/llvm-build-rel 259 - int 260 - di_int 261 - long long int 262 - __absvdi2 263 - a 264 - N 265 - t 266 debug_abbrev: 267 - Code: 0x00000001 268 Tag: DW_TAG_compile_unit 269 Children: DW_CHILDREN_yes 270 Attributes: 271 - Attribute: DW_AT_producer 272 Form: DW_FORM_strp 273 - Attribute: DW_AT_language 274 Form: DW_FORM_data2 275 - Attribute: DW_AT_name 276 Form: DW_FORM_strp 277 - Attribute: DW_AT_stmt_list 278 Form: DW_FORM_sec_offset 279 - Attribute: DW_AT_comp_dir 280 Form: DW_FORM_strp 281 - Attribute: DW_AT_low_pc 282 Form: DW_FORM_addr 283 - Attribute: DW_AT_high_pc 284 Form: DW_FORM_data4 285 - Code: 0x00000002 286 Tag: DW_TAG_base_type 287 Children: DW_CHILDREN_no 288 Attributes: 289 - Attribute: DW_AT_name 290 Form: DW_FORM_strp 291 - Attribute: DW_AT_encoding 292 Form: DW_FORM_data1 293 - Attribute: DW_AT_byte_size 294 Form: DW_FORM_data1 295 - Code: 0x00000003 296 Tag: DW_TAG_typedef 297 Children: DW_CHILDREN_no 298 Attributes: 299 - Attribute: DW_AT_type 300 Form: DW_FORM_ref4 301 - Attribute: DW_AT_name 302 Form: DW_FORM_strp 303 - Attribute: DW_AT_decl_file 304 Form: DW_FORM_data1 305 - Attribute: DW_AT_decl_line 306 Form: DW_FORM_data1 307 - Code: 0x00000004 308 Tag: DW_TAG_subprogram 309 Children: DW_CHILDREN_yes 310 Attributes: 311 - Attribute: DW_AT_low_pc 312 Form: DW_FORM_addr 313 - Attribute: DW_AT_high_pc 314 Form: DW_FORM_data4 315 - Attribute: DW_AT_frame_base 316 Form: DW_FORM_exprloc 317 - Attribute: DW_AT_name 318 Form: DW_FORM_strp 319 - Attribute: DW_AT_decl_file 320 Form: DW_FORM_data1 321 - Attribute: DW_AT_decl_line 322 Form: DW_FORM_data1 323 - Attribute: DW_AT_prototyped 324 Form: DW_FORM_flag_present 325 - Attribute: DW_AT_type 326 Form: DW_FORM_ref4 327 - Attribute: DW_AT_external 328 Form: DW_FORM_flag_present 329 - Code: 0x00000005 330 Tag: DW_TAG_formal_parameter 331 Children: DW_CHILDREN_no 332 Attributes: 333 - Attribute: DW_AT_location 334 Form: DW_FORM_exprloc 335 - Attribute: DW_AT_name 336 Form: DW_FORM_strp 337 - Attribute: DW_AT_decl_file 338 Form: DW_FORM_data1 339 - Attribute: DW_AT_decl_line 340 Form: DW_FORM_data1 341 - Attribute: DW_AT_type 342 Form: DW_FORM_ref4 343 - Code: 0x00000006 344 Tag: DW_TAG_variable 345 Children: DW_CHILDREN_no 346 Attributes: 347 - Attribute: DW_AT_location 348 Form: DW_FORM_exprloc 349 - Attribute: DW_AT_name 350 Form: DW_FORM_strp 351 - Attribute: DW_AT_decl_file 352 Form: DW_FORM_data1 353 - Attribute: DW_AT_decl_line 354 Form: DW_FORM_data1 355 - Attribute: DW_AT_type 356 Form: DW_FORM_ref4 357 - Code: 0x00000007 358 Tag: DW_TAG_const_type 359 Children: DW_CHILDREN_no 360 Attributes: 361 - Attribute: DW_AT_type 362 Form: DW_FORM_ref4 363... 364 365#CHECK: DWARF: 366#CHECK: debug_str: 367#CHECK: - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)' 368#CHECK: - ../compiler-rt/lib/builtins/absvdi2.c 369#CHECK: - /Users/cbieneman/dev/open-source/llvm-build-rel 370#CHECK: - int 371#CHECK: - di_int 372#CHECK: - long long int 373#CHECK: - __absvdi2 374#CHECK: - a 375#CHECK: - N 376#CHECK: - t 377#CHECK: debug_abbrev: 378#CHECK: - Code: 0x00000001 379#CHECK: Tag: DW_TAG_compile_unit 380#CHECK: Children: DW_CHILDREN_yes 381#CHECK: Attributes: 382#CHECK: - Attribute: DW_AT_producer 383#CHECK: Form: DW_FORM_strp 384#CHECK: - Attribute: DW_AT_language 385#CHECK: Form: DW_FORM_data2 386#CHECK: - Attribute: DW_AT_name 387#CHECK: Form: DW_FORM_strp 388#CHECK: - Attribute: DW_AT_stmt_list 389#CHECK: Form: DW_FORM_sec_offset 390#CHECK: - Attribute: DW_AT_comp_dir 391#CHECK: Form: DW_FORM_strp 392#CHECK: - Attribute: DW_AT_low_pc 393#CHECK: Form: DW_FORM_addr 394#CHECK: - Attribute: DW_AT_high_pc 395#CHECK: Form: DW_FORM_data4 396#CHECK: - Code: 0x00000002 397#CHECK: Tag: DW_TAG_base_type 398#CHECK: Children: DW_CHILDREN_no 399#CHECK: Attributes: 400#CHECK: - Attribute: DW_AT_name 401#CHECK: Form: DW_FORM_strp 402#CHECK: - Attribute: DW_AT_encoding 403#CHECK: Form: DW_FORM_data1 404#CHECK: - Attribute: DW_AT_byte_size 405#CHECK: Form: DW_FORM_data1 406#CHECK: - Code: 0x00000003 407#CHECK: Tag: DW_TAG_typedef 408#CHECK: Children: DW_CHILDREN_no 409#CHECK: Attributes: 410#CHECK: - Attribute: DW_AT_type 411#CHECK: Form: DW_FORM_ref4 412#CHECK: - Attribute: DW_AT_name 413#CHECK: Form: DW_FORM_strp 414#CHECK: - Attribute: DW_AT_decl_file 415#CHECK: Form: DW_FORM_data1 416#CHECK: - Attribute: DW_AT_decl_line 417#CHECK: Form: DW_FORM_data1 418#CHECK: - Code: 0x00000004 419#CHECK: Tag: DW_TAG_subprogram 420#CHECK: Children: DW_CHILDREN_yes 421#CHECK: Attributes: 422#CHECK: - Attribute: DW_AT_low_pc 423#CHECK: Form: DW_FORM_addr 424#CHECK: - Attribute: DW_AT_high_pc 425#CHECK: Form: DW_FORM_data4 426#CHECK: - Attribute: DW_AT_frame_base 427#CHECK: Form: DW_FORM_exprloc 428#CHECK: - Attribute: DW_AT_name 429#CHECK: Form: DW_FORM_strp 430#CHECK: - Attribute: DW_AT_decl_file 431#CHECK: Form: DW_FORM_data1 432#CHECK: - Attribute: DW_AT_decl_line 433#CHECK: Form: DW_FORM_data1 434#CHECK: - Attribute: DW_AT_prototyped 435#CHECK: Form: DW_FORM_flag_present 436#CHECK: - Attribute: DW_AT_type 437#CHECK: Form: DW_FORM_ref4 438#CHECK: - Attribute: DW_AT_external 439#CHECK: Form: DW_FORM_flag_present 440#CHECK: - Code: 0x00000005 441#CHECK: Tag: DW_TAG_formal_parameter 442#CHECK: Children: DW_CHILDREN_no 443#CHECK: Attributes: 444#CHECK: - Attribute: DW_AT_location 445#CHECK: Form: DW_FORM_exprloc 446#CHECK: - Attribute: DW_AT_name 447#CHECK: Form: DW_FORM_strp 448#CHECK: - Attribute: DW_AT_decl_file 449#CHECK: Form: DW_FORM_data1 450#CHECK: - Attribute: DW_AT_decl_line 451#CHECK: Form: DW_FORM_data1 452#CHECK: - Attribute: DW_AT_type 453#CHECK: Form: DW_FORM_ref4 454#CHECK: - Code: 0x00000006 455#CHECK: Tag: DW_TAG_variable 456#CHECK: Children: DW_CHILDREN_no 457#CHECK: Attributes: 458#CHECK: - Attribute: DW_AT_location 459#CHECK: Form: DW_FORM_exprloc 460#CHECK: - Attribute: DW_AT_name 461#CHECK: Form: DW_FORM_strp 462#CHECK: - Attribute: DW_AT_decl_file 463#CHECK: Form: DW_FORM_data1 464#CHECK: - Attribute: DW_AT_decl_line 465#CHECK: Form: DW_FORM_data1 466#CHECK: - Attribute: DW_AT_type 467#CHECK: Form: DW_FORM_ref4 468#CHECK: - Code: 0x00000007 469#CHECK: Tag: DW_TAG_const_type 470#CHECK: Children: DW_CHILDREN_no 471#CHECK: Attributes: 472#CHECK: - Attribute: DW_AT_type 473#CHECK: Form: DW_FORM_ref4 474#CHECK: ... 475