112 lines · plain
1# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj | \2# RUN: not llvm-dwarfdump -verify -verify-json=%t.json -3# RUN: FileCheck %s --input-file %t.json4 5# CHECK: {"error-categories":{"Duplicate Name Index":{"count":1,"details":{}},"Name Index doesn't index any CU":{"count":1,"details":{}},"Name Index references non-existing CU":{"count":1,"details":{}}},"error-count":3}6# CHECK-NOT : error: Name Index @ 0x58 references a CU @ 0x0, but this CU is already indexed by Name Index @ 0x287# CHECK-NOT: warning: CU @ 0x13 not covered by any Name Index8 9 10 .section .debug_str,"MS",@progbits,111.Lstring_foo:12 .asciz "foo"13.Lstring_foo_mangled:14 .asciz "_Z3foov"15.Lstring_bar:16 .asciz "bar"17.Lstring_producer:18 .asciz "Hand-written dwarf"19 20 .section .debug_abbrev,"",@progbits21.Lsection_abbrev:22 .byte 1 # Abbreviation Code23 .byte 17 # DW_TAG_compile_unit24 .byte 1 # DW_CHILDREN_yes25 .byte 37 # DW_AT_producer26 .byte 14 # DW_FORM_strp27 .byte 19 # DW_AT_language28 .byte 5 # DW_FORM_data229 .byte 0 # EOM(1)30 .byte 0 # EOM(2)31 .byte 0 # EOM(3)32 33 .section .debug_info,"",@progbits34.Lcu_begin0:35 .long .Lcu_end0-.Lcu_start0 # Length of Unit36.Lcu_start0:37 .short 4 # DWARF version number38 .long .Lsection_abbrev # Offset Into Abbrev. Section39 .byte 8 # Address Size (in bytes)40 .byte 1 # Abbrev [1] DW_TAG_compile_unit41 .long .Lstring_producer # DW_AT_producer42 .short 12 # DW_AT_language43 .byte 0 # End Of Children Mark44.Lcu_end0:45 46.Lcu_begin1:47 .long .Lcu_end1-.Lcu_start1 # Length of Unit48.Lcu_start1:49 .short 4 # DWARF version number50 .long .Lsection_abbrev # Offset Into Abbrev. Section51 .byte 8 # Address Size (in bytes)52 .byte 1 # Abbrev [1] DW_TAG_compile_unit53 .long .Lstring_producer # DW_AT_producer54 .short 12 # DW_AT_language55 .byte 0 # End Of Children Mark56.Lcu_end1:57 58 .section .debug_names,"",@progbits59 .long .Lnames_end0-.Lnames_start0 # Header: contribution length60.Lnames_start0:61 .short 5 # Header: version62 .short 0 # Header: padding63 .long 0 # Header: compilation unit count64 .long 0 # Header: local type unit count65 .long 0 # Header: foreign type unit count66 .long 0 # Header: bucket count67 .long 0 # Header: name count68 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size69 .long 0 # Header: augmentation length70.Lnames_abbrev_start0:71 .byte 0 # End of abbrev list72.Lnames_abbrev_end0:73.p2align 274.Lnames_end0:75 76 .long .Lnames_end1-.Lnames_start1 # Header: contribution length77.Lnames_start1:78 .short 5 # Header: version79 .short 0 # Header: padding80 .long 2 # Header: compilation unit count81 .long 0 # Header: local type unit count82 .long 0 # Header: foreign type unit count83 .long 0 # Header: bucket count84 .long 0 # Header: name count85 .long .Lnames_abbrev_end1-.Lnames_abbrev_start1 # Header: abbreviation table size86 .long 0 # Header: augmentation length87 .long .Lcu_begin0 # Compilation unit 088 .long .Lcu_begin0+1 # Compilation unit 089.Lnames_abbrev_start1:90 .byte 0 # End of abbrev list91.Lnames_abbrev_end1:92.p2align 293.Lnames_end1:94 95 .long .Lnames_end2-.Lnames_start2 # Header: contribution length96.Lnames_start2:97 .short 5 # Header: version98 .short 0 # Header: padding99 .long 1 # Header: compilation unit count100 .long 0 # Header: local type unit count101 .long 0 # Header: foreign type unit count102 .long 0 # Header: bucket count103 .long 0 # Header: name count104 .long .Lnames_abbrev_end2-.Lnames_abbrev_start2 # Header: abbreviation table size105 .long 0 # Header: augmentation length106 .long .Lcu_begin0 # Compilation unit 0107.Lnames_abbrev_start2:108 .byte 0 # End of abbrev list109.Lnames_abbrev_end2:110.p2align 2111.Lnames_end2:112