* gas/config/tc-avr.c: Change ISA for devices with USB support to
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / fission-loclists.S
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2013 Free Software Foundation, Inc.
4
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18    This file was created by doing:
19    gcc -O2 -gdwarf-4 -gsplit-debug -S -dA fission-loclists.c
20    and then massaging the output.
21
22    fission-loclists.c:
23
24    volatile v;
25
26    __attribute__ ((noinline)) void foo (int* x) { v = *x; }
27
28    int
29    main (int argc, char *argv[])
30    {
31      foo (&argc);
32      return 0;
33    }
34 */
35
36         .file   "fission-loclists.c"
37         .text
38 .Ltext0:
39         .p2align 4,,15
40         .globl  foo
41         .type   foo, @function
42 foo:
43 .LFB0:
44         .file 1 "fission-loclists.c"
45         # fission-loclists.c:3
46         .loc 1 3 0
47         .cfi_startproc
48 .LVL0:
49 # BLOCK 2 freq:10000 seq:0
50 # PRED: ENTRY [100.0%]  (fallthru)
51         # fission-loclists.c:3
52         .loc 1 3 0
53         movl    (%rdi), %eax
54         movl    %eax, v(%rip)
55 # SUCC: EXIT [100.0%] 
56         ret
57         .cfi_endproc
58 .LFE0:
59         .size   foo, .-foo
60         .text # was .section .text.startup,"ax",@progbits
61         .p2align 4,,15
62         .globl  main
63         .type   main, @function
64 main:
65 .LFB1:
66         # fission-loclists.c:7
67         .loc 1 7 0
68         .cfi_startproc
69 .LVL1:
70 # BLOCK 2 freq:10000 seq:0
71 # PRED: ENTRY [100.0%]  (fallthru)
72         subq    $8, %rsp
73         .cfi_def_cfa_offset 16
74         # fission-loclists.c:7
75         .loc 1 7 0
76         movl    %edi, 4(%rsp)
77         # fission-loclists.c:8
78         .loc 1 8 0
79         leaq    4(%rsp), %rdi
80 .LVL2:
81         call    foo
82 .LVL3:
83         # fission-loclists.c:10
84         .loc 1 10 0
85         xorl    %eax, %eax
86         addq    $8, %rsp
87         .cfi_def_cfa_offset 8
88 # SUCC: EXIT [100.0%] 
89         ret
90         .cfi_endproc
91 .LFE1:
92         .size   main, .-main
93         .comm   v,4,4
94         .text
95 .Letext0:
96         .section        .debug_addr,"",@progbits
97 .Ldebug_addr0:
98         .8byte  .LVL1   # 0x0
99         .8byte  v       # 0x1
100         .8byte  .LVL3   # 0x2
101         .8byte  .LFB0   # 0x3
102         .8byte  .LFB1   # 0x4
103         .8byte  .LVL3-1 # 0x5
104         .8byte  .LVL2   # 0x6
105         .section        .debug_info.dwo,"",@progbits
106 .Ldebug_info0:
107         .4byte  .Ldebug_info0_end - .Ldebug_info0 - 4 # Length of Compilation Unit Info
108         .value  0x4     # DWARF version number
109         .4byte  .Ldebug_abbrev0 # Offset Into Abbrev. Section
110         .byte   0x8     # Pointer Size (in bytes)
111         .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
112         .ascii "GNU C 4.7.x-fission\0"  # DW_AT_producer
113         .byte   0x1     # DW_AT_language
114         .ascii "fission-loclists.c\0"   # DW_AT_name
115         .ascii "/tmp\0" # DW_AT_comp_dir
116         .byte   0xcb    # DW_AT_GNU_dwo_id
117         .byte   0x64
118         .byte   0x3e
119         .byte   0x34
120         .byte   0x1b
121         .byte   0x8a
122         .byte   0xd6
123         .byte   0x5
124 .Lfoo_func:
125         .uleb128 0x2    # (DIE (0x5c) DW_TAG_subprogram)
126                         # DW_AT_external
127         .ascii "foo\0"  # DW_AT_name
128         .byte   0x1     # DW_AT_decl_file (fission-loclists.c)
129         .byte   0x3     # DW_AT_decl_line
130                         # DW_AT_prototyped
131         .uleb128 0x3    # DW_AT_low_pc
132         .8byte  .LFE0-.LFB0     # DW_AT_high_pc
133         .uleb128 0x1    # DW_AT_frame_base
134         .byte   0x9c    # DW_OP_call_frame_cfa
135                         # DW_AT_GNU_all_call_sites
136         .4byte  .Lint_ptr_type - .Ldebug_info0 # DW_AT_sibling
137         .uleb128 0x3    # (DIE (0x72) DW_TAG_formal_parameter)
138         .ascii "x\0"    # DW_AT_name
139         .byte   0x1     # DW_AT_decl_file (fission-loclists.c)
140         .byte   0x3     # DW_AT_decl_line
141         .4byte  .Lint_ptr_type - .Ldebug_info0 # DW_AT_type
142         .uleb128 0x1    # DW_AT_location
143         .byte   0x55    # DW_OP_reg5
144         .byte   0       # end of children of DIE 0x5c
145 .Lint_ptr_type:
146         .uleb128 0x4    # (DIE (0x7e) DW_TAG_pointer_type)
147         .byte   0x8     # DW_AT_byte_size
148         .4byte  .Lint_type - .Ldebug_info0 # DW_AT_type
149 .Lint_type:
150         .uleb128 0x5    # (DIE (0x84) DW_TAG_base_type)
151         .byte   0x4     # DW_AT_byte_size
152         .byte   0x5     # DW_AT_encoding
153         .ascii "int\0"  # DW_AT_name
154         .uleb128 0x6    # (DIE (0x8b) DW_TAG_subprogram)
155                         # DW_AT_external
156         .ascii "main\0" # DW_AT_name
157         .byte   0x1     # DW_AT_decl_file (fission-loclists.c)
158         .byte   0x6     # DW_AT_decl_line
159                         # DW_AT_prototyped
160         .4byte  .Lint_type - .Ldebug_info0 # DW_AT_type
161         .uleb128 0x4    # DW_AT_low_pc
162         .8byte  .LFE1-.LFB1     # DW_AT_high_pc
163         .uleb128 0x1    # DW_AT_frame_base
164         .byte   0x9c    # DW_OP_call_frame_cfa
165                         # DW_AT_GNU_all_call_sites
166         .4byte  .Lchar_ptr_ptr_type - .Ldebug_info0 # DW_AT_sibling
167         .uleb128 0x7    # (DIE (0xa6) DW_TAG_formal_parameter)
168         .ascii "argc\0" # DW_AT_name
169         .byte   0x1     # DW_AT_decl_file (fission-loclists.c)
170         .byte   0x6     # DW_AT_decl_line
171         .4byte  .Lint_type - .Ldebug_info0 # DW_AT_type
172         .4byte  .LLST0-.Ldebug_loc0     # DW_AT_location
173         .uleb128 0x7    # (DIE (0xb6) DW_TAG_formal_parameter)
174         .ascii "argv\0" # DW_AT_name
175         .byte   0x1     # DW_AT_decl_file (fission-loclists.c)
176         .byte   0x6     # DW_AT_decl_line
177         .4byte  .Lchar_ptr_ptr_type - .Ldebug_info0 # DW_AT_type
178         .4byte  .LLST1-.Ldebug_loc0     # DW_AT_location
179         .uleb128 0x8    # (DIE (0xc6) DW_TAG_GNU_call_site)
180         .uleb128 0x2    # DW_AT_low_pc
181         .4byte  .Lfoo_func - .Ldebug_info0 # DW_AT_abstract_origin
182         .uleb128 0x9    # (DIE (0xcc) DW_TAG_GNU_call_site_parameter)
183         .uleb128 0x1    # DW_AT_location
184         .byte   0x55    # DW_OP_reg5
185         .uleb128 0x2    # DW_AT_GNU_call_site_value
186         .byte   0x91    # DW_OP_fbreg
187         .sleb128 -12
188         .byte   0       # end of children of DIE 0xc6
189         .byte   0       # end of children of DIE 0x8b
190 .Lchar_ptr_ptr_type:
191         .uleb128 0x4    # (DIE (0xd4) DW_TAG_pointer_type)
192         .byte   0x8     # DW_AT_byte_size
193         .4byte  .Lchar_ptr_type - .Ldebug_info0 # DW_AT_type
194 .Lchar_ptr_type:
195         .uleb128 0x4    # (DIE (0xda) DW_TAG_pointer_type)
196         .byte   0x8     # DW_AT_byte_size
197         .4byte  .Lchar_type - .Ldebug_info0 # DW_AT_type
198 .Lchar_type:
199         .uleb128 0x5    # (DIE (0xe0) DW_TAG_base_type)
200         .byte   0x1     # DW_AT_byte_size
201         .byte   0x6     # DW_AT_encoding
202         .ascii "char\0" # DW_AT_name
203         .uleb128 0xa    # (DIE (0xe8) DW_TAG_variable)
204         .ascii "v\0"    # DW_AT_name
205         .byte   0x1     # DW_AT_decl_file (fission-loclists.c)
206         .byte   0x1     # DW_AT_decl_line
207         .4byte  .Lvolatile_int_type - .Ldebug_info0 # DW_AT_type
208                         # DW_AT_external
209         .uleb128 0x2    # DW_AT_location
210         .byte   0xfb    # DW_OP_GNU_addr_index
211         .uleb128 0x1    # (index into .debug_addr)
212 .Lvolatile_int_type:
213         .uleb128 0xb    # (DIE (0xf4) DW_TAG_volatile_type)
214         .4byte  .Lint_type - .Ldebug_info0 # DW_AT_type
215         .byte   0       # end of children of DIE 0xb
216 .Ldebug_info0_end:
217         .section        .debug_info,"",@progbits
218 .Lskeleton_debug_info0:
219         .4byte  .Lskeleton_debug_info0_end - .Lskeleton_debug_info0 - 4 # Length of Compilation Unit Info
220         .value  0x4     # DWARF version number
221         .4byte  .Lskeleton_debug_abbrev0        # Offset Into Abbrev. Section
222         .byte   0x8     # Pointer Size (in bytes)
223         .uleb128 0x1    # (DIE (0) DW_TAG_compile_unit)
224         .4byte  .Ldebug_ranges0+0       # DW_AT_ranges
225         # This next line is the core of the test.
226         # We want a non-zero value for low_pc to verify gdb is *not* using it
227         # (the initial base address) when evaluating location list addresses in
228         # .debug_loc.dwo.
229         # Note: Setting a non-zero value here means we had to adjust the
230         # values in .debug_ranges.
231         .8byte  .Ltext0 # DW_AT_low_pc
232         .4byte  .Ldebug_line0   # DW_AT_stmt_list
233         .byte   0xcb    # DW_AT_GNU_dwo_id
234         .byte   0x64
235         .byte   0x3e
236         .byte   0x34
237         .byte   0x1b
238         .byte   0x8a
239         .byte   0xd6
240         .byte   0x5
241         .4byte  .Ldebug_ranges0 # DW_AT_GNU_ranges_base
242         .ascii "/tmp\0" # DW_AT_comp_dir
243         # Normally dwo_name would be "fission-loclists.dwo".
244         # Simplification: Leave the DWO contents in the executable.
245         # "gdb.dwarf2/" is included so that gdb can load the file without
246         # having to set "debug-file-directory".  This is useful when
247         # testing with cc-with-tweaks.sh -i.
248         .ascii "gdb.dwarf2/fission-loclists\0"  # DW_AT_GNU_dwo_name
249         .4byte  .Ldebug_pubnames0       # DW_AT_GNU_pubnames
250         .4byte  .Ldebug_pubtypes0       # DW_AT_GNU_pubtypes
251         .4byte  .Ldebug_addr0   # DW_AT_GNU_addr_base
252 .Lskeleton_debug_info0_end:
253         .section        .debug_abbrev,"",@progbits
254 .Lskeleton_debug_abbrev0:
255         .uleb128 0x1    # (abbrev code)
256         .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
257         .byte   0       # DW_children_no
258         .uleb128 0x55   # (DW_AT_ranges)
259         .uleb128 0x17   # (DW_FORM_sec_offset)
260         .uleb128 0x11   # (DW_AT_low_pc)
261         .uleb128 0x1    # (DW_FORM_addr)
262         .uleb128 0x10   # (DW_AT_stmt_list)
263         .uleb128 0x17   # (DW_FORM_sec_offset)
264         .uleb128 0x2131 # (DW_AT_GNU_dwo_id)
265         .uleb128 0x7    # (DW_FORM_data8)
266         .uleb128 0x2132 # (DW_AT_GNU_ranges_base)
267         .uleb128 0x17   # (DW_FORM_sec_offset)
268         .uleb128 0x1b   # (DW_AT_comp_dir)
269         .uleb128 0x8    # (DW_FORM_string)
270         .uleb128 0x2130 # (DW_AT_GNU_dwo_name)
271         .uleb128 0x8    # (DW_FORM_string)
272         .uleb128 0x2134 # (DW_AT_GNU_pubnames)
273         .uleb128 0x17   # (DW_FORM_sec_offset)
274         .uleb128 0x2135 # (DW_AT_GNU_pubtypes)
275         .uleb128 0x17   # (DW_FORM_sec_offset)
276         .uleb128 0x2133 # (DW_AT_GNU_addr_base)
277         .uleb128 0x17   # (DW_FORM_sec_offset)
278         .byte   0
279         .byte   0
280         .uleb128 0x2    # (abbrev code)
281         .uleb128 0x41   # (TAG: DW_TAG_type_unit)
282         .byte   0       # DW_children_no
283         .uleb128 0x1b   # (DW_AT_comp_dir)
284         .uleb128 0x8    # (DW_FORM_string)
285         .uleb128 0x2130 # (DW_AT_GNU_dwo_name)
286         .uleb128 0x8    # (DW_FORM_string)
287         .uleb128 0x2134 # (DW_AT_GNU_pubnames)
288         .uleb128 0x17   # (DW_FORM_sec_offset)
289         .uleb128 0x2135 # (DW_AT_GNU_pubtypes)
290         .uleb128 0x17   # (DW_FORM_sec_offset)
291         .uleb128 0x2133 # (DW_AT_GNU_addr_base)
292         .uleb128 0x17   # (DW_FORM_sec_offset)
293         .byte   0
294         .byte   0
295         .byte   0       # end of skeleton .debug_abbrev
296         .section        .debug_abbrev.dwo,"",@progbits
297 .Ldebug_abbrev0:
298         .uleb128 0x1    # (abbrev code)
299         .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
300         .byte   0x1     # DW_children_yes
301         .uleb128 0x25   # (DW_AT_producer)
302         .uleb128 0x8    # (DW_FORM_string)
303         .uleb128 0x13   # (DW_AT_language)
304         .uleb128 0xb    # (DW_FORM_data1)
305         .uleb128 0x3    # (DW_AT_name)
306         .uleb128 0x8    # (DW_FORM_string)
307         .uleb128 0x1b   # (DW_AT_comp_dir)
308         .uleb128 0x8    # (DW_FORM_string)
309         .uleb128 0x2131 # (DW_AT_GNU_dwo_id)
310         .uleb128 0x7    # (DW_FORM_data8)
311         .byte   0
312         .byte   0
313         .uleb128 0x2    # (abbrev code)
314         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
315         .byte   0x1     # DW_children_yes
316         .uleb128 0x3f   # (DW_AT_external)
317         .uleb128 0x19   # (DW_FORM_flag_present)
318         .uleb128 0x3    # (DW_AT_name)
319         .uleb128 0x8    # (DW_FORM_string)
320         .uleb128 0x3a   # (DW_AT_decl_file)
321         .uleb128 0xb    # (DW_FORM_data1)
322         .uleb128 0x3b   # (DW_AT_decl_line)
323         .uleb128 0xb    # (DW_FORM_data1)
324         .uleb128 0x27   # (DW_AT_prototyped)
325         .uleb128 0x19   # (DW_FORM_flag_present)
326         .uleb128 0x11   # (DW_AT_low_pc)
327         .uleb128 0x1f01 # (DW_FORM_GNU_addr_index)
328         .uleb128 0x12   # (DW_AT_high_pc)
329         .uleb128 0x7    # (DW_FORM_data8)
330         .uleb128 0x40   # (DW_AT_frame_base)
331         .uleb128 0x18   # (DW_FORM_exprloc)
332         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
333         .uleb128 0x19   # (DW_FORM_flag_present)
334         .uleb128 0x1    # (DW_AT_sibling)
335         .uleb128 0x13   # (DW_FORM_ref4)
336         .byte   0
337         .byte   0
338         .uleb128 0x3    # (abbrev code)
339         .uleb128 0x5    # (TAG: DW_TAG_formal_parameter)
340         .byte   0       # DW_children_no
341         .uleb128 0x3    # (DW_AT_name)
342         .uleb128 0x8    # (DW_FORM_string)
343         .uleb128 0x3a   # (DW_AT_decl_file)
344         .uleb128 0xb    # (DW_FORM_data1)
345         .uleb128 0x3b   # (DW_AT_decl_line)
346         .uleb128 0xb    # (DW_FORM_data1)
347         .uleb128 0x49   # (DW_AT_type)
348         .uleb128 0x13   # (DW_FORM_ref4)
349         .uleb128 0x2    # (DW_AT_location)
350         .uleb128 0x18   # (DW_FORM_exprloc)
351         .byte   0
352         .byte   0
353         .uleb128 0x4    # (abbrev code)
354         .uleb128 0xf    # (TAG: DW_TAG_pointer_type)
355         .byte   0       # DW_children_no
356         .uleb128 0xb    # (DW_AT_byte_size)
357         .uleb128 0xb    # (DW_FORM_data1)
358         .uleb128 0x49   # (DW_AT_type)
359         .uleb128 0x13   # (DW_FORM_ref4)
360         .byte   0
361         .byte   0
362         .uleb128 0x5    # (abbrev code)
363         .uleb128 0x24   # (TAG: DW_TAG_base_type)
364         .byte   0       # DW_children_no
365         .uleb128 0xb    # (DW_AT_byte_size)
366         .uleb128 0xb    # (DW_FORM_data1)
367         .uleb128 0x3e   # (DW_AT_encoding)
368         .uleb128 0xb    # (DW_FORM_data1)
369         .uleb128 0x3    # (DW_AT_name)
370         .uleb128 0x8    # (DW_FORM_string)
371         .byte   0
372         .byte   0
373         .uleb128 0x6    # (abbrev code)
374         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
375         .byte   0x1     # DW_children_yes
376         .uleb128 0x3f   # (DW_AT_external)
377         .uleb128 0x19   # (DW_FORM_flag_present)
378         .uleb128 0x3    # (DW_AT_name)
379         .uleb128 0x8    # (DW_FORM_string)
380         .uleb128 0x3a   # (DW_AT_decl_file)
381         .uleb128 0xb    # (DW_FORM_data1)
382         .uleb128 0x3b   # (DW_AT_decl_line)
383         .uleb128 0xb    # (DW_FORM_data1)
384         .uleb128 0x27   # (DW_AT_prototyped)
385         .uleb128 0x19   # (DW_FORM_flag_present)
386         .uleb128 0x49   # (DW_AT_type)
387         .uleb128 0x13   # (DW_FORM_ref4)
388         .uleb128 0x11   # (DW_AT_low_pc)
389         .uleb128 0x1f01 # (DW_FORM_GNU_addr_index)
390         .uleb128 0x12   # (DW_AT_high_pc)
391         .uleb128 0x7    # (DW_FORM_data8)
392         .uleb128 0x40   # (DW_AT_frame_base)
393         .uleb128 0x18   # (DW_FORM_exprloc)
394         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
395         .uleb128 0x19   # (DW_FORM_flag_present)
396         .uleb128 0x1    # (DW_AT_sibling)
397         .uleb128 0x13   # (DW_FORM_ref4)
398         .byte   0
399         .byte   0
400         .uleb128 0x7    # (abbrev code)
401         .uleb128 0x5    # (TAG: DW_TAG_formal_parameter)
402         .byte   0       # DW_children_no
403         .uleb128 0x3    # (DW_AT_name)
404         .uleb128 0x8    # (DW_FORM_string)
405         .uleb128 0x3a   # (DW_AT_decl_file)
406         .uleb128 0xb    # (DW_FORM_data1)
407         .uleb128 0x3b   # (DW_AT_decl_line)
408         .uleb128 0xb    # (DW_FORM_data1)
409         .uleb128 0x49   # (DW_AT_type)
410         .uleb128 0x13   # (DW_FORM_ref4)
411         .uleb128 0x2    # (DW_AT_location)
412         .uleb128 0x17   # (DW_FORM_sec_offset)
413         .byte   0
414         .byte   0
415         .uleb128 0x8    # (abbrev code)
416         .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
417         .byte   0x1     # DW_children_yes
418         .uleb128 0x11   # (DW_AT_low_pc)
419         .uleb128 0x1f01 # (DW_FORM_GNU_addr_index)
420         .uleb128 0x31   # (DW_AT_abstract_origin)
421         .uleb128 0x13   # (DW_FORM_ref4)
422         .byte   0
423         .byte   0
424         .uleb128 0x9    # (abbrev code)
425         .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter)
426         .byte   0       # DW_children_no
427         .uleb128 0x2    # (DW_AT_location)
428         .uleb128 0x18   # (DW_FORM_exprloc)
429         .uleb128 0x2111 # (DW_AT_GNU_call_site_value)
430         .uleb128 0x18   # (DW_FORM_exprloc)
431         .byte   0
432         .byte   0
433         .uleb128 0xa    # (abbrev code)
434         .uleb128 0x34   # (TAG: DW_TAG_variable)
435         .byte   0       # DW_children_no
436         .uleb128 0x3    # (DW_AT_name)
437         .uleb128 0x8    # (DW_FORM_string)
438         .uleb128 0x3a   # (DW_AT_decl_file)
439         .uleb128 0xb    # (DW_FORM_data1)
440         .uleb128 0x3b   # (DW_AT_decl_line)
441         .uleb128 0xb    # (DW_FORM_data1)
442         .uleb128 0x49   # (DW_AT_type)
443         .uleb128 0x13   # (DW_FORM_ref4)
444         .uleb128 0x3f   # (DW_AT_external)
445         .uleb128 0x19   # (DW_FORM_flag_present)
446         .uleb128 0x2    # (DW_AT_location)
447         .uleb128 0x18   # (DW_FORM_exprloc)
448         .byte   0
449         .byte   0
450         .uleb128 0xb    # (abbrev code)
451         .uleb128 0x35   # (TAG: DW_TAG_volatile_type)
452         .byte   0       # DW_children_no
453         .uleb128 0x49   # (DW_AT_type)
454         .uleb128 0x13   # (DW_FORM_ref4)
455         .byte   0
456         .byte   0
457         .byte   0
458         .section        .debug_loc.dwo,"",@progbits
459 .Ldebug_loc0:
460 .LLST0:
461         .byte   0x3     # Location list start/length entry (*.LLST0)
462         .uleb128 0      # Location list range start index (*.LVL1)
463         .4byte  .LVL2-.LVL1     # Location list range length (*.LLST0)
464         .value  0x1     # Location expression size
465         .byte   0x55    # DW_OP_reg5
466         .byte   0x3     # Location list start/length entry (*.LLST0)
467         .uleb128 0x6    # Location list range start index (*.LVL2)
468         .4byte  .LFE1-.LVL2     # Location list range length (*.LLST0)
469         .value  0x2     # Location expression size
470         .byte   0x91    # DW_OP_fbreg
471         .sleb128 -12
472         .byte   0       # Location list terminator (*.LLST0)
473 .LLST1:
474         .byte   0x3     # Location list start/length entry (*.LLST1)
475         .uleb128 0      # Location list range start index (*.LVL1)
476         .4byte  .LVL3-1-.LVL1   # Location list range length (*.LLST1)
477         .value  0x1     # Location expression size
478         .byte   0x54    # DW_OP_reg4
479         .byte   0x3     # Location list start/length entry (*.LLST1)
480         .uleb128 0x5    # Location list range start index (*.LVL3-1)
481         .4byte  .LFE1-.LVL3-1   # Location list range length (*.LLST1)
482         .value  0x4     # Location expression size
483         .byte   0xf3    # DW_OP_GNU_entry_value
484         .uleb128 0x1
485         .byte   0x54    # DW_OP_reg4
486         .byte   0x9f    # DW_OP_stack_value
487         .byte   0       # Location list terminator (*.LLST1)
488         .section        .debug_gnu_pubnames,"",@progbits
489 .Ldebug_pubnames0:
490         .4byte  0
491         .section        .debug_gnu_pubtypes,"",@progbits
492 .Ldebug_pubtypes0:
493         .4byte  0
494         .section        .debug_aranges,"",@progbits
495         .4byte  0x3c    # Length of Address Ranges Info
496         .value  0x2     # DWARF Version
497         .4byte  .Lskeleton_debug_info0  # Offset of Compilation Unit Info
498         .byte   0x8     # Size of Address
499         .byte   0       # Size of Segment Descriptor
500         .value  0       # Pad to 16 byte boundary
501         .value  0
502         .8byte  .Ltext0 # Address
503         .8byte  .Letext0-.Ltext0        # Length
504         .8byte  .LFB1   # Address
505         .8byte  .LFE1-.LFB1     # Length
506         .8byte  0
507         .8byte  0
508         .section        .debug_ranges,"",@progbits
509 .Ldebug_ranges0:
510         .8byte  .Ltext0 - .Ltext0       # Offset 0
511         .8byte  .Letext0 - .Ltext0
512         .8byte  .LFB1 - .Ltext0 # Offset 0x10
513         .8byte  .LFE1 - .Ltext0
514         .8byte  0
515         .8byte  0
516         .section        .debug_line,"",@progbits
517 .Ldebug_line0:
518         .section        .debug_line.dwo,"",@progbits
519 .Lskeleton_debug_line0:
520         .4byte  .LELT0-.LSLT0   # Length of Source Line Info
521 .LSLT0:
522         .value  0x4     # DWARF Version
523         .4byte  .LELTP0-.LASLTP0        # Prolog Length
524 .LASLTP0:
525         .byte   0x1     # Minimum Instruction Length
526         .byte   0x1     # Maximum Operations Per Instruction
527         .byte   0x1     # Default is_stmt_start flag
528         .byte   0xf6    # Line Base Value (Special Opcodes)
529         .byte   0xf2    # Line Range Value (Special Opcodes)
530         .byte   0xd     # Special Opcode Base
531         .byte   0       # opcode: 0x1 has 0 args
532         .byte   0x1     # opcode: 0x2 has 1 args
533         .byte   0x1     # opcode: 0x3 has 1 args
534         .byte   0x1     # opcode: 0x4 has 1 args
535         .byte   0x1     # opcode: 0x5 has 1 args
536         .byte   0       # opcode: 0x6 has 0 args
537         .byte   0       # opcode: 0x7 has 0 args
538         .byte   0       # opcode: 0x8 has 0 args
539         .byte   0x1     # opcode: 0x9 has 1 args
540         .byte   0       # opcode: 0xa has 0 args
541         .byte   0       # opcode: 0xb has 0 args
542         .byte   0x1     # opcode: 0xc has 1 args
543         .byte   0       # End directory table
544         .ascii "fission-loclists.c\0"   # File Entry: 0x1
545         .uleb128 0
546         .uleb128 0
547         .uleb128 0
548         .byte   0       # End file name table
549 .LELTP0:
550 .LELT0:
551         .section        .debug_str_offsets.dwo,"",@progbits
552         .section        .debug_str.dwo,"",@progbits
553         .ident  "GCC: 4.7.x-fission"
554         .section        .note.GNU-stack,"",@progbits