2017-07-21 08:51:32 +08:00
|
|
|
# RUN: llvm-mc %s -filetype obj -triple x86_64-unknown-linux-gnu -o - \
|
|
|
|
# RUN: | not llvm-dwarfdump -verify - \
|
|
|
|
# RUN: | FileCheck %s
|
|
|
|
|
|
|
|
# CHECK: Verifying .debug_abbrev...
|
2017-09-29 17:33:31 +08:00
|
|
|
# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes.
|
2017-07-21 08:51:32 +08:00
|
|
|
# CHECK-NEXT:[1] DW_TAG_compile_unit DW_CHILDREN_no
|
|
|
|
# CHECK-NEXT: DW_AT_stmt_list DW_FORM_sec_offset
|
|
|
|
# CHECK-NEXT: DW_AT_GNU_dwo_name DW_FORM_strp
|
|
|
|
# CHECK-NEXT: DW_AT_stmt_list DW_FORM_strp{{[[:space:]]}}
|
2017-09-29 17:33:31 +08:00
|
|
|
# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_producer attributes.
|
2017-07-21 08:51:32 +08:00
|
|
|
# CHECK-NEXT:[1] DW_TAG_compile_unit DW_CHILDREN_yes
|
|
|
|
# CHECK-NEXT: DW_AT_GNU_dwo_name DW_FORM_GNU_str_index
|
|
|
|
# CHECK-NEXT: DW_AT_producer DW_FORM_GNU_str_index
|
|
|
|
# CHECK-NEXT: DW_AT_producer DW_FORM_data2
|
|
|
|
|
|
|
|
|
|
|
|
.section .debug_abbrev,"",@progbits
|
|
|
|
.byte 1 # Abbreviation Code
|
|
|
|
.byte 17 # DW_TAG_compile_unit
|
|
|
|
.byte 0 # DW_CHILDREN_no
|
|
|
|
.byte 16 # DW_AT_stmt_list
|
|
|
|
.byte 23 # DW_FORM_sec_offset
|
|
|
|
.ascii "\260B" # DW_AT_GNU_dwo_name
|
|
|
|
.byte 14 # DW_FORM_strp
|
|
|
|
.byte 16 # DW_AT_stmt_list -- Error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes.
|
|
|
|
.byte 14 # DW_FORM_strp
|
|
|
|
.byte 0 # EOM(1)
|
|
|
|
.byte 0 # EOM(2)
|
|
|
|
.byte 0 # EOM(3)
|
|
|
|
.section .debug_abbrev.dwo,"",@progbits
|
|
|
|
.byte 1 # Abbreviation Code
|
|
|
|
.byte 17 # DW_TAG_compile_unit
|
|
|
|
.byte 1 # DW_CHILDREN_yes
|
|
|
|
.ascii "\260B" # DW_AT_GNU_dwo_name
|
|
|
|
.ascii "\202>" # DW_FORM_GNU_str_index
|
|
|
|
.byte 37 # DW_AT_producer
|
|
|
|
.ascii "\202>" # DW_FORM_GNU_str_index
|
|
|
|
.byte 37 # DW_AT_producer -- Error: Abbreviation declaration contains multiple DW_AT_producer attributes.
|
|
|
|
.byte 5 # DW_FORM_data1
|
|
|
|
.byte 0 # EOM(1)
|
|
|
|
.byte 0 # EOM(2)
|
|
|
|
.byte 0 # EOM(3)
|