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