xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.dwarf2/fission-loclists.S (revision aef5eb5f59cdfe8314f1b5f78ac04eb144e44010)
1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2013-2019 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
42foo:
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
64main:
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/src/gdb/testsuite\0"	# DW_AT_comp_dir
243	.ascii "fission-loclists.dwo\0"	# DW_AT_GNU_dwo_name
244	.4byte	.Ldebug_pubnames0	# DW_AT_GNU_pubnames
245	.4byte	.Ldebug_pubtypes0	# DW_AT_GNU_pubtypes
246	.4byte	.Ldebug_addr0	# DW_AT_GNU_addr_base
247.Lskeleton_debug_info0_end:
248	.section	.debug_abbrev,"",@progbits
249.Lskeleton_debug_abbrev0:
250	.uleb128 0x1	# (abbrev code)
251	.uleb128 0x11	# (TAG: DW_TAG_compile_unit)
252	.byte	0	# DW_children_no
253	.uleb128 0x55	# (DW_AT_ranges)
254	.uleb128 0x17	# (DW_FORM_sec_offset)
255	.uleb128 0x11	# (DW_AT_low_pc)
256	.uleb128 0x1	# (DW_FORM_addr)
257	.uleb128 0x10	# (DW_AT_stmt_list)
258	.uleb128 0x17	# (DW_FORM_sec_offset)
259	.uleb128 0x2131	# (DW_AT_GNU_dwo_id)
260	.uleb128 0x7	# (DW_FORM_data8)
261	.uleb128 0x2132	# (DW_AT_GNU_ranges_base)
262	.uleb128 0x17	# (DW_FORM_sec_offset)
263	.uleb128 0x1b	# (DW_AT_comp_dir)
264	.uleb128 0x8	# (DW_FORM_string)
265	.uleb128 0x2130	# (DW_AT_GNU_dwo_name)
266	.uleb128 0x8	# (DW_FORM_string)
267	.uleb128 0x2134	# (DW_AT_GNU_pubnames)
268	.uleb128 0x17	# (DW_FORM_sec_offset)
269	.uleb128 0x2135	# (DW_AT_GNU_pubtypes)
270	.uleb128 0x17	# (DW_FORM_sec_offset)
271	.uleb128 0x2133	# (DW_AT_GNU_addr_base)
272	.uleb128 0x17	# (DW_FORM_sec_offset)
273	.byte	0
274	.byte	0
275	.uleb128 0x2	# (abbrev code)
276	.uleb128 0x41	# (TAG: DW_TAG_type_unit)
277	.byte	0	# DW_children_no
278	.uleb128 0x1b	# (DW_AT_comp_dir)
279	.uleb128 0x8	# (DW_FORM_string)
280	.uleb128 0x2130	# (DW_AT_GNU_dwo_name)
281	.uleb128 0x8	# (DW_FORM_string)
282	.uleb128 0x2134	# (DW_AT_GNU_pubnames)
283	.uleb128 0x17	# (DW_FORM_sec_offset)
284	.uleb128 0x2135	# (DW_AT_GNU_pubtypes)
285	.uleb128 0x17	# (DW_FORM_sec_offset)
286	.uleb128 0x2133	# (DW_AT_GNU_addr_base)
287	.uleb128 0x17	# (DW_FORM_sec_offset)
288	.byte	0
289	.byte	0
290	.byte	0	# end of skeleton .debug_abbrev
291	.section	.debug_abbrev.dwo,"",@progbits
292.Ldebug_abbrev0:
293	.uleb128 0x1	# (abbrev code)
294	.uleb128 0x11	# (TAG: DW_TAG_compile_unit)
295	.byte	0x1	# DW_children_yes
296	.uleb128 0x25	# (DW_AT_producer)
297	.uleb128 0x8	# (DW_FORM_string)
298	.uleb128 0x13	# (DW_AT_language)
299	.uleb128 0xb	# (DW_FORM_data1)
300	.uleb128 0x3	# (DW_AT_name)
301	.uleb128 0x8	# (DW_FORM_string)
302	.uleb128 0x1b	# (DW_AT_comp_dir)
303	.uleb128 0x8	# (DW_FORM_string)
304	.uleb128 0x2131	# (DW_AT_GNU_dwo_id)
305	.uleb128 0x7	# (DW_FORM_data8)
306	.byte	0
307	.byte	0
308	.uleb128 0x2	# (abbrev code)
309	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
310	.byte	0x1	# DW_children_yes
311	.uleb128 0x3f	# (DW_AT_external)
312	.uleb128 0x19	# (DW_FORM_flag_present)
313	.uleb128 0x3	# (DW_AT_name)
314	.uleb128 0x8	# (DW_FORM_string)
315	.uleb128 0x3a	# (DW_AT_decl_file)
316	.uleb128 0xb	# (DW_FORM_data1)
317	.uleb128 0x3b	# (DW_AT_decl_line)
318	.uleb128 0xb	# (DW_FORM_data1)
319	.uleb128 0x27	# (DW_AT_prototyped)
320	.uleb128 0x19	# (DW_FORM_flag_present)
321	.uleb128 0x11	# (DW_AT_low_pc)
322	.uleb128 0x1f01	# (DW_FORM_GNU_addr_index)
323	.uleb128 0x12	# (DW_AT_high_pc)
324	.uleb128 0x7	# (DW_FORM_data8)
325	.uleb128 0x40	# (DW_AT_frame_base)
326	.uleb128 0x18	# (DW_FORM_exprloc)
327	.uleb128 0x2117	# (DW_AT_GNU_all_call_sites)
328	.uleb128 0x19	# (DW_FORM_flag_present)
329	.uleb128 0x1	# (DW_AT_sibling)
330	.uleb128 0x13	# (DW_FORM_ref4)
331	.byte	0
332	.byte	0
333	.uleb128 0x3	# (abbrev code)
334	.uleb128 0x5	# (TAG: DW_TAG_formal_parameter)
335	.byte	0	# DW_children_no
336	.uleb128 0x3	# (DW_AT_name)
337	.uleb128 0x8	# (DW_FORM_string)
338	.uleb128 0x3a	# (DW_AT_decl_file)
339	.uleb128 0xb	# (DW_FORM_data1)
340	.uleb128 0x3b	# (DW_AT_decl_line)
341	.uleb128 0xb	# (DW_FORM_data1)
342	.uleb128 0x49	# (DW_AT_type)
343	.uleb128 0x13	# (DW_FORM_ref4)
344	.uleb128 0x2	# (DW_AT_location)
345	.uleb128 0x18	# (DW_FORM_exprloc)
346	.byte	0
347	.byte	0
348	.uleb128 0x4	# (abbrev code)
349	.uleb128 0xf	# (TAG: DW_TAG_pointer_type)
350	.byte	0	# DW_children_no
351	.uleb128 0xb	# (DW_AT_byte_size)
352	.uleb128 0xb	# (DW_FORM_data1)
353	.uleb128 0x49	# (DW_AT_type)
354	.uleb128 0x13	# (DW_FORM_ref4)
355	.byte	0
356	.byte	0
357	.uleb128 0x5	# (abbrev code)
358	.uleb128 0x24	# (TAG: DW_TAG_base_type)
359	.byte	0	# DW_children_no
360	.uleb128 0xb	# (DW_AT_byte_size)
361	.uleb128 0xb	# (DW_FORM_data1)
362	.uleb128 0x3e	# (DW_AT_encoding)
363	.uleb128 0xb	# (DW_FORM_data1)
364	.uleb128 0x3	# (DW_AT_name)
365	.uleb128 0x8	# (DW_FORM_string)
366	.byte	0
367	.byte	0
368	.uleb128 0x6	# (abbrev code)
369	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
370	.byte	0x1	# DW_children_yes
371	.uleb128 0x3f	# (DW_AT_external)
372	.uleb128 0x19	# (DW_FORM_flag_present)
373	.uleb128 0x3	# (DW_AT_name)
374	.uleb128 0x8	# (DW_FORM_string)
375	.uleb128 0x3a	# (DW_AT_decl_file)
376	.uleb128 0xb	# (DW_FORM_data1)
377	.uleb128 0x3b	# (DW_AT_decl_line)
378	.uleb128 0xb	# (DW_FORM_data1)
379	.uleb128 0x27	# (DW_AT_prototyped)
380	.uleb128 0x19	# (DW_FORM_flag_present)
381	.uleb128 0x49	# (DW_AT_type)
382	.uleb128 0x13	# (DW_FORM_ref4)
383	.uleb128 0x11	# (DW_AT_low_pc)
384	.uleb128 0x1f01	# (DW_FORM_GNU_addr_index)
385	.uleb128 0x12	# (DW_AT_high_pc)
386	.uleb128 0x7	# (DW_FORM_data8)
387	.uleb128 0x40	# (DW_AT_frame_base)
388	.uleb128 0x18	# (DW_FORM_exprloc)
389	.uleb128 0x2117	# (DW_AT_GNU_all_call_sites)
390	.uleb128 0x19	# (DW_FORM_flag_present)
391	.uleb128 0x1	# (DW_AT_sibling)
392	.uleb128 0x13	# (DW_FORM_ref4)
393	.byte	0
394	.byte	0
395	.uleb128 0x7	# (abbrev code)
396	.uleb128 0x5	# (TAG: DW_TAG_formal_parameter)
397	.byte	0	# DW_children_no
398	.uleb128 0x3	# (DW_AT_name)
399	.uleb128 0x8	# (DW_FORM_string)
400	.uleb128 0x3a	# (DW_AT_decl_file)
401	.uleb128 0xb	# (DW_FORM_data1)
402	.uleb128 0x3b	# (DW_AT_decl_line)
403	.uleb128 0xb	# (DW_FORM_data1)
404	.uleb128 0x49	# (DW_AT_type)
405	.uleb128 0x13	# (DW_FORM_ref4)
406	.uleb128 0x2	# (DW_AT_location)
407	.uleb128 0x17	# (DW_FORM_sec_offset)
408	.byte	0
409	.byte	0
410	.uleb128 0x8	# (abbrev code)
411	.uleb128 0x4109	# (TAG: DW_TAG_GNU_call_site)
412	.byte	0x1	# DW_children_yes
413	.uleb128 0x11	# (DW_AT_low_pc)
414	.uleb128 0x1f01	# (DW_FORM_GNU_addr_index)
415	.uleb128 0x31	# (DW_AT_abstract_origin)
416	.uleb128 0x13	# (DW_FORM_ref4)
417	.byte	0
418	.byte	0
419	.uleb128 0x9	# (abbrev code)
420	.uleb128 0x410a	# (TAG: DW_TAG_GNU_call_site_parameter)
421	.byte	0	# DW_children_no
422	.uleb128 0x2	# (DW_AT_location)
423	.uleb128 0x18	# (DW_FORM_exprloc)
424	.uleb128 0x2111	# (DW_AT_GNU_call_site_value)
425	.uleb128 0x18	# (DW_FORM_exprloc)
426	.byte	0
427	.byte	0
428	.uleb128 0xa	# (abbrev code)
429	.uleb128 0x34	# (TAG: DW_TAG_variable)
430	.byte	0	# DW_children_no
431	.uleb128 0x3	# (DW_AT_name)
432	.uleb128 0x8	# (DW_FORM_string)
433	.uleb128 0x3a	# (DW_AT_decl_file)
434	.uleb128 0xb	# (DW_FORM_data1)
435	.uleb128 0x3b	# (DW_AT_decl_line)
436	.uleb128 0xb	# (DW_FORM_data1)
437	.uleb128 0x49	# (DW_AT_type)
438	.uleb128 0x13	# (DW_FORM_ref4)
439	.uleb128 0x3f	# (DW_AT_external)
440	.uleb128 0x19	# (DW_FORM_flag_present)
441	.uleb128 0x2	# (DW_AT_location)
442	.uleb128 0x18	# (DW_FORM_exprloc)
443	.byte	0
444	.byte	0
445	.uleb128 0xb	# (abbrev code)
446	.uleb128 0x35	# (TAG: DW_TAG_volatile_type)
447	.byte	0	# DW_children_no
448	.uleb128 0x49	# (DW_AT_type)
449	.uleb128 0x13	# (DW_FORM_ref4)
450	.byte	0
451	.byte	0
452	.byte	0
453	.section	.debug_loc.dwo,"",@progbits
454.Ldebug_loc0:
455.LLST0:
456	.byte	0x3	# Location list start/length entry (*.LLST0)
457	.uleb128 0	# Location list range start index (*.LVL1)
458	.4byte	.LVL2-.LVL1	# Location list range length (*.LLST0)
459	.value	0x1	# Location expression size
460	.byte	0x55	# DW_OP_reg5
461	.byte	0x3	# Location list start/length entry (*.LLST0)
462	.uleb128 0x6	# Location list range start index (*.LVL2)
463	.4byte	.LFE1-.LVL2	# Location list range length (*.LLST0)
464	.value	0x2	# Location expression size
465	.byte	0x91	# DW_OP_fbreg
466	.sleb128 -12
467	.byte	0	# Location list terminator (*.LLST0)
468.LLST1:
469	.byte	0x3	# Location list start/length entry (*.LLST1)
470	.uleb128 0	# Location list range start index (*.LVL1)
471	.4byte	.LVL3-1-.LVL1	# Location list range length (*.LLST1)
472	.value	0x1	# Location expression size
473	.byte	0x54	# DW_OP_reg4
474	.byte	0x3	# Location list start/length entry (*.LLST1)
475	.uleb128 0x5	# Location list range start index (*.LVL3-1)
476	.4byte	.LFE1-.LVL3-1	# Location list range length (*.LLST1)
477	.value	0x4	# Location expression size
478	.byte	0xf3	# DW_OP_GNU_entry_value
479	.uleb128 0x1
480	.byte	0x54	# DW_OP_reg4
481	.byte	0x9f	# DW_OP_stack_value
482	.byte	0	# Location list terminator (*.LLST1)
483	.section	.debug_gnu_pubnames,"",@progbits
484.Ldebug_pubnames0:
485	.long	0x28	# Pub Info Length
486	.value	0x2	# DWARF Version
487	.long	.Lskeleton_debug_info0	# Offset of Compilation Unit Info
488	.long	0xa6	# Compilation Unit Length
489	.long	0x18	# DIE offset
490	.byte	0x30	# GDB-index flags
491	.ascii "foo\0"	# external name
492	.long	0x47	# DIE offset
493	.byte	0x30	# GDB-index flags
494	.ascii "main\0"	# external name
495	.long	0x94	# DIE offset
496	.byte	0x20	# GDB-index flags
497	.ascii "v\0"	# external name
498	.long	0
499	.section	.debug_gnu_pubtypes,"",@progbits
500.Ldebug_pubtypes0:
501	.long	0x21	# Pub Info Length
502	.value	0x2	# DWARF Version
503	.long	.Lskeleton_debug_info0	# Offset of Compilation Unit Info
504	.long	0xa6	# Compilation Unit Length
505	.long	0x40	# DIE offset
506	.byte	0x90	# GDB-index flags
507	.ascii "int\0"	# external name
508	.long	0x90	# DIE offset
509	.byte	0x90	# GDB-index flags
510	.ascii "char\0"	# external name
511	.long	0
512	.section	.debug_aranges,"",@progbits
513	.long	0x3c	# Length of Address Ranges Info
514	.value	0x2	# DWARF Version
515	.long	.Lskeleton_debug_info0	# Offset of Compilation Unit Info
516	.byte	0x8	# Size of Address
517	.byte	0	# Size of Segment Descriptor
518	.value	0	# Pad to 16 byte boundary
519	.value	0
520	.quad	.Ltext0	# Address
521	.quad	.Letext0-.Ltext0	# Length
522	.quad	.LFB1	# Address
523	.quad	.LFE1-.LFB1	# Length
524	.quad	0
525	.quad	0
526	.section	.debug_aranges,"",@progbits
527	.4byte	0x3c	# Length of Address Ranges Info
528	.value	0x2	# DWARF Version
529	.4byte	.Lskeleton_debug_info0	# Offset of Compilation Unit Info
530	.byte	0x8	# Size of Address
531	.byte	0	# Size of Segment Descriptor
532	.value	0	# Pad to 16 byte boundary
533	.value	0
534	.8byte	.Ltext0	# Address
535	.8byte	.Letext0-.Ltext0	# Length
536	.8byte	.LFB1	# Address
537	.8byte	.LFE1-.LFB1	# Length
538	.8byte	0
539	.8byte	0
540	.section	.debug_ranges,"",@progbits
541.Ldebug_ranges0:
542	.8byte	.Ltext0 - .Ltext0	# Offset 0
543	.8byte	.Letext0 - .Ltext0
544	.8byte	.LFB1 - .Ltext0	# Offset 0x10
545	.8byte	.LFE1 - .Ltext0
546	.8byte	0
547	.8byte	0
548	.section	.debug_line,"",@progbits
549.Ldebug_line0:
550	.section	.debug_line.dwo,"",@progbits
551.Lskeleton_debug_line0:
552	.4byte	.LELT0-.LSLT0	# Length of Source Line Info
553.LSLT0:
554	.value	0x4	# DWARF Version
555	.4byte	.LELTP0-.LASLTP0	# Prolog Length
556.LASLTP0:
557	.byte	0x1	# Minimum Instruction Length
558	.byte	0x1	# Maximum Operations Per Instruction
559	.byte	0x1	# Default is_stmt_start flag
560	.byte	0xf6	# Line Base Value (Special Opcodes)
561	.byte	0xf2	# Line Range Value (Special Opcodes)
562	.byte	0xd	# Special Opcode Base
563	.byte	0	# opcode: 0x1 has 0 args
564	.byte	0x1	# opcode: 0x2 has 1 args
565	.byte	0x1	# opcode: 0x3 has 1 args
566	.byte	0x1	# opcode: 0x4 has 1 args
567	.byte	0x1	# opcode: 0x5 has 1 args
568	.byte	0	# opcode: 0x6 has 0 args
569	.byte	0	# opcode: 0x7 has 0 args
570	.byte	0	# opcode: 0x8 has 0 args
571	.byte	0x1	# opcode: 0x9 has 1 args
572	.byte	0	# opcode: 0xa has 0 args
573	.byte	0	# opcode: 0xb has 0 args
574	.byte	0x1	# opcode: 0xc has 1 args
575	.byte	0	# End directory table
576	.ascii "fission-loclists.c\0"	# File Entry: 0x1
577	.uleb128 0
578	.uleb128 0
579	.uleb128 0
580	.byte	0	# End file name table
581.LELTP0:
582.LELT0:
583	.section	.debug_str_offsets.dwo,"",@progbits
584	.section	.debug_str.dwo,"",@progbits
585	.ident	"GCC: 4.7.x-fission"
586	.section	.note.GNU-stack,"",@progbits
587