1# REQUIRES: x86 2 3# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t 4# RUN: %lldb %t -o "target variable integer structure" -o exit | FileCheck %s 5 6# CHECK: (_Atomic(int)) integer = 14159 7# CHECK: (_Atomic(struct_type)) structure = (member = 71828) 8 9 .data 10integer: 11 .long 14159 12structure: 13 .long 71828 14 15 .section .debug_abbrev,"",@progbits 16 .byte 1 # Abbreviation Code 17 .byte 17 # DW_TAG_compile_unit 18 .byte 1 # DW_CHILDREN_yes 19 .byte 37 # DW_AT_producer 20 .byte 8 # DW_FORM_string 21 .byte 19 # DW_AT_language 22 .byte 5 # DW_FORM_data2 23 .byte 0 # EOM(1) 24 .byte 0 # EOM(2) 25 .byte 2 # Abbreviation Code 26 .byte 52 # DW_TAG_variable 27 .byte 0 # DW_CHILDREN_no 28 .byte 3 # DW_AT_name 29 .byte 8 # DW_FORM_string 30 .byte 73 # DW_AT_type 31 .byte 19 # DW_FORM_ref4 32 .byte 2 # DW_AT_location 33 .byte 24 # DW_FORM_exprloc 34 .byte 0 # EOM(1) 35 .byte 0 # EOM(2) 36 .byte 3 # Abbreviation Code 37 .byte 71 # DW_TAG_atomic_type 38 .byte 0 # DW_CHILDREN_no 39 .byte 73 # DW_AT_type 40 .byte 19 # DW_FORM_ref4 41 .byte 0 # EOM(1) 42 .byte 0 # EOM(2) 43 .byte 4 # Abbreviation Code 44 .byte 36 # DW_TAG_base_type 45 .byte 0 # DW_CHILDREN_no 46 .byte 3 # DW_AT_name 47 .byte 8 # DW_FORM_string 48 .byte 62 # DW_AT_encoding 49 .byte 11 # DW_FORM_data1 50 .byte 11 # DW_AT_byte_size 51 .byte 11 # DW_FORM_data1 52 .byte 0 # EOM(1) 53 .byte 0 # EOM(2) 54 .byte 5 # Abbreviation Code 55 .byte 19 # DW_TAG_structure_type 56 .byte 1 # DW_CHILDREN_yes 57 .byte 3 # DW_AT_name 58 .byte 8 # DW_FORM_string 59 .byte 11 # DW_AT_byte_size 60 .byte 11 # DW_FORM_data1 61 .byte 0 # EOM(1) 62 .byte 0 # EOM(2) 63 .byte 6 # Abbreviation Code 64 .byte 13 # DW_TAG_member 65 .byte 0 # DW_CHILDREN_no 66 .byte 3 # DW_AT_name 67 .byte 8 # DW_FORM_string 68 .byte 73 # DW_AT_type 69 .byte 19 # DW_FORM_ref4 70 .byte 56 # DW_AT_data_member_location 71 .byte 11 # DW_FORM_data1 72 .byte 0 # EOM(1) 73 .byte 0 # EOM(2) 74 .byte 0 # EOM(3) 75 76 .section .debug_info,"",@progbits 77.Lcu_begin0: 78 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 79.Ldebug_info_start0: 80 .short 5 # DWARF version number 81 .byte 1 # DWARF Unit Type 82 .byte 8 # Address Size (in bytes) 83 .long .debug_abbrev # Offset Into Abbrev. Section 84 .byte 1 # Abbrev [1] 0xb:0x50 DW_TAG_compile_unit 85 .asciz "Hand-written DWARF" # DW_AT_producer 86 .short 12 # DW_AT_language 87 .byte 2 # Abbrev [2] DW_TAG_variable 88 .asciz "integer" # DW_AT_name 89 .long .Latomic_int # DW_AT_type 90 .byte 9 # DW_AT_location 91 .byte 3 92 .quad integer 93 .byte 2 # Abbrev [2] DW_TAG_variable 94 .asciz "structure" # DW_AT_name 95 .long .Latomic_struct # DW_AT_type 96 .byte 9 # DW_AT_location 97 .byte 3 98 .quad structure 99.Latomic_int: 100 .byte 3 # Abbrev [3] DW_TAG_atomic_type 101 .long .Lint # DW_AT_type 102.Lint: 103 .byte 4 # Abbrev [4] 0x53:0x7 DW_TAG_base_type 104 .asciz "int" # DW_AT_name 105 .byte 5 # DW_AT_encoding 106 .byte 4 # DW_AT_byte_size 107.Latomic_struct: 108 .byte 3 # Abbrev [3] DW_TAG_atomic_type 109 .long .Lstruct # DW_AT_type 110.Lstruct: 111 .byte 5 # Abbrev [5] DW_TAG_structure_type 112 .asciz "struct_type" # DW_AT_name 113 .byte 4 # DW_AT_byte_size 114 .byte 6 # Abbrev [6] DW_TAG_member 115 .asciz "member" # DW_AT_name 116 .long .Lint # DW_AT_type 117 .byte 0 # DW_AT_data_member_location 118 .byte 0 # End Of Children Mark 119 .byte 0 # End Of Children Mark 120.Ldebug_info_end0: 121