llvm-project/llvm/test/tools/llvm-dwarfdump/X86/verify_debug_abbrev.s

44 lines
2.1 KiB
ArmAsm

# 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...
# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes.
# 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:]]}}
# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_producer attributes.
# 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)