1# RUN: yaml2obj %s | obj2yaml | FileCheck %s 2 3--- !mach-o 4FileHeader: 5 magic: 0xFEEDFACF 6 cputype: 0x01000007 7 cpusubtype: 0x00000003 8 filetype: 0x0000000A 9 ncmds: 5 10 sizeofcmds: 1800 11 flags: 0x00000000 12 reserved: 0x00000000 13LoadCommands: 14 - cmd: LC_SEGMENT_64 15 cmdsize: 72 16 segname: __PAGEZERO 17 vmaddr: 0 18 vmsize: 4294967296 19 fileoff: 0 20 filesize: 0 21 maxprot: 0 22 initprot: 0 23 nsects: 0 24 flags: 0 25 - cmd: LC_SEGMENT_64 26 cmdsize: 472 27 segname: __TEXT 28 vmaddr: 4294967296 29 vmsize: 4096 30 fileoff: 0 31 filesize: 0 32 maxprot: 7 33 initprot: 5 34 nsects: 5 35 flags: 0 36 Sections: 37 - sectname: __text 38 segname: __TEXT 39 addr: 0x0000000100000F50 40 size: 52 41 offset: 0x00000000 42 align: 4 43 reloff: 0x00000000 44 nreloc: 0 45 flags: 0x80000400 46 reserved1: 0x00000000 47 reserved2: 0x00000000 48 reserved3: 0x00000000 49 - sectname: __stubs 50 segname: __TEXT 51 addr: 0x0000000100000F84 52 size: 6 53 offset: 0x00000000 54 align: 1 55 reloff: 0x00000000 56 nreloc: 0 57 flags: 0x80000408 58 reserved1: 0x00000000 59 reserved2: 0x00000006 60 reserved3: 0x00000000 61 - sectname: __stub_helper 62 segname: __TEXT 63 addr: 0x0000000100000F8C 64 size: 26 65 offset: 0x00000000 66 align: 2 67 reloff: 0x00000000 68 nreloc: 0 69 flags: 0x80000400 70 reserved1: 0x00000000 71 reserved2: 0x00000000 72 reserved3: 0x00000000 73 - sectname: __cstring 74 segname: __TEXT 75 addr: 0x0000000100000FA6 76 size: 14 77 offset: 0x00000000 78 align: 0 79 reloff: 0x00000000 80 nreloc: 0 81 flags: 0x00000002 82 reserved1: 0x00000000 83 reserved2: 0x00000000 84 reserved3: 0x00000000 85 - sectname: __unwind_info 86 segname: __TEXT 87 addr: 0x0000000100000FB4 88 size: 72 89 offset: 0x00000000 90 align: 2 91 reloff: 0x00000000 92 nreloc: 0 93 flags: 0x00000000 94 reserved1: 0x00000000 95 reserved2: 0x00000000 96 reserved3: 0x00000000 97 - cmd: LC_SEGMENT_64 98 cmdsize: 232 99 segname: __DATA 100 vmaddr: 4294971392 101 vmsize: 4096 102 fileoff: 0 103 filesize: 0 104 maxprot: 7 105 initprot: 3 106 nsects: 2 107 flags: 0 108 Sections: 109 - sectname: __nl_symbol_ptr 110 segname: __DATA 111 addr: 0x0000000100001000 112 size: 16 113 offset: 0x00000000 114 align: 3 115 reloff: 0x00000000 116 nreloc: 0 117 flags: 0x00000006 118 reserved1: 0x00000001 119 reserved2: 0x00000000 120 reserved3: 0x00000000 121 - sectname: __la_symbol_ptr 122 segname: __DATA 123 addr: 0x0000000100001010 124 size: 8 125 offset: 0x00000000 126 align: 3 127 reloff: 0x00000000 128 nreloc: 0 129 flags: 0x00000007 130 reserved1: 0x00000003 131 reserved2: 0x00000000 132 reserved3: 0x00000000 133 - cmd: LC_SEGMENT_64 134 cmdsize: 72 135 segname: __LINKEDIT 136 vmaddr: 4294975488 137 vmsize: 4096 138 fileoff: 4096 139 filesize: 60 140 maxprot: 7 141 initprot: 1 142 nsects: 0 143 flags: 0 144 - cmd: LC_SEGMENT_64 145 cmdsize: 952 146 segname: __DWARF 147 vmaddr: 4294979584 148 vmsize: 4096 149 fileoff: 8192 150 filesize: 765 151 maxprot: 7 152 initprot: 3 153 nsects: 11 154 flags: 0 155 Sections: 156 - sectname: __debug_line 157 segname: __DWARF 158 addr: 0x0000000100003000 159 size: 69 160 offset: 0x00002000 161 align: 0 162 reloff: 0x00000000 163 nreloc: 0 164 flags: 0x00000000 165 reserved1: 0x00000000 166 reserved2: 0x00000000 167 reserved3: 0x00000000 168 - sectname: __debug_pubnames 169 segname: __DWARF 170 addr: 0x0000000100003045 171 size: 27 172 offset: 0x00002045 173 align: 0 174 reloff: 0x00000000 175 nreloc: 0 176 flags: 0x00000000 177 reserved1: 0x00000000 178 reserved2: 0x00000000 179 reserved3: 0x00000000 180 - sectname: __debug_pubtypes 181 segname: __DWARF 182 addr: 0x0000000100003060 183 size: 35 184 offset: 0x00002060 185 align: 0 186 reloff: 0x00000000 187 nreloc: 0 188 flags: 0x00000000 189 reserved1: 0x00000000 190 reserved2: 0x00000000 191 reserved3: 0x00000000 192 - sectname: __debug_aranges 193 segname: __DWARF 194 addr: 0x0000000100003083 195 size: 48 196 offset: 0x00002083 197 align: 0 198 reloff: 0x00000000 199 nreloc: 0 200 flags: 0x00000000 201 reserved1: 0x00000000 202 reserved2: 0x00000000 203 reserved3: 0x00000000 204 - sectname: __debug_info 205 segname: __DWARF 206 addr: 0x00000001000030B3 207 size: 122 208 offset: 0x000020B3 209 align: 0 210 reloff: 0x00000000 211 nreloc: 0 212 flags: 0x00000000 213 reserved1: 0x00000000 214 reserved2: 0x00000000 215 reserved3: 0x00000000 216 - sectname: __debug_abbrev 217 segname: __DWARF 218 addr: 0x000000010000312C 219 size: 76 220 offset: 0x0000212D 221 align: 0 222 reloff: 0x00000000 223 nreloc: 0 224 flags: 0x00000000 225 reserved1: 0x00000000 226 reserved2: 0x00000000 227 reserved3: 0x00000000 228 - sectname: __debug_str 229 segname: __DWARF 230 addr: 0x0000000100003178 231 size: 142 232 offset: 0x00002179 233 align: 0 234 reloff: 0x00000000 235 nreloc: 0 236 flags: 0x00000000 237 reserved1: 0x00000000 238 reserved2: 0x00000000 239 reserved3: 0x00000000 240 - sectname: __apple_names 241 segname: __DWARF 242 addr: 0x0000000100003206 243 size: 60 244 offset: 0x00002207 245 align: 0 246 reloff: 0x00000000 247 nreloc: 0 248 flags: 0x00000000 249 reserved1: 0x00000000 250 reserved2: 0x00000000 251 reserved3: 0x00000000 252 - sectname: __apple_namespac 253 segname: __DWARF 254 addr: 0x0000000100003242 255 size: 36 256 offset: 0x00002243 257 align: 0 258 reloff: 0x00000000 259 nreloc: 0 260 flags: 0x00000000 261 reserved1: 0x00000000 262 reserved2: 0x00000000 263 reserved3: 0x00000000 264 - sectname: __apple_types 265 segname: __DWARF 266 addr: 0x0000000100003266 267 size: 114 268 offset: 0x00002267 269 align: 0 270 reloff: 0x00000000 271 nreloc: 0 272 flags: 0x00000000 273 reserved1: 0x00000000 274 reserved2: 0x00000000 275 reserved3: 0x00000000 276 - sectname: __apple_objc 277 segname: __DWARF 278 addr: 0x00000001000032D8 279 size: 36 280 offset: 0x000022D9 281 align: 0 282 reloff: 0x00000000 283 nreloc: 0 284 flags: 0x00000000 285 reserved1: 0x00000000 286 reserved2: 0x00000000 287 reserved3: 0x00000000 288LinkEditData: 289 NameList: 290 - n_strx: 2 291 n_type: 0x0F 292 n_sect: 1 293 n_desc: 16 294 n_value: 4294967296 295 - n_strx: 22 296 n_type: 0x0F 297 n_sect: 1 298 n_desc: 0 299 n_value: 4294971216 300 StringTable: 301 - '' 302 - '' 303 - __mh_execute_header 304 - _main 305DWARF: 306 debug_abbrev: 307 - Code: 0x00000001 308 Tag: DW_TAG_compile_unit 309 Children: DW_CHILDREN_yes 310 Attributes: 311 - Attribute: DW_AT_producer 312 Form: DW_FORM_strp 313 - Attribute: DW_AT_language 314 Form: DW_FORM_data2 315 - Attribute: DW_AT_name 316 Form: DW_FORM_strp 317 - Attribute: DW_AT_stmt_list 318 Form: DW_FORM_sec_offset 319 - Attribute: DW_AT_comp_dir 320 Form: DW_FORM_strp 321 - Attribute: DW_AT_low_pc 322 Form: DW_FORM_addr 323 - Attribute: DW_AT_high_pc 324 Form: DW_FORM_data4 325 - Code: 0x00000002 326 Tag: DW_TAG_subprogram 327 Children: DW_CHILDREN_yes 328 Attributes: 329 - Attribute: DW_AT_low_pc 330 Form: DW_FORM_addr 331 - Attribute: DW_AT_high_pc 332 Form: DW_FORM_data4 333 - Attribute: DW_AT_frame_base 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_prototyped 342 Form: DW_FORM_flag_present 343 - Attribute: DW_AT_type 344 Form: DW_FORM_ref4 345 - Attribute: DW_AT_external 346 Form: DW_FORM_flag_present 347 - Code: 0x00000003 348 Tag: DW_TAG_formal_parameter 349 Children: DW_CHILDREN_no 350 Attributes: 351 - Attribute: DW_AT_location 352 Form: DW_FORM_exprloc 353 - Attribute: DW_AT_name 354 Form: DW_FORM_strp 355 - Attribute: DW_AT_decl_file 356 Form: DW_FORM_data1 357 - Attribute: DW_AT_decl_line 358 Form: DW_FORM_data1 359 - Attribute: DW_AT_type 360 Form: DW_FORM_ref4 361 - Code: 0x00000004 362 Tag: DW_TAG_base_type 363 Children: DW_CHILDREN_no 364 Attributes: 365 - Attribute: DW_AT_name 366 Form: DW_FORM_strp 367 - Attribute: DW_AT_encoding 368 Form: DW_FORM_data1 369 - Attribute: DW_AT_byte_size 370 Form: DW_FORM_data1 371 - Code: 0x00000005 372 Tag: DW_TAG_pointer_type 373 Children: DW_CHILDREN_no 374 Attributes: 375 - Attribute: DW_AT_type 376 Form: DW_FORM_ref4 377 debug_aranges: 378 - Length: 379 TotalLength: 44 380 Version: 2 381 CuOffset: 0 382 AddrSize: 8 383 SegSize: 0 384 Descriptors: 385 - Address: 0x0000000100000F50 386 Length: 52 387 debug_info: 388 - Length: 389 TotalLength: 118 390 Version: 5 391 UnitType: DW_UT_compile 392 AbbrOffset: 0 393 AddrSize: 8 394 Entries: 395 - AbbrCode: 0x00000001 396 Values: 397 - Value: 0x0000000000000001 398 - Value: 0x000000000000000C 399 - Value: 0x0000000000000038 400 - Value: 0x0000000000000000 401 - Value: 0x0000000000000046 402 - Value: 0x0000000100000F50 403 - Value: 0x0000000000000034 404 - AbbrCode: 0x00000002 405 Values: 406 - Value: 0x0000000100000F50 407 - Value: 0x0000000000000034 408 - Value: 0x0000000000000001 409 BlockData: 410 - 0x56 411 - Value: 0x0000000000000076 412 - Value: 0x0000000000000001 413 - Value: 0x0000000000000003 414 - Value: 0x0000000000000001 415 - Value: 0x0000000000000060 416 - Value: 0x0000000000000001 417 - AbbrCode: 0x00000003 418 Values: 419 - Value: 0x0000000000000002 420 BlockData: 421 - 0x91 422 - 0x78 423 - Value: 0x000000000000007B 424 - Value: 0x0000000000000001 425 - Value: 0x0000000000000003 426 - Value: 0x0000000000000060 427 - AbbrCode: 0x00000003 428 Values: 429 - Value: 0x0000000000000002 430 BlockData: 431 - 0x91 432 - 0x70 433 - Value: 0x0000000000000080 434 - Value: 0x0000000000000001 435 - Value: 0x0000000000000003 436 - Value: 0x0000000000000067 437 - AbbrCode: 0x00000000 438 Values: 439 - AbbrCode: 0x00000004 440 Values: 441 - Value: 0x0000000000000085 442 - Value: 0x0000000000000005 443 - Value: 0x0000000000000004 444 - AbbrCode: 0x00000005 445 Values: 446 - Value: 0x000000000000006C 447 - AbbrCode: 0x00000005 448 Values: 449 - Value: 0x0000000000000071 450 - AbbrCode: 0x00000004 451 Values: 452 - Value: 0x0000000000000089 453 - Value: 0x0000000000000006 454 - Value: 0x0000000000000001 455 - AbbrCode: 0x00000000 456 Values: 457 debug_line: 458 - Length: 459 TotalLength: 65 460 Version: 2 461 PrologueLength: 36 462 MinInstLength: 1 463 DefaultIsStmt: 1 464 LineBase: 251 465 LineRange: 14 466 OpcodeBase: 13 467 StandardOpcodeLengths: 468 - 0 469 - 1 470 - 1 471 - 1 472 - 1 473 - 0 474 - 0 475 - 0 476 - 1 477 - 0 478 - 0 479 - 1 480 IncludeDirs: 481 Files: 482 - Name: hello_world.c 483 DirIdx: 0 484 ModTime: 0 485 Length: 0 486 Opcodes: 487 - Opcode: DW_LNS_extended_op 488 ExtLen: 9 489 SubOpcode: DW_LNE_set_address 490 Data: 4294971216 491 - Opcode: 0x14 492 Data: 4294971216 493 - Opcode: DW_LNS_set_column 494 Data: 3 495 - Opcode: DW_LNS_set_prologue_end 496 Data: 3 497 - Opcode: DW_LNS_const_add_pc 498 Data: 3 499 - Opcode: 0xBB 500 Data: 3 501 - Opcode: 0xBB 502 Data: 3 503 - Opcode: DW_LNS_advance_pc 504 Data: 11 505 - Opcode: DW_LNS_extended_op 506 ExtLen: 1 507 SubOpcode: DW_LNE_end_sequence 508 Data: 11 509... 510 511 512#CHECK: DWARF: 513#CHECK: debug_info: 514#CHECK: - Length: 515#CHECK: TotalLength: 118 516#CHECK: Version: 5 517#CHECK: UnitType: DW_UT_compile 518#CHECK: AbbrOffset: 0 519#CHECK: AddrSize: 8 520#CHECK: Entries: 521#CHECK: - AbbrCode: 0x00000001 522#CHECK: Values: 523#CHECK: - Value: 0x0000000000000001 524#CHECK: - Value: 0x000000000000000C 525#CHECK: - Value: 0x0000000000000038 526#CHECK: - Value: 0x0000000000000000 527#CHECK: - Value: 0x0000000000000046 528#CHECK: - Value: 0x0000000100000F50 529#CHECK: - Value: 0x0000000000000034 530#CHECK: - AbbrCode: 0x00000002 531#CHECK: Values: 532#CHECK: - Value: 0x0000000100000F50 533#CHECK: - Value: 0x0000000000000034 534#CHECK: - Value: 0x0000000000000001 535#CHECK: BlockData: 536#CHECK: - 0x56 537#CHECK: - Value: 0x0000000000000076 538#CHECK: - Value: 0x0000000000000001 539#CHECK: - Value: 0x0000000000000003 540#CHECK: - Value: 0x0000000000000001 541#CHECK: - Value: 0x0000000000000060 542#CHECK: - Value: 0x0000000000000001 543#CHECK: - AbbrCode: 0x00000003 544#CHECK: Values: 545#CHECK: - Value: 0x0000000000000002 546#CHECK: BlockData: 547#CHECK: - 0x91 548#CHECK: - 0x78 549#CHECK: - Value: 0x000000000000007B 550#CHECK: - Value: 0x0000000000000001 551#CHECK: - Value: 0x0000000000000003 552#CHECK: - Value: 0x0000000000000060 553#CHECK: - AbbrCode: 0x00000003 554#CHECK: Values: 555#CHECK: - Value: 0x0000000000000002 556#CHECK: BlockData: 557#CHECK: - 0x91 558#CHECK: - 0x70 559#CHECK: - Value: 0x0000000000000080 560#CHECK: - Value: 0x0000000000000001 561#CHECK: - Value: 0x0000000000000003 562#CHECK: - Value: 0x0000000000000067 563#CHECK: - AbbrCode: 0x00000000 564#CHECK: Values: 565#CHECK: - AbbrCode: 0x00000004 566#CHECK: Values: 567#CHECK: - Value: 0x0000000000000085 568#CHECK: - Value: 0x0000000000000005 569#CHECK: - Value: 0x0000000000000004 570#CHECK: - AbbrCode: 0x00000005 571#CHECK: Values: 572#CHECK: - Value: 0x000000000000006C 573#CHECK: - AbbrCode: 0x00000005 574#CHECK: Values: 575#CHECK: - Value: 0x0000000000000071 576#CHECK: - AbbrCode: 0x00000004 577#CHECK: Values: 578#CHECK: - Value: 0x0000000000000089 579#CHECK: - Value: 0x0000000000000006 580#CHECK: - Value: 0x0000000000000001 581#CHECK: - AbbrCode: 0x00000000 582#CHECK: Values: 583