911 lines · yaml
1## This file contains test cases for generating a DAWRFv4 .debug_info2## section in object files from the DWARF entry of Mach-O YAML inputs.3 4## a) Test that yaml2obj emits a DWARF32 .debug_info sections and obj2yaml5## converts it back.6 7# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s --check-prefix=DWARF328 9--- !mach-o10FileHeader: 11 magic: 0xFEEDFACF12 cputype: 0x0100000713 cpusubtype: 0x0000000314 filetype: 0x0000000A15 ncmds: 516 sizeofcmds: 180017 flags: 0x0000000018 reserved: 0x0000000019LoadCommands: 20 - cmd: LC_SEGMENT_6421 cmdsize: 7222 segname: __PAGEZERO23 vmaddr: 024 vmsize: 429496729625 fileoff: 026 filesize: 027 maxprot: 028 initprot: 029 nsects: 030 flags: 031 - cmd: LC_SEGMENT_6432 cmdsize: 47233 segname: __TEXT34 vmaddr: 429496729635 vmsize: 409636 fileoff: 037 filesize: 038 maxprot: 739 initprot: 540 nsects: 541 flags: 042 Sections: 43 - sectname: __text44 segname: __TEXT45 addr: 0x0000000100000F5046 size: 5247 offset: 0x0000000048 align: 449 reloff: 0x0000000050 nreloc: 051 flags: 0x8000040052 reserved1: 0x0000000053 reserved2: 0x0000000054 reserved3: 0x0000000055 - sectname: __stubs56 segname: __TEXT57 addr: 0x0000000100000F8458 size: 659 offset: 0x0000000060 align: 161 reloff: 0x0000000062 nreloc: 063 flags: 0x8000040864 reserved1: 0x0000000065 reserved2: 0x0000000666 reserved3: 0x0000000067 - sectname: __stub_helper68 segname: __TEXT69 addr: 0x0000000100000F8C70 size: 2671 offset: 0x0000000072 align: 273 reloff: 0x0000000074 nreloc: 075 flags: 0x8000040076 reserved1: 0x0000000077 reserved2: 0x0000000078 reserved3: 0x0000000079 - sectname: __cstring80 segname: __TEXT81 addr: 0x0000000100000FA682 size: 1483 offset: 0x0000000084 align: 085 reloff: 0x0000000086 nreloc: 087 flags: 0x0000000288 reserved1: 0x0000000089 reserved2: 0x0000000090 reserved3: 0x0000000091 - sectname: __unwind_info92 segname: __TEXT93 addr: 0x0000000100000FB494 size: 7295 offset: 0x0000000096 align: 297 reloff: 0x0000000098 nreloc: 099 flags: 0x00000000100 reserved1: 0x00000000101 reserved2: 0x00000000102 reserved3: 0x00000000103 - cmd: LC_SEGMENT_64104 cmdsize: 232105 segname: __DATA106 vmaddr: 4294971392107 vmsize: 4096108 fileoff: 0109 filesize: 0110 maxprot: 7111 initprot: 3112 nsects: 2113 flags: 0114 Sections: 115 - sectname: __nl_symbol_ptr116 segname: __DATA117 addr: 0x0000000100001000118 size: 16119 offset: 0x00000000120 align: 3121 reloff: 0x00000000122 nreloc: 0123 flags: 0x00000006124 reserved1: 0x00000001125 reserved2: 0x00000000126 reserved3: 0x00000000127 - sectname: __la_symbol_ptr128 segname: __DATA129 addr: 0x0000000100001010130 size: 8131 offset: 0x00000000132 align: 3133 reloff: 0x00000000134 nreloc: 0135 flags: 0x00000007136 reserved1: 0x00000003137 reserved2: 0x00000000138 reserved3: 0x00000000139 - cmd: LC_SEGMENT_64140 cmdsize: 72141 segname: __LINKEDIT142 vmaddr: 4294975488143 vmsize: 4096144 fileoff: 4096145 filesize: 60146 maxprot: 7147 initprot: 1148 nsects: 0149 flags: 0150 - cmd: LC_SEGMENT_64151 cmdsize: 952152 segname: __DWARF153 vmaddr: 4294979584154 vmsize: 4096155 fileoff: 8192156 filesize: 764157 maxprot: 7158 initprot: 3159 nsects: 11160 flags: 0161 Sections: 162 - sectname: __debug_line163 segname: __DWARF164 addr: 0x0000000100003000165 size: 69166 offset: 0x00002000167 align: 0168 reloff: 0x00000000169 nreloc: 0170 flags: 0x00000000171 reserved1: 0x00000000172 reserved2: 0x00000000173 reserved3: 0x00000000174 - sectname: __debug_pubnames175 segname: __DWARF176 addr: 0x0000000100003045177 size: 27178 offset: 0x00002045179 align: 0180 reloff: 0x00000000181 nreloc: 0182 flags: 0x00000000183 reserved1: 0x00000000184 reserved2: 0x00000000185 reserved3: 0x00000000186 - sectname: __debug_pubtypes187 segname: __DWARF188 addr: 0x0000000100003060189 size: 35190 offset: 0x00002060191 align: 0192 reloff: 0x00000000193 nreloc: 0194 flags: 0x00000000195 reserved1: 0x00000000196 reserved2: 0x00000000197 reserved3: 0x00000000198 - sectname: __debug_aranges199 segname: __DWARF200 addr: 0x0000000100003083201 size: 48202 offset: 0x00002083203 align: 0204 reloff: 0x00000000205 nreloc: 0206 flags: 0x00000000207 reserved1: 0x00000000208 reserved2: 0x00000000209 reserved3: 0x00000000210 - sectname: __debug_info211 segname: __DWARF212 addr: 0x00000001000030B3213 size: 121214 offset: 0x000020B3215 align: 0216 reloff: 0x00000000217 nreloc: 0218 flags: 0x00000000219 reserved1: 0x00000000220 reserved2: 0x00000000221 reserved3: 0x00000000222 - sectname: __debug_abbrev223 segname: __DWARF224 addr: 0x000000010000312C225 size: 76226 offset: 0x0000212C227 align: 0228 reloff: 0x00000000229 nreloc: 0230 flags: 0x00000000231 reserved1: 0x00000000232 reserved2: 0x00000000233 reserved3: 0x00000000234 - sectname: __debug_str235 segname: __DWARF236 addr: 0x0000000100003178237 size: 142238 offset: 0x00002178239 align: 0240 reloff: 0x00000000241 nreloc: 0242 flags: 0x00000000243 reserved1: 0x00000000244 reserved2: 0x00000000245 reserved3: 0x00000000246 - sectname: __apple_names247 segname: __DWARF248 addr: 0x0000000100003206249 size: 60250 offset: 0x00002206251 align: 0252 reloff: 0x00000000253 nreloc: 0254 flags: 0x00000000255 reserved1: 0x00000000256 reserved2: 0x00000000257 reserved3: 0x00000000258 - sectname: __apple_namespac259 segname: __DWARF260 addr: 0x0000000100003242261 size: 36262 offset: 0x00002242263 align: 0264 reloff: 0x00000000265 nreloc: 0266 flags: 0x00000000267 reserved1: 0x00000000268 reserved2: 0x00000000269 reserved3: 0x00000000270 - sectname: __apple_types271 segname: __DWARF272 addr: 0x0000000100003266273 size: 114274 offset: 0x00002266275 align: 0276 reloff: 0x00000000277 nreloc: 0278 flags: 0x00000000279 reserved1: 0x00000000280 reserved2: 0x00000000281 reserved3: 0x00000000282 - sectname: __apple_objc283 segname: __DWARF284 addr: 0x00000001000032D8285 size: 36286 offset: 0x000022D8287 align: 0288 reloff: 0x00000000289 nreloc: 0290 flags: 0x00000000291 reserved1: 0x00000000292 reserved2: 0x00000000293 reserved3: 0x00000000294LinkEditData: 295 NameList: 296 - n_strx: 2297 n_type: 0x0F298 n_sect: 1299 n_desc: 16300 n_value: 4294967296301 - n_strx: 22302 n_type: 0x0F303 n_sect: 1304 n_desc: 0305 n_value: 4294971216306 StringTable: 307 - ''308 - ''309 - __mh_execute_header310 - _main311DWARF: 312 debug_abbrev: 313 - Table:314 - Code: 0x00000001315 Tag: DW_TAG_compile_unit316 Children: DW_CHILDREN_yes317 Attributes:318 - Attribute: DW_AT_producer319 Form: DW_FORM_strp320 - Attribute: DW_AT_language321 Form: DW_FORM_data2322 - Attribute: DW_AT_name323 Form: DW_FORM_strp324 - Attribute: DW_AT_stmt_list325 Form: DW_FORM_sec_offset326 - Attribute: DW_AT_comp_dir327 Form: DW_FORM_strp328 - Attribute: DW_AT_low_pc329 Form: DW_FORM_addr330 - Attribute: DW_AT_high_pc331 Form: DW_FORM_data4332 - Code: 0x00000002333 Tag: DW_TAG_subprogram334 Children: DW_CHILDREN_yes335 Attributes:336 - Attribute: DW_AT_low_pc337 Form: DW_FORM_addr338 - Attribute: DW_AT_high_pc339 Form: DW_FORM_data4340 - Attribute: DW_AT_frame_base341 Form: DW_FORM_exprloc342 - Attribute: DW_AT_name343 Form: DW_FORM_strp344 - Attribute: DW_AT_decl_file345 Form: DW_FORM_data1346 - Attribute: DW_AT_decl_line347 Form: DW_FORM_data1348 - Attribute: DW_AT_prototyped349 Form: DW_FORM_flag_present350 - Attribute: DW_AT_type351 Form: DW_FORM_ref4352 - Attribute: DW_AT_external353 Form: DW_FORM_flag_present354 - Code: 0x00000003355 Tag: DW_TAG_formal_parameter356 Children: DW_CHILDREN_no357 Attributes:358 - Attribute: DW_AT_location359 Form: DW_FORM_exprloc360 - Attribute: DW_AT_name361 Form: DW_FORM_strp362 - Attribute: DW_AT_decl_file363 Form: DW_FORM_data1364 - Attribute: DW_AT_decl_line365 Form: DW_FORM_data1366 - Attribute: DW_AT_type367 Form: DW_FORM_ref4368 - Code: 0x00000004369 Tag: DW_TAG_base_type370 Children: DW_CHILDREN_no371 Attributes:372 - Attribute: DW_AT_name373 Form: DW_FORM_strp374 - Attribute: DW_AT_encoding375 Form: DW_FORM_data1376 - Attribute: DW_AT_byte_size377 Form: DW_FORM_data1378 - Code: 0x00000005379 Tag: DW_TAG_pointer_type380 Children: DW_CHILDREN_no381 Attributes:382 - Attribute: DW_AT_type383 Form: DW_FORM_ref4384 debug_aranges: 385 - Length: 44386 Version: 2387 CuOffset: 0388 AddressSize: 8389 SegmentSelectorSize: 0390 Descriptors: 391 - Address: 0x0000000100000F50392 Length: 52393 debug_info: 394 - Length: 117395 Version: 4396 AbbrOffset: 0397 AddrSize: 8398 Entries: 399 - AbbrCode: 0x00000001400 Values: 401 - Value: 0x0000000000000001402 - Value: 0x000000000000000C403 - Value: 0x0000000000000038404 - Value: 0x0000000000000000405 - Value: 0x0000000000000046406 - Value: 0x0000000100000F50407 - Value: 0x0000000000000034408 - AbbrCode: 0x00000002409 Values: 410 - Value: 0x0000000100000F50411 - Value: 0x0000000000000034412 - Value: 0x0000000000000001413 BlockData: 414 - 0x56415 - Value: 0x0000000000000076416 - Value: 0x0000000000000001417 - Value: 0x0000000000000003418 - Value: 0x0000000000000001419 - Value: 0x0000000000000060420 - Value: 0x0000000000000001421 - AbbrCode: 0x00000003422 Values: 423 - Value: 0x0000000000000002424 BlockData: 425 - 0x91426 - 0x78427 - Value: 0x000000000000007B428 - Value: 0x0000000000000001429 - Value: 0x0000000000000003430 - Value: 0x0000000000000060431 - AbbrCode: 0x00000003432 Values: 433 - Value: 0x0000000000000002434 BlockData: 435 - 0x91436 - 0x70437 - Value: 0x0000000000000080438 - Value: 0x0000000000000001439 - Value: 0x0000000000000003440 - Value: 0x0000000000000067441 - AbbrCode: 0x00000000442 - AbbrCode: 0x00000004443 Values: 444 - Value: 0x0000000000000085445 - Value: 0x0000000000000005446 - Value: 0x0000000000000004447 - AbbrCode: 0x00000005448 Values: 449 - Value: 0x000000000000006C450 - AbbrCode: 0x00000005451 Values: 452 - Value: 0x0000000000000071453 - AbbrCode: 0x00000004454 Values: 455 - Value: 0x0000000000000089456 - Value: 0x0000000000000006457 - Value: 0x0000000000000001458 - AbbrCode: 0x00000000459 debug_line: 460 - Length: 65461 Version: 2462 PrologueLength: 36463 MinInstLength: 1464 DefaultIsStmt: 1465 LineBase: 251466 LineRange: 14467 OpcodeBase: 13468 StandardOpcodeLengths: 469 - 0470 - 1471 - 1472 - 1473 - 1474 - 0475 - 0476 - 0477 - 1478 - 0479 - 0480 - 1481 Files: 482 - Name: hello_world.c483 DirIdx: 0484 ModTime: 0485 Length: 0486 Opcodes: 487 - Opcode: DW_LNS_extended_op488 ExtLen: 9489 SubOpcode: DW_LNE_set_address490 Data: 4294971216491 - Opcode: 0x14492 Data: 4294971216493 - Opcode: DW_LNS_set_column494 Data: 3495 - Opcode: DW_LNS_set_prologue_end496 Data: 3497 - Opcode: DW_LNS_const_add_pc498 Data: 3499 - Opcode: 0xBB500 Data: 3501 - Opcode: 0xBB502 Data: 3503 - Opcode: DW_LNS_advance_pc504 Data: 11505 - Opcode: DW_LNS_extended_op506 ExtLen: 1507 SubOpcode: DW_LNE_end_sequence508 Data: 11509...510...511 512# DWARF32: DWARF:513# DWARF32: debug_info:514# DWARF32-NEXT: - Length: 0x75515# DWARF32-NEXT: Version: 4516# DWARF32-NEXT: AbbrevTableID: 0517# DWARF32-NEXT: AbbrOffset: 0518# DWARF32-NEXT: AddrSize: 8519# DWARF32-NEXT: Entries:520# DWARF32-NEXT: - AbbrCode: 0x1521# DWARF32-NEXT: Values:522# DWARF32-NEXT: - Value: 0x1523# DWARF32-NEXT: - Value: 0xC524# DWARF32-NEXT: - Value: 0x38525# DWARF32-NEXT: - Value: 0x0526# DWARF32-NEXT: - Value: 0x46527# DWARF32-NEXT: - Value: 0x100000F50528# DWARF32-NEXT: - Value: 0x34529# DWARF32-NEXT: - AbbrCode: 0x2530# DWARF32-NEXT: Values:531# DWARF32-NEXT: - Value: 0x100000F50532# DWARF32-NEXT: - Value: 0x34533# DWARF32-NEXT: - Value: 0x1534# DWARF32-NEXT: BlockData: [ 0x56 ]535# DWARF32-NEXT: - Value: 0x76536# DWARF32-NEXT: - Value: 0x1537# DWARF32-NEXT: - Value: 0x3538# DWARF32-NEXT: - Value: 0x1539# DWARF32-NEXT: - Value: 0x60540# DWARF32-NEXT: - Value: 0x1541# DWARF32-NEXT: - AbbrCode: 0x3542# DWARF32-NEXT: Values:543# DWARF32-NEXT: - Value: 0x2544# DWARF32-NEXT: BlockData: [ 0x91, 0x78 ]545# DWARF32-NEXT: - Value: 0x7B546# DWARF32-NEXT: - Value: 0x1547# DWARF32-NEXT: - Value: 0x3548# DWARF32-NEXT: - Value: 0x60549# DWARF32-NEXT: - AbbrCode: 0x3550# DWARF32-NEXT: Values:551# DWARF32-NEXT: - Value: 0x2552# DWARF32-NEXT: BlockData: [ 0x91, 0x70 ]553# DWARF32-NEXT: - Value: 0x80554# DWARF32-NEXT: - Value: 0x1555# DWARF32-NEXT: - Value: 0x3556# DWARF32-NEXT: - Value: 0x67557# DWARF32-NEXT: - AbbrCode: 0x0558# DWARF32-NEXT: - AbbrCode: 0x4559# DWARF32-NEXT: Values:560# DWARF32-NEXT: - Value: 0x85561# DWARF32-NEXT: - Value: 0x5562# DWARF32-NEXT: - Value: 0x4563# DWARF32-NEXT: - AbbrCode: 0x5564# DWARF32-NEXT: Values:565# DWARF32-NEXT: - Value: 0x6C566# DWARF32-NEXT: - AbbrCode: 0x5567# DWARF32-NEXT: Values:568# DWARF32-NEXT: - Value: 0x71569# DWARF32-NEXT: - AbbrCode: 0x4570# DWARF32-NEXT: Values:571# DWARF32-NEXT: - Value: 0x89572# DWARF32-NEXT: - Value: 0x6573# DWARF32-NEXT: - Value: 0x1574# DWARF32-NEXT: - AbbrCode: 0x0575 576## b) Test that yaml2obj emits a correct unit header and obj2yaml is able to convert it back.577 578## Test DWARF32 unit header.579 580# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF32 %s | \581# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML582 583# DWARF32-YAML: debug_info:584# DWARF32-YAML-NEXT: - Length: 0xC585# DWARF32-YAML-NEXT: Version: 4586# DWARF32-YAML-NEXT: AbbrevTableID: 0587# DWARF32-YAML-NEXT: AbbrOffset: 0588# DWARF32-YAML-NEXT: AddrSize: 8589# DWARF32-YAML-NEXT: Entries:590# DWARF32-YAML-NEXT: - AbbrCode: 0x1591# DWARF32-YAML-NEXT: Values:592# DWARF32-YAML-NEXT: - Value: 0x1234593 594--- !mach-o595FileHeader:596 magic: 0xFEEDFACF597 cputype: 0x01000007598 cpusubtype: 0x00000003599 filetype: 0x0000000A600 ncmds: 1601 sizeofcmds: 232602 flags: 0x00000000603 reserved: 0x00000000604LoadCommands:605 - cmd: LC_SEGMENT_64606 cmdsize: 232607 segname: __DWARF608 vmaddr: 0x00609 vmsize: 0x00610 fileoff: 0x00611 filesize: 0x00612 maxprot: 0613 initprot: 0614 nsects: 2615 flags: 0616 Sections:617 - sectname: __debug_abbrev618 segname: __DWARF619 addr: 0x00620 size: 12621 offset: 528622 align: 0623 reloff: 0x00000000624 nreloc: 0625 flags: 0x00000000626 reserved1: 0x00000000627 reserved2: 0x00000000628 reserved3: 0x00000000629 - sectname: __debug_info630 segname: __DWARF631 addr: 0x00632 size: 0xffff633 offset: 1070634 align: 0635 reloff: 0x00000000636 nreloc: 0637 flags: 0x00000000638 reserved1: 0x00000000639 reserved2: 0x00000000640 reserved3: 0x00000000641DWARF:642 debug_abbrev:643 - Table:644 - Code: 1645 Tag: DW_TAG_compile_unit646 Children: DW_CHILDREN_no647 Attributes:648 - Attribute: DW_AT_low_pc649 Form: DW_FORM_addr650 debug_info:651 - Format: [[FORMAT]]652 Length: 12653 Version: 4654 AbbrOffset: 0655 AddrSize: 8656 Entries:657 - AbbrCode: 1658 Values:659 - Value: 0x1234660 661## Test DWARF64 unit header.662 663# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF64 %s | \664# RUN: obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML665 666# DWARF64-YAML: debug_info:667# DWARF64-YAML-NEXT: - Format: DWARF64668# DWARF64-YAML-NEXT: Length: 0xC669# DWARF64-YAML-NEXT: Version: 4670# DWARF64-YAML-NEXT: AbbrevTableID: 0671# DWARF64-YAML-NEXT: AbbrOffset: 0672# DWARF64-YAML-NEXT: AddrSize: 8673# DWARF64-YAML-NEXT: Entries:674# DWARF64-YAML-NEXT: - AbbrCode: 0x1675# DWARF64-YAML-NEXT: Values:676# DWARF64-YAML-NEXT: - Value: 0x1234677 678## c) Test that yaml2obj is able to generate compilation units according to the679## associated abbrev table that is referenced by the 'AbbrevTableID' and obj2yaml680## is able to convert it back.681 682# RUN: yaml2obj --docnum=3 %s | obj2yaml | FileCheck %s --check-prefix=MULTI-TABLES683 684# MULTI-TABLES: DWARF:685# MULTI-TABLES-NEXT: debug_abbrev:686# MULTI-TABLES-NEXT: - ID: 0687# MULTI-TABLES-NEXT: Table:688# MULTI-TABLES-NEXT: - Code: 0x1689# MULTI-TABLES-NEXT: Tag: DW_TAG_compile_unit690# MULTI-TABLES-NEXT: Children: DW_CHILDREN_no691# MULTI-TABLES-NEXT: Attributes:692# MULTI-TABLES-NEXT: - Attribute: DW_AT_low_pc693# MULTI-TABLES-NEXT: Form: DW_FORM_addr694# MULTI-TABLES-NEXT: - ID: 1695# MULTI-TABLES-NEXT: Table:696# MULTI-TABLES-NEXT: - Code: 0x1697# MULTI-TABLES-NEXT: Tag: DW_TAG_compile_unit698# MULTI-TABLES-NEXT: Children: DW_CHILDREN_no699# MULTI-TABLES-NEXT: Attributes:700# MULTI-TABLES-NEXT: - Attribute: DW_AT_low_pc701# MULTI-TABLES-NEXT: Form: DW_FORM_data4702# MULTI-TABLES-NEXT: - Code: 0x2703# MULTI-TABLES-NEXT: Tag: DW_TAG_compile_unit704# MULTI-TABLES-NEXT: Children: DW_CHILDREN_no705# MULTI-TABLES-NEXT: Attributes:706# MULTI-TABLES-NEXT: - Attribute: DW_AT_low_pc707# MULTI-TABLES-NEXT: Form: DW_FORM_data4708# MULTI-TABLES-NEXT: - ID: 2709# MULTI-TABLES-NEXT: Table:710# MULTI-TABLES-NEXT: - Code: 0x1711# MULTI-TABLES-NEXT: Tag: DW_TAG_compile_unit712# MULTI-TABLES-NEXT: Children: DW_CHILDREN_no713# MULTI-TABLES-NEXT: Attributes:714# MULTI-TABLES-NEXT: - Attribute: DW_AT_low_pc715# MULTI-TABLES-NEXT: Form: DW_FORM_udata716# MULTI-TABLES-NEXT: - ID: 3717# MULTI-TABLES-NEXT: debug_info:718# MULTI-TABLES-NEXT: - Length: 0xC719# MULTI-TABLES-NEXT: Version: 4720# MULTI-TABLES-NEXT: AbbrevTableID: 1721# MULTI-TABLES-NEXT: AbbrOffset: 0x8722# MULTI-TABLES-NEXT: AddrSize: 8723# MULTI-TABLES-NEXT: Entries:724# MULTI-TABLES-NEXT: - AbbrCode: 0x1725# MULTI-TABLES-NEXT: Values:726# MULTI-TABLES-NEXT: - Value: 0x1234727# MULTI-TABLES-NEXT: - Length: 0xC728# MULTI-TABLES-NEXT: Version: 4729# MULTI-TABLES-NEXT: AbbrevTableID: 1730# MULTI-TABLES-NEXT: AbbrOffset: 0x8731# MULTI-TABLES-NEXT: AddrSize: 8732# MULTI-TABLES-NEXT: Entries:733# MULTI-TABLES-NEXT: - AbbrCode: 0x1734# MULTI-TABLES-NEXT: Values:735# MULTI-TABLES-NEXT: - Value: 0x4321736# MULTI-TABLES-NEXT: - Length: 0x10737# MULTI-TABLES-NEXT: Version: 4738# MULTI-TABLES-NEXT: AbbrevTableID: 0739# MULTI-TABLES-NEXT: AbbrOffset: 0x0740# MULTI-TABLES-NEXT: AddrSize: 8741# MULTI-TABLES-NEXT: Entries:742# MULTI-TABLES-NEXT: - AbbrCode: 0x1743# MULTI-TABLES-NEXT: Values:744# MULTI-TABLES-NEXT: - Value: 0x5678745# MULTI-TABLES-NEXT: - Length: 0xB746# MULTI-TABLES-NEXT: Version: 4747# MULTI-TABLES-NEXT: AbbrevTableID: 2748# MULTI-TABLES-NEXT: AbbrOffset: 0x17749# MULTI-TABLES-NEXT: AddrSize: 8750# MULTI-TABLES-NEXT: Entries:751# MULTI-TABLES-NEXT: - AbbrCode: 0x1752# MULTI-TABLES-NEXT: Values:753# MULTI-TABLES-NEXT: - Value: 0x8765754# MULTI-TABLES-NEXT: ...755 756--- !mach-o757FileHeader:758 magic: 0xFEEDFACF759 cputype: 0x01000007760 cpusubtype: 0x00000003761 filetype: 0x0000000A762 ncmds: 1763 sizeofcmds: 232764 flags: 0x00000000765 reserved: 0x00000000766LoadCommands:767 - cmd: LC_SEGMENT_64768 cmdsize: 232769 segname: __DWARF770 vmaddr: 0x00771 vmsize: 0x00772 fileoff: 0x00773 filesize: 0x00774 maxprot: 0775 initprot: 0776 nsects: 2777 flags: 0778 Sections:779 - sectname: __debug_abbrev780 segname: __DWARF781 addr: 0x00782 size: 32783 offset: 528784 align: 0785 reloff: 0x00000000786 nreloc: 0787 flags: 0x00000000788 reserved1: 0x00000000789 reserved2: 0x00000000790 reserved3: 0x00000000791 - sectname: __debug_info792 segname: __DWARF793 addr: 0x00794 size: 67795 offset: 1070796 align: 0797 reloff: 0x00000000798 nreloc: 0799 flags: 0x00000000800 reserved1: 0x00000000801 reserved2: 0x00000000802 reserved3: 0x00000000803DWARF:804 debug_abbrev:805 - Table:806 - Code: 1807 Tag: DW_TAG_compile_unit808 Children: DW_CHILDREN_no809 Attributes:810 - Attribute: DW_AT_low_pc811 Form: DW_FORM_addr812 - ID: 2813 Table:814 - Code: 1815 Tag: DW_TAG_compile_unit816 Children: DW_CHILDREN_no817 Attributes:818 - Attribute: DW_AT_low_pc819 Form: DW_FORM_data4820 - Code: 2821 Tag: DW_TAG_compile_unit822 Children: DW_CHILDREN_no823 Attributes:824 - Attribute: DW_AT_low_pc825 Form: DW_FORM_data4826 - ID: 1827 Table:828 - Code: 1829 Tag: DW_TAG_compile_unit830 Children: DW_CHILDREN_no831 Attributes:832 - Attribute: DW_AT_low_pc833 Form: DW_FORM_udata834 - ID: 3835 debug_info:836 - Version: 4837 AbbrevTableID: 2838 Entries:839 - AbbrCode: 1840 Values:841 - Value: 0x1234842 - Version: 4843 AbbrevTableID: 2844 Entries:845 - AbbrCode: 1846 Values:847 - Value: 0x4321848 - Version: 4849 AbbrevTableID: 0850 Entries:851 - AbbrCode: 1852 Values:853 - Value: 0x5678854 - Version: 4855 AbbrevTableID: 1856 Entries:857 - AbbrCode: 1858 Values:859 - Value: 0x8765860 861## d) Test that yaml2obj emits an error message when a compilation unit doesn't have862## an associated abbrev table.863 864# RUN: not yaml2obj --docnum=4 %s 2>&1 | FileCheck %s --check-prefix=MISSING-ABBREV865 866# MISSING-ABBREV: yaml2obj: error: cannot find abbrev table whose ID is 0 for compilation unit with index 0867 868--- !mach-o869FileHeader:870 magic: 0xFEEDFACF871 cputype: 0x01000007872 cpusubtype: 0x00000003873 filetype: 0x0000000A874 ncmds: 1875 sizeofcmds: 232876 flags: 0x00000000877 reserved: 0x00000000878LoadCommands:879 - cmd: LC_SEGMENT_64880 cmdsize: 152881 segname: __DWARF882 vmaddr: 0x00883 vmsize: 0x00884 fileoff: 0x00885 filesize: 0x00886 maxprot: 0887 initprot: 0888 nsects: 2889 flags: 0890 Sections:891 - sectname: __debug_info892 segname: __DWARF893 addr: 0x00894 size: 64895 offset: 1070896 align: 0897 reloff: 0x00000000898 nreloc: 0899 flags: 0x00000000900 reserved1: 0x00000000901 reserved2: 0x00000000902 reserved3: 0x00000000903DWARF:904 debug_info:905 - Version: 4906 AbbrOffset: 0x00907 Entries:908 - AbbrCode: 1909 Values:910 - Value: 0x1234911