LVU: dump loclists with locviews
[external/binutils.git] / binutils / testsuite / binutils-all / locview-2.s
1         .text
2 .Ltext0:
3 .LFB0:
4         /* locview.c:1 */
5 .LM1:
6         /* view -0 */
7         /* locview.c:2 */
8 .LM2:
9         /* view 1 */
10 .LVL0:
11         /* DEBUG i => 0 */
12         /* locview.c:3 */
13 .LM3:
14         /* view 2 */
15         /* DEBUG j => 0x1 */
16         /* locview.c:4 */
17 .LM4:
18         /* view 3 */
19         /* DEBUG i => 0x2 */
20         /* locview.c:5 */
21 .LM5:
22         /* view 4 */
23         /* DEBUG j => 0x3 */
24         /* locview.c:6 */
25 .LM6:
26         /* view 5 */
27         /* DEBUG k => 0x4 */
28         /* DEBUG l => 0x4 */
29         /* locview.c:7 */
30 .LM7:
31         /* view 6 */
32         /* DEBUG k => 0x5 */
33         /* DEBUG l => 0x5 */
34         /* locview.c:8 */
35 .LM8:
36         /* view 7 */
37         /* DEBUG k => 0x6 */
38         /* DEBUG l => 0x6 */
39         /* locview.c:9 */
40 .LM9:
41         /* view 8 */
42         .byte   0
43 .LFE0:
44 .Letext0:
45
46         .section        .debug_info
47 .Ldebug_info0:
48 .LIbase:
49         .4byte  .LIend - .LIstart       /* Length of Compilation Unit Info */
50 .LIstart:
51         .2byte  0x5     /* DWARF version number */
52         .byte   0x1     /* DW_UT_compile */
53         .byte   0x4     /* Pointer Size (in bytes) */
54         .4byte  .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
55 .LIcu:
56         .uleb128 0x2    /* (DIE (cu) DW_TAG_compile_unit) */
57         .ascii "hand-crafted based on GCC output\0"
58         .byte   0x1d    /* DW_AT_language */
59         .ascii "locview.c\0"
60         .ascii "/tmp\0"
61         .4byte  0       /* DW_AT_low_pc */
62 .LIsubf:
63         .uleb128 0x3    /* (DIE (subf) DW_TAG_subprogram) */
64         .ascii "f\0"    /* DW_AT_name */
65         .byte   0x1     /* DW_AT_decl_file (locview.c) */
66         .byte   0x1     /* DW_AT_decl_line */
67         .4byte  .LIint-.LIbase  /* DW_AT_type */
68         .4byte  .LFB0   /* DW_AT_low_pc */
69         .4byte  1 /* .LFE0-.LFB0 */     /* DW_AT_high_pc */
70         .uleb128 0x1    /* DW_AT_frame_base */
71         .byte   0x9c    /* DW_OP_call_frame_cfa */
72                         /* DW_AT_call_all_calls */
73         .4byte  .LIint - .LIbase        /* DW_AT_sibling */
74 .LIvari:
75         .uleb128 0x1    /* (DIE (vari) DW_TAG_variable) */
76         .ascii "i\0"    /* DW_AT_name */
77                         /* DW_AT_decl_file (1, locview.c) */
78         .byte   0x2     /* DW_AT_decl_line */
79         .4byte  .LIint - .LIbase        /* DW_AT_type */
80         .4byte  .LLST0  /* DW_AT_location */
81         .4byte  .LVUS0  /* DW_AT_GNU_locviews */
82 .LIvarj:
83         .uleb128 0x1    /* (DIE (varj) DW_TAG_variable) */
84         .ascii "j\0"    /* DW_AT_name */
85                         /* DW_AT_decl_file (1, locview.c) */
86         .byte   0x3     /* DW_AT_decl_line */
87         .4byte  .LIint - .LIbase        /* DW_AT_type */
88         .4byte  .LLST1  /* DW_AT_location */
89         .4byte  .LVUS1  /* DW_AT_GNU_locviews */
90 .LIvark:
91         .uleb128 0x5    /* (DIE (vark) DW_TAG_variable) */
92         .ascii "k\0"    /* DW_AT_name */
93                         /* DW_AT_decl_file (1, locview.c) */
94         .byte   0x6     /* DW_AT_decl_line */
95         .4byte  .LIint - .LIbase        /* DW_AT_type */
96         .4byte  .LVUS2  /* DW_AT_GNU_locviews */
97         .4byte  .LLST2  /* DW_AT_location */
98 .LIvarl:
99         .uleb128 0x6    /* (DIE (varl) DW_TAG_variable) */
100         .ascii "l\0"    /* DW_AT_name */
101                         /* DW_AT_decl_file (1, locview.c) */
102         .byte   0x6     /* DW_AT_decl_line */
103         .4byte  .LIint - .LIbase        /* DW_AT_type */
104         .4byte  .LLST3  /* DW_AT_location */
105         .byte   0       /* end of children of DIE subf */
106
107 .LIint:
108         .uleb128 0x4    /* (DIE (int) DW_TAG_base_type) */
109         .byte   0x4     /* DW_AT_byte_size */
110         .byte   0x5     /* DW_AT_encoding */
111         .ascii "int\0"  /* DW_AT_name */
112         .byte   0       /* end of children of DIE cu */
113 .LIend:
114         .section        .debug_abbrev
115 .Ldebug_abbrev0:
116 .LAbrv1:
117         .uleb128 0x1    /* (abbrev code) */
118         .uleb128 0x34   /* (TAG: DW_TAG_variable) */
119         .byte   0       /* DW_children_no */
120         .uleb128 0x3    /* (DW_AT_name) */
121         .uleb128 0x8    /* (DW_FORM_string) */
122         .uleb128 0x3a   /* (DW_AT_decl_file) */
123         .uleb128 0x21   /* (DW_FORM_implicit_const) */
124         .sleb128 1      /* (locview.c) */
125         .uleb128 0x3b   /* (DW_AT_decl_line) */
126         .uleb128 0xb    /* (DW_FORM_data1) */
127         .uleb128 0x49   /* (DW_AT_type) */
128         .uleb128 0x13   /* (DW_FORM_ref4) */
129         .uleb128 0x2    /* (DW_AT_location) */
130         .uleb128 0x17   /* (DW_FORM_sec_offset) */
131         .uleb128 0x2137 /* (DW_AT_GNU_locviews) */
132         .uleb128 0x17   /* (DW_FORM_sec_offset) */
133         .byte   0
134         .byte   0
135 .LAbrv2:
136         .uleb128 0x2    /* (abbrev code) */
137         .uleb128 0x11   /* (TAG: DW_TAG_compile_unit) */
138         .byte   0x1     /* DW_children_yes */
139         .uleb128 0x25   /* (DW_AT_producer) */
140         .uleb128 0x8    /* (DW_FORM_string) */
141         .uleb128 0x13   /* (DW_AT_language) */
142         .uleb128 0xb    /* (DW_FORM_data1) */
143         .uleb128 0x3    /* (DW_AT_name) */
144         .uleb128 0x8    /* (DW_FORM_string) */
145         .uleb128 0x1b   /* (DW_AT_comp_dir) */
146         .uleb128 0x8    /* (DW_FORM_string) */
147         .uleb128 0x11   /* (DW_AT_low_pc) */
148         .uleb128 0x1    /* (DW_FORM_addr) */
149         .byte   0
150         .byte   0
151 .LAbrv3:
152         .uleb128 0x3    /* (abbrev code) */
153         .uleb128 0x2e   /* (TAG: DW_TAG_subprogram) */
154         .byte   0x1     /* DW_children_yes */
155         .uleb128 0x3    /* (DW_AT_name) */
156         .uleb128 0x8    /* (DW_FORM_string) */
157         .uleb128 0x3a   /* (DW_AT_decl_file) */
158         .uleb128 0xb    /* (DW_FORM_data1) */
159         .uleb128 0x3b   /* (DW_AT_decl_line) */
160         .uleb128 0xb    /* (DW_FORM_data1) */
161         .uleb128 0x49   /* (DW_AT_type) */
162         .uleb128 0x13   /* (DW_FORM_ref4) */
163         .uleb128 0x11   /* (DW_AT_low_pc) */
164         .uleb128 0x1    /* (DW_FORM_addr) */
165         .uleb128 0x12   /* (DW_AT_high_pc) */
166         .uleb128 0x6    /* (DW_FORM_data4) */
167         .uleb128 0x40   /* (DW_AT_frame_base) */
168         .uleb128 0x18   /* (DW_FORM_exprloc) */
169         .uleb128 0x7a   /* (DW_AT_call_all_calls) */
170         .uleb128 0x19   /* (DW_FORM_flag_present) */
171         .uleb128 0x1    /* (DW_AT_sibling) */
172         .uleb128 0x13   /* (DW_FORM_ref4) */
173         .byte   0
174         .byte   0
175 .LAbrv4:
176         .uleb128 0x4    /* (abbrev code) */
177         .uleb128 0x24   /* (TAG: DW_TAG_base_type) */
178         .byte   0       /* DW_children_no */
179         .uleb128 0xb    /* (DW_AT_byte_size) */
180         .uleb128 0xb    /* (DW_FORM_data1) */
181         .uleb128 0x3e   /* (DW_AT_encoding) */
182         .uleb128 0xb    /* (DW_FORM_data1) */
183         .uleb128 0x3    /* (DW_AT_name) */
184         .uleb128 0x8    /* (DW_FORM_string) */
185         .byte   0
186         .byte   0
187 .LAbrv5:
188         .uleb128 0x5    /* (abbrev code) */
189         .uleb128 0x34   /* (TAG: DW_TAG_variable) */
190         .byte   0       /* DW_children_no */
191         .uleb128 0x3    /* (DW_AT_name) */
192         .uleb128 0x8    /* (DW_FORM_string) */
193         .uleb128 0x3a   /* (DW_AT_decl_file) */
194         .uleb128 0x21   /* (DW_FORM_implicit_const) */
195         .sleb128 1      /* (locview.c) */
196         .uleb128 0x3b   /* (DW_AT_decl_line) */
197         .uleb128 0xb    /* (DW_FORM_data1) */
198         .uleb128 0x49   /* (DW_AT_type) */
199         .uleb128 0x13   /* (DW_FORM_ref4) */
200         .uleb128 0x2137 /* (DW_AT_GNU_locviews) */
201         .uleb128 0x17   /* (DW_FORM_sec_offset) */
202         .uleb128 0x2    /* (DW_AT_location) */
203         .uleb128 0x17   /* (DW_FORM_sec_offset) */
204         .byte   0
205         .byte   0
206 .LAbrv6:
207         .uleb128 0x6    /* (abbrev code) */
208         .uleb128 0x34   /* (TAG: DW_TAG_variable) */
209         .byte   0       /* DW_children_no */
210         .uleb128 0x3    /* (DW_AT_name) */
211         .uleb128 0x8    /* (DW_FORM_string) */
212         .uleb128 0x3a   /* (DW_AT_decl_file) */
213         .uleb128 0x21   /* (DW_FORM_implicit_const) */
214         .sleb128 1      /* (locview.c) */
215         .uleb128 0x3b   /* (DW_AT_decl_line) */
216         .uleb128 0xb    /* (DW_FORM_data1) */
217         .uleb128 0x49   /* (DW_AT_type) */
218         .uleb128 0x13   /* (DW_FORM_ref4) */
219         .uleb128 0x2    /* (DW_AT_location) */
220         .uleb128 0x17   /* (DW_FORM_sec_offset) */
221         .byte   0
222         .byte   0
223         .byte   0
224
225         .section        .debug_loclists
226         .4byte  .Ldebug_loc2-.Ldebug_loc1       /* Length of Location Lists */
227 .Ldebug_loc1:
228         .2byte  0x5     /* DWARF version number */
229         .byte   0x4     /* Address Size */
230         .byte   0       /* Segment Size */
231         .4byte  0       /* Offset Entry Count */
232 .Ldebug_loc0:
233 .LVUS0:
234         .uleb128 0x2    /* View list begin (*.LVUS0) */
235         .uleb128 0x4    /* View list end (*.LVUS0) */
236         .uleb128 0x4    /* View list begin (*.LVUS0) */
237         .uleb128 0      /* View list end (*.LVUS0) */
238 .LLST0:
239         .byte   0x6     /* DW_LLE_base_address (*.LLST0) */
240         .4byte  .LVL0   /* Base address (*.LLST0) */
241         .byte   0x4     /* DW_LLE_offset_pair (*.LLST0) */
242         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST0) */
243         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list end address (*.LLST0) */
244         .uleb128 0x2    /* Location expression size */
245         .byte   0x30    /* DW_OP_lit0 */
246         .byte   0x9f    /* DW_OP_stack_value */
247         .byte   0x4     /* DW_LLE_offset_pair (*.LLST0) */
248         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST0) */
249         .uleb128 1 /* .LFE0-.LVL0 */    /* Location list end address (*.LLST0) */
250         .uleb128 0x2    /* Location expression size */
251         .byte   0x32    /* DW_OP_lit2 */
252         .byte   0x9f    /* DW_OP_stack_value */
253         .byte   0       /* DW_LLE_end_of_list (*.LLST0) */
254 .LLST1:
255         .byte   0x6     /* DW_LLE_base_address (*.LLST1) */
256         .4byte  .LVL0   /* Base address (*.LLST1) */
257         .byte   0x4     /* DW_LLE_offset_pair (*.LLST1) */
258         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST1) */
259         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list end address (*.LLST1) */
260         .uleb128 0x2    /* Location expression size */
261         .byte   0x31    /* DW_OP_lit1 */
262         .byte   0x9f    /* DW_OP_stack_value */
263         .byte   0x4     /* DW_LLE_offset_pair (*.LLST1) */
264         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST1) */
265         .uleb128 1 /* .LFE0-.LVL0 */    /* Location list end address (*.LLST1) */
266         .uleb128 0x2    /* Location expression size */
267         .byte   0x33    /* DW_OP_lit3 */
268         .byte   0x9f    /* DW_OP_stack_value */
269         .byte   0       /* DW_LLE_end_of_list (*.LLST1) */
270 .LVUS1:
271         .uleb128 0x3    /* View list begin (*.LVUS1) */
272         .uleb128 0x5    /* View list end (*.LVUS1) */
273         .uleb128 0x5    /* View list begin (*.LVUS1) */
274         .uleb128 0      /* View list end (*.LVUS1) */
275 .LVUS2:
276         .uleb128 0x6    /* View list begin (*.LVUS2) */
277         .uleb128 0x7    /* View list end (*.LVUS2) */
278         .uleb128 0x7    /* View list begin (*.LVUS2) */
279         .uleb128 0x8    /* View list end (*.LVUS2) */
280         .uleb128 0x8    /* View list begin (*.LVUS2) */
281         .uleb128 0      /* View list end (*.LVUS2) */
282 .LLST2:
283         .byte   0x6     /* DW_LLE_base_address (*.LLST2) */
284         .4byte  .LVL0   /* Base address (*.LLST2) */
285         .byte   0x4     /* DW_LLE_offset_pair (*.LLST2) */
286         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST2) */
287         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list end address (*.LLST2) */
288         .uleb128 0x2    /* Location expression size */
289         .byte   0x34    /* DW_OP_lit4 */
290         .byte   0x9f    /* DW_OP_stack_value */
291         .byte   0x4     /* DW_LLE_offset_pair (*.LLST2) */
292         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST2) */
293         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list end address (*.LLST2) */
294         .uleb128 0x2    /* Location expression size */
295         .byte   0x35    /* DW_OP_lit5 */
296         .byte   0x9f    /* DW_OP_stack_value */
297         .byte   0x4     /* DW_LLE_offset_pair (*.LLST2) */
298         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST2) */
299         .uleb128 1 /* .LFE0-.LVL0 */    /* Location list end address (*.LLST2) */
300         .uleb128 0x2    /* Location expression size */
301         .byte   0x36    /* DW_OP_lit6 */
302         .byte   0x9f    /* DW_OP_stack_value */
303         .byte   0       /* DW_LLE_end_of_list (*.LLST2) */
304 .LLST3:
305         .byte   0x6     /* DW_LLE_base_address (*.LLST3) */
306         .4byte  .LVL0   /* Base address (*.LLST3) */
307         .byte   0x9     /* DW_LLE_view_pair (extension proposed for DWARF6) */
308         .uleb128 0x6    /* View list begin (*.LLST3) */
309         .uleb128 0x7    /* View list end (*.LVUS3) */
310         .byte   0x4     /* DW_LLE_offset_pair (*.LLST3) */
311         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST3) */
312         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list end address (*.LLST3) */
313         .uleb128 0x2    /* Location expression size */
314         .byte   0x34    /* DW_OP_lit4 */
315         .byte   0x9f    /* DW_OP_stack_value */
316         .byte   0x9     /* DW_LLE_view_pair */
317         .uleb128 0x7    /* View list begin (*.LLST3) */
318         .uleb128 0x8    /* View list end (*.LVUS3) */
319         .byte   0x4     /* DW_LLE_offset_pair (*.LLST3) */
320         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST3) */
321         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list end address (*.LLST3) */
322         .uleb128 0x2    /* Location expression size */
323         .byte   0x35    /* DW_OP_lit5 */
324         .byte   0x9f    /* DW_OP_stack_value */
325         .byte   0x9     /* DW_LLE_view_pair */
326         .uleb128 0x8    /* View list begin (*.LLST3) */
327         .uleb128 0x0    /* View list end (*.LVUS3) */
328         .byte   0x4     /* DW_LLE_offset_pair (*.LLST3) */
329         .uleb128 0 /* .LVL0-.LVL0 */    /* Location list begin address (*.LLST3) */
330         .uleb128 1 /* .LFE0-.LVL0 */    /* Location list end address (*.LLST3) */
331         .uleb128 0x2    /* Location expression size */
332         .byte   0x36    /* DW_OP_lit6 */
333         .byte   0x9f    /* DW_OP_stack_value */
334         .byte   0       /* DW_LLE_end_of_list (*.LLST3) */
335 .Ldebug_loc2: