1# RUN: llvm-mc %s -filetype obj -triple x86_64-unknown-linux-gnu -o - \ 2# RUN: | not llvm-dwarfdump -verify - \ 3# RUN: | FileCheck %s 4 5# CHECK: Verifying .debug_abbrev... 6# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes. 7# CHECK-NEXT:[1] DW_TAG_compile_unit DW_CHILDREN_no 8# CHECK-NEXT: DW_AT_stmt_list DW_FORM_sec_offset 9# CHECK-NEXT: DW_AT_GNU_dwo_name DW_FORM_strp 10# CHECK-NEXT: DW_AT_stmt_list DW_FORM_strp{{[[:space:]]}} 11# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_producer attributes. 12# CHECK-NEXT:[1] DW_TAG_compile_unit DW_CHILDREN_yes 13# CHECK-NEXT: DW_AT_GNU_dwo_name DW_FORM_GNU_str_index 14# CHECK-NEXT: DW_AT_producer DW_FORM_GNU_str_index 15# CHECK-NEXT: DW_AT_producer DW_FORM_data2 16 17 18 .section .debug_abbrev,"",@progbits 19 .byte 1 # Abbreviation Code 20 .byte 17 # DW_TAG_compile_unit 21 .byte 0 # DW_CHILDREN_no 22 .byte 16 # DW_AT_stmt_list 23 .byte 23 # DW_FORM_sec_offset 24 .ascii "\260B" # DW_AT_GNU_dwo_name 25 .byte 14 # DW_FORM_strp 26 .byte 16 # DW_AT_stmt_list -- Error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes. 27 .byte 14 # DW_FORM_strp 28 .byte 0 # EOM(1) 29 .byte 0 # EOM(2) 30 .byte 0 # EOM(3) 31 .section .debug_abbrev.dwo,"e",@progbits 32 .byte 1 # Abbreviation Code 33 .byte 17 # DW_TAG_compile_unit 34 .byte 1 # DW_CHILDREN_yes 35 .ascii "\260B" # DW_AT_GNU_dwo_name 36 .ascii "\202>" # DW_FORM_GNU_str_index 37 .byte 37 # DW_AT_producer 38 .ascii "\202>" # DW_FORM_GNU_str_index 39 .byte 37 # DW_AT_producer -- Error: Abbreviation declaration contains multiple DW_AT_producer attributes. 40 .byte 5 # DW_FORM_data1 41 .byte 0 # EOM(1) 42 .byte 0 # EOM(2) 43 .byte 0 # EOM(3) 44