1# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj | llvm-dwarfdump - | FileCheck %s 2# 3# CHECK: DW_TAG_variable 4# CHECK-NEXT: DW_AT_name ("a") 5# CHECK-NEXT: DW_AT_location 6# CHECK-NEXT: DW_OP_entry_value(DW_OP_breg5 RDI+0), DW_OP_stack_value) 7 8 .section .debug_str,"MS",@progbits,1 9.Linfo_producer: 10 .asciz "hand-written DWARF" 11.Lname_a: 12 .asciz "a" 13 14 .section .debug_loc,"",@progbits 15.Ldebug_loc0: 16 .quad 0 17 .quad 1 18 .short .Lloc0_end-.Lloc0_start # Loc expr size 19.Lloc0_start: 20 .byte 163 # DW_OP_entry_value 21 .byte 2 # 2 22 .byte 117 # DW_OP_breg5 23 .byte 0 # +0 24 .byte 159 # DW_OP_stack_value 25.Lloc0_end: 26 .quad 0 27 .quad 0 28 .section .debug_abbrev,"",@progbits 29 .byte 1 # Abbreviation Code 30 .byte 17 # DW_TAG_compile_unit 31 .byte 1 # DW_CHILDREN_yes 32 .byte 37 # DW_AT_producer 33 .byte 14 # DW_FORM_strp 34 .byte 0 # EOM(1) 35 .byte 0 # EOM(2) 36 .byte 5 # Abbreviation Code 37 .byte 52 # DW_TAG_variable 38 .byte 0 # DW_CHILDREN_no 39 .byte 3 # DW_AT_name 40 .byte 14 # DW_FORM_strp 41 .byte 2 # DW_AT_location 42 .byte 23 # DW_FORM_sec_offset 43 .byte 0 # EOM(1) 44 .byte 0 # EOM(2) 45 .byte 0 # EOM(3) 46 47 .section .debug_info,"",@progbits 48.Lcu_begin0: 49 .long .Lcu_end0-.Lcu_start0 # Length of Unit 50.Lcu_start0: 51 .short 4 # DWARF version number 52 .long .debug_abbrev # Offset Into Abbrev. Section 53 .byte 8 # Address Size (in bytes) 54 .byte 1 # Abbrev [1] DW_TAG_compile_unit 55 .long .Linfo_producer # DW_AT_producer 56 .byte 5 # Abbrev [5] DW_TAG_variable 57 .long .Lname_a # DW_AT_name 58 .long .Ldebug_loc0 # DW_AT_location 59 .byte 0 # End Of Children Mark 60.Lcu_end0: 61