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: 764 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: 121 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: 0x0000212C 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: 0x00002178 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: 0x00002206 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: 0x00002242 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: 0x00002266 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: 0x000022D8 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: 117 390 Version: 4 391 AbbrOffset: 0 392 AddrSize: 8 393 Entries: 394 - AbbrCode: 0x00000001 395 Values: 396 - Value: 0x0000000000000001 397 - Value: 0x000000000000000C 398 - Value: 0x0000000000000038 399 - Value: 0x0000000000000000 400 - Value: 0x0000000000000046 401 - Value: 0x0000000100000F50 402 - Value: 0x0000000000000034 403 - AbbrCode: 0x00000002 404 Values: 405 - Value: 0x0000000100000F50 406 - Value: 0x0000000000000034 407 - Value: 0x0000000000000001 408 BlockData: 409 - 0x56 410 - Value: 0x0000000000000076 411 - Value: 0x0000000000000001 412 - Value: 0x0000000000000003 413 - Value: 0x0000000000000001 414 - Value: 0x0000000000000060 415 - Value: 0x0000000000000001 416 - AbbrCode: 0x00000003 417 Values: 418 - Value: 0x0000000000000002 419 BlockData: 420 - 0x91 421 - 0x78 422 - Value: 0x000000000000007B 423 - Value: 0x0000000000000001 424 - Value: 0x0000000000000003 425 - Value: 0x0000000000000060 426 - AbbrCode: 0x00000003 427 Values: 428 - Value: 0x0000000000000002 429 BlockData: 430 - 0x91 431 - 0x70 432 - Value: 0x0000000000000080 433 - Value: 0x0000000000000001 434 - Value: 0x0000000000000003 435 - Value: 0x0000000000000067 436 - AbbrCode: 0x00000000 437 Values: 438 - AbbrCode: 0x00000004 439 Values: 440 - Value: 0x0000000000000085 441 - Value: 0x0000000000000005 442 - Value: 0x0000000000000004 443 - AbbrCode: 0x00000005 444 Values: 445 - Value: 0x000000000000006C 446 - AbbrCode: 0x00000005 447 Values: 448 - Value: 0x0000000000000071 449 - AbbrCode: 0x00000004 450 Values: 451 - Value: 0x0000000000000089 452 - Value: 0x0000000000000006 453 - Value: 0x0000000000000001 454 - AbbrCode: 0x00000000 455 Values: 456 debug_line: 457 - Length: 458 TotalLength: 65 459 Version: 2 460 PrologueLength: 36 461 MinInstLength: 1 462 DefaultIsStmt: 1 463 LineBase: 251 464 LineRange: 14 465 OpcodeBase: 13 466 StandardOpcodeLengths: 467 - 0 468 - 1 469 - 1 470 - 1 471 - 1 472 - 0 473 - 0 474 - 0 475 - 1 476 - 0 477 - 0 478 - 1 479 IncludeDirs: 480 Files: 481 - Name: hello_world.c 482 DirIdx: 0 483 ModTime: 0 484 Length: 0 485 Opcodes: 486 - Opcode: DW_LNS_extended_op 487 ExtLen: 9 488 SubOpcode: DW_LNE_set_address 489 Data: 4294971216 490 - Opcode: 0x14 491 Data: 4294971216 492 - Opcode: DW_LNS_set_column 493 Data: 3 494 - Opcode: DW_LNS_set_prologue_end 495 Data: 3 496 - Opcode: DW_LNS_const_add_pc 497 Data: 3 498 - Opcode: 0xBB 499 Data: 3 500 - Opcode: 0xBB 501 Data: 3 502 - Opcode: DW_LNS_advance_pc 503 Data: 11 504 - Opcode: DW_LNS_extended_op 505 ExtLen: 1 506 SubOpcode: DW_LNE_end_sequence 507 Data: 11 508... 509... 510 511 512#CHECK: DWARF: 513#CHECK: debug_info: 514#CHECK: - Length: 515#CHECK: TotalLength: 117 516#CHECK: Version: 4 517#CHECK: AbbrOffset: 0 518#CHECK: AddrSize: 8 519#CHECK: Entries: 520#CHECK: - AbbrCode: 0x00000001 521#CHECK: Values: 522#CHECK: - Value: 0x0000000000000001 523#CHECK: - Value: 0x000000000000000C 524#CHECK: - Value: 0x0000000000000038 525#CHECK: - Value: 0x0000000000000000 526#CHECK: - Value: 0x0000000000000046 527#CHECK: - Value: 0x0000000100000F50 528#CHECK: - Value: 0x0000000000000034 529#CHECK: - AbbrCode: 0x00000002 530#CHECK: Values: 531#CHECK: - Value: 0x0000000100000F50 532#CHECK: - Value: 0x0000000000000034 533#CHECK: - Value: 0x0000000000000001 534#CHECK: BlockData: 535#CHECK: - 0x56 536#CHECK: - Value: 0x0000000000000076 537#CHECK: - Value: 0x0000000000000001 538#CHECK: - Value: 0x0000000000000003 539#CHECK: - Value: 0x0000000000000001 540#CHECK: - Value: 0x0000000000000060 541#CHECK: - Value: 0x0000000000000001 542#CHECK: - AbbrCode: 0x00000003 543#CHECK: Values: 544#CHECK: - Value: 0x0000000000000002 545#CHECK: BlockData: 546#CHECK: - 0x91 547#CHECK: - 0x78 548#CHECK: - Value: 0x000000000000007B 549#CHECK: - Value: 0x0000000000000001 550#CHECK: - Value: 0x0000000000000003 551#CHECK: - Value: 0x0000000000000060 552#CHECK: - AbbrCode: 0x00000003 553#CHECK: Values: 554#CHECK: - Value: 0x0000000000000002 555#CHECK: BlockData: 556#CHECK: - 0x91 557#CHECK: - 0x70 558#CHECK: - Value: 0x0000000000000080 559#CHECK: - Value: 0x0000000000000001 560#CHECK: - Value: 0x0000000000000003 561#CHECK: - Value: 0x0000000000000067 562#CHECK: - AbbrCode: 0x00000000 563#CHECK: Values: 564#CHECK: - AbbrCode: 0x00000004 565#CHECK: Values: 566#CHECK: - Value: 0x0000000000000085 567#CHECK: - Value: 0x0000000000000005 568#CHECK: - Value: 0x0000000000000004 569#CHECK: - AbbrCode: 0x00000005 570#CHECK: Values: 571#CHECK: - Value: 0x000000000000006C 572#CHECK: - AbbrCode: 0x00000005 573#CHECK: Values: 574#CHECK: - Value: 0x0000000000000071 575#CHECK: - AbbrCode: 0x00000004 576#CHECK: Values: 577#CHECK: - Value: 0x0000000000000089 578#CHECK: - Value: 0x0000000000000006 579#CHECK: - Value: 0x0000000000000001 580#CHECK: - AbbrCode: 0x00000000 581#CHECK: Values: 582