xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.dwarf2/dw2-common-block.S (revision 3f351f34c6d827cf017cdcff3543f6ec0c88b420)
1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2012-2020 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 was made from ../gdb.fortran/common-block.f90 using
19	gfortran -dA -S -g
20   and then hand-editing the assembly a bit to introduce
21   DW_AT_data_member_location.
22
23   Search for "#if 0" in this file to see the important edits.  */
24
25	.file	"common-block.f90"
26	.text
27.Ltext0:
28	.globl	in_
29	.type	in_, @function
30in_:
31.LFB0:
32	.file 1 "../gdb.fortran/common-block.f90"
33	# ../gdb.fortran/common-block.f90:21
34	.loc 1 21 0
35	.cfi_startproc
36	# basic block 2
37	pushq	%rbp
38	.cfi_def_cfa_offset 16
39	.cfi_offset 6, -16
40	movq	%rsp, %rbp
41	.cfi_def_cfa_register 6
42	subq	$16, %rsp
43	# ../gdb.fortran/common-block.f90:34
44	.loc 1 34 0
45	movl	$5, -4(%rbp)
46	# ../gdb.fortran/common-block.f90:35
47	.loc 1 35 0
48	movl	$55, -8(%rbp)
49	# ../gdb.fortran/common-block.f90:21
50	.loc 1 21 0
51	movl	fo_o_(%rip), %eax
52	# ../gdb.fortran/common-block.f90:37
53	.loc 1 37 0
54	cmpl	$11, %eax
55	jne	.L2
56	# basic block 3
57	# ../gdb.fortran/common-block.f90:21
58	.loc 1 21 0 discriminator 2
59	movss	fo_o_+4(%rip), %xmm0
60	# ../gdb.fortran/common-block.f90:37
61	.loc 1 37 0 discriminator 2
62	ucomiss	.LC0(%rip), %xmm0
63	jp	.L2
64	# basic block 4
65	ucomiss	.LC0(%rip), %xmm0
66	jne	.L2
67	# basic block 5
68	# ../gdb.fortran/common-block.f90:21
69	.loc 1 21 0 discriminator 3
70	movsd	fo_o_+8(%rip), %xmm0
71	# ../gdb.fortran/common-block.f90:37
72	.loc 1 37 0 discriminator 3
73	ucomisd	.LC1(%rip), %xmm0
74	jp	.L2
75	# basic block 6
76	ucomisd	.LC1(%rip), %xmm0
77	je	.L8
78.L2:
79	# basic block 7
80	# ../gdb.fortran/common-block.f90:37
81	.loc 1 37 0 is_stmt 0 discriminator 1
82	movl	$0, %eax
83	call	_gfortran_abort
84.L8:
85	# basic block 8
86	# ../gdb.fortran/common-block.f90:21
87	.loc 1 21 0 is_stmt 1
88	movl	foo_(%rip), %eax
89	# ../gdb.fortran/common-block.f90:38
90	.loc 1 38 0
91	cmpl	$1, %eax
92	jne	.L5
93	# basic block 9
94	# ../gdb.fortran/common-block.f90:21
95	.loc 1 21 0 discriminator 2
96	movss	foo_+4(%rip), %xmm0
97	# ../gdb.fortran/common-block.f90:38
98	.loc 1 38 0 discriminator 2
99	ucomiss	.LC2(%rip), %xmm0
100	jp	.L5
101	# basic block 10
102	ucomiss	.LC2(%rip), %xmm0
103	jne	.L5
104	# basic block 11
105	# ../gdb.fortran/common-block.f90:21
106	.loc 1 21 0 discriminator 3
107	movsd	foo_+8(%rip), %xmm0
108	# ../gdb.fortran/common-block.f90:38
109	.loc 1 38 0 discriminator 3
110	ucomisd	.LC3(%rip), %xmm0
111	jp	.L5
112	# basic block 12
113	ucomisd	.LC3(%rip), %xmm0
114	je	.L9
115.L5:
116	# basic block 13
117	# ../gdb.fortran/common-block.f90:38
118	.loc 1 38 0 is_stmt 0 discriminator 1
119	movl	$0, %eax
120	call	_gfortran_abort
121.L9:
122	# basic block 14
123	# ../gdb.fortran/common-block.f90:40
124	.loc 1 40 0 is_stmt 1
125	movl	$0, fo_o_(%rip)
126	# ../gdb.fortran/common-block.f90:42
127	.loc 1 42 0
128	leave
129	.cfi_def_cfa 7, 8
130	ret
131	.cfi_endproc
132.LFE0:
133	.size	in_, .-in_
134	.type	MAIN__, @function
135MAIN__:
136.LFB1:
137	# ../gdb.fortran/common-block.f90:44
138	.loc 1 44 0
139	.cfi_startproc
140	# basic block 2
141	pushq	%rbp
142	.cfi_def_cfa_offset 16
143	.cfi_offset 6, -16
144	movq	%rsp, %rbp
145	.cfi_def_cfa_register 6
146	# ../gdb.fortran/common-block.f90:57
147	.loc 1 57 0
148	movl	$1, foo_(%rip)
149	# ../gdb.fortran/common-block.f90:58
150	.loc 1 58 0
151	movl	$0x40000000, %eax
152	movl	%eax, foo_+4(%rip)
153	# ../gdb.fortran/common-block.f90:59
154	.loc 1 59 0
155	movabsq	$4613937818241073152, %rax
156	movq	%rax, foo_+8(%rip)
157	# ../gdb.fortran/common-block.f90:61
158	.loc 1 61 0
159	movl	$11, fo_o_(%rip)
160	# ../gdb.fortran/common-block.f90:62
161	.loc 1 62 0
162	movl	$0x41b00000, %eax
163	movl	%eax, fo_o_+4(%rip)
164	# ../gdb.fortran/common-block.f90:63
165	.loc 1 63 0
166	movabsq	$4629841154425225216, %rax
167	movq	%rax, fo_o_+8(%rip)
168	# ../gdb.fortran/common-block.f90:65
169	.loc 1 65 0
170	movl	$0, %eax
171	call	in_
172	# ../gdb.fortran/common-block.f90:67
173	.loc 1 67 0
174	popq	%rbp
175	.cfi_def_cfa 7, 8
176	ret
177	.cfi_endproc
178.LFE1:
179	.size	MAIN__, .-MAIN__
180	.globl	main
181	.type	main, @function
182main:
183.LFB2:
184	# ../gdb.fortran/common-block.f90:67
185	.loc 1 67 0
186	.cfi_startproc
187	# basic block 2
188	pushq	%rbp
189	.cfi_def_cfa_offset 16
190	.cfi_offset 6, -16
191	movq	%rsp, %rbp
192	.cfi_def_cfa_register 6
193	subq	$16, %rsp
194	movl	%edi, -4(%rbp)
195	movq	%rsi, -16(%rbp)
196	# ../gdb.fortran/common-block.f90:67
197	.loc 1 67 0
198	movq	-16(%rbp), %rdx
199	movl	-4(%rbp), %eax
200	movq	%rdx, %rsi
201	movl	%eax, %edi
202	call	_gfortran_set_args
203	movl	$options.0.1570, %esi
204	movl	$8, %edi
205	call	_gfortran_set_options
206	call	MAIN__
207	movl	$0, %eax
208	leave
209	.cfi_def_cfa 7, 8
210	ret
211	.cfi_endproc
212.LFE2:
213	.size	main, .-main
214	.comm	foo_,16,16
215	.comm	fo_o_,16,16
216	.section	.rodata
217	.align 32
218	.type	options.0.1570, @object
219	.size	options.0.1570, 32
220options.0.1570:
221	.long	68
222	.long	511
223	.long	0
224	.long	0
225	.long	0
226	.long	1
227	.long	0
228	.long	1
229	.align 4
230.LC0:
231	.long	1102053376
232	.align 8
233.LC1:
234	.long	0
235	.long	1077968896
236	.align 4
237.LC2:
238	.long	1073741824
239	.align 8
240.LC3:
241	.long	0
242	.long	1074266112
243	.text
244.Letext0:
245	.section	.debug_info,"",@progbits
246.Ldebug_info0:
247#if 0
248	.long	0x247	# Length of Compilation Unit Info
249#else
250	.long	.Ldebuginfo_end - .Ldebug_info1	# Length of Compilation Unit Info
251.Ldebug_info1:
252#endif
253	.value	0x4	# DWARF version number
254	.long	.Ldebug_abbrev0	# Offset Into Abbrev. Section
255	.byte	0x8	# Pointer Size (in bytes)
256	.uleb128 0x1	# (DIE (0xb) DW_TAG_compile_unit)
257	.long	.LASF13	# DW_AT_producer: "GNU Fortran 4.6.3 plus hand hackery"
258	.byte	0xe	# DW_AT_language
259	.byte	0x2	# DW_AT_identifier_case
260	.long	.LASF14	# DW_AT_name: "../gdb.fortran/common-block.f90"
261	.long	.LASF15	# DW_AT_comp_dir: "gdb.dwarf2"
262	.quad	.Ltext0	# DW_AT_low_pc
263	.quad	.Letext0	# DW_AT_high_pc
264	.long	.Ldebug_line0	# DW_AT_stmt_list
265	.uleb128 0x2	# (DIE (0x2e) DW_TAG_subprogram)
266			# DW_AT_external
267	.ascii "in\0"	# DW_AT_name
268	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
269	.byte	0x15	# DW_AT_decl_line
270	.ascii "in_\0"	# DW_AT_linkage_name
271	.quad	.LFB0	# DW_AT_low_pc
272	.quad	.LFE0	# DW_AT_high_pc
273	.uleb128 0x1	# DW_AT_frame_base
274	.byte	0x9c	# DW_OP_call_frame_cfa
275			# DW_AT_GNU_all_tail_call_sites
276	.long	0x11a	# DW_AT_sibling
277	.uleb128 0x3	# (DIE (0x4e) DW_TAG_common_block)
278	.long	.LASF0	# DW_AT_name: "fo_o"
279	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
280	.byte	0x1f	# DW_AT_decl_line
281	.long	.LASF8	# DW_AT_linkage_name: "fo_o_"
282	.uleb128 0x9	# DW_AT_location
283	.byte	0x3	# DW_OP_addr
284	.quad	fo_o_
285	.long	0xa5	# DW_AT_sibling
286#if 0
287	.uleb128 0x4	# (DIE (0x67) DW_TAG_variable)
288#else
289	.uleb128 0x10	# (DIE (0x1bb) DW_TAG_variable)
290#endif
291	.ascii "ix\0"	# DW_AT_name
292	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
293	.byte	0x17	# DW_AT_decl_line
294	.long	0x11a	# DW_AT_type
295			# DW_AT_external
296#if 0
297	.uleb128 0x9	# DW_AT_location
298	.byte	0x3	# DW_OP_addr
299	.quad	fo_o_
300#else
301	.uleb128 0x9	# DW_AT_data_member_location
302			# (size chosen to avoid renumbering all DIEs)
303	.byte	0x8	# DW_OP_const1u
304	.byte	0x0
305	.byte	0x96	# DW_OP_nop
306	.byte	0x96	# DW_OP_nop
307	.byte	0x96	# DW_OP_nop
308	.byte	0x96	# DW_OP_nop
309	.byte	0x96	# DW_OP_nop
310	.byte	0x96	# DW_OP_nop
311	.byte	0x96	# DW_OP_nop
312#endif
313	.uleb128 0x4	# (DIE (0x7b) DW_TAG_variable)
314	.ascii "iy2\0"	# DW_AT_name
315	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
316	.byte	0x18	# DW_AT_decl_line
317	.long	0x121	# DW_AT_type
318			# DW_AT_external
319	.uleb128 0x9	# DW_AT_location
320	.byte	0x3	# DW_OP_addr
321	.quad	fo_o_+4
322	.uleb128 0x4	# (DIE (0x90) DW_TAG_variable)
323	.ascii "iz\0"	# DW_AT_name
324	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
325	.byte	0x19	# DW_AT_decl_line
326	.long	0x128	# DW_AT_type
327			# DW_AT_external
328	.uleb128 0x9	# DW_AT_location
329	.byte	0x3	# DW_OP_addr
330	.quad	fo_o_+8
331	.byte	0	# end of children of DIE 0x4e
332	.uleb128 0x5	# (DIE (0xa5) DW_TAG_common_block)
333	.ascii "foo\0"	# DW_AT_name
334	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
335	.byte	0x20	# DW_AT_decl_line
336	.long	.LASF16	# DW_AT_linkage_name: "foo_"
337	.uleb128 0x9	# DW_AT_location
338	.byte	0x3	# DW_OP_addr
339	.quad	foo_
340	.long	0xfe	# DW_AT_sibling
341	.uleb128 0x6	# (DIE (0xbe) DW_TAG_variable)
342	.long	.LASF1	# DW_AT_name: "ix_x"
343	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
344	.byte	0x1b	# DW_AT_decl_line
345	.long	0x11a	# DW_AT_type
346			# DW_AT_external
347	.uleb128 0x9	# DW_AT_location
348	.byte	0x3	# DW_OP_addr
349	.quad	foo_
350	.uleb128 0x6	# (DIE (0xd3) DW_TAG_variable)
351	.long	.LASF2	# DW_AT_name: "iy_y"
352	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
353	.byte	0x1c	# DW_AT_decl_line
354	.long	0x121	# DW_AT_type
355			# DW_AT_external
356	.uleb128 0x9	# DW_AT_location
357	.byte	0x3	# DW_OP_addr
358	.quad	foo_+4
359	.uleb128 0x6	# (DIE (0xe8) DW_TAG_variable)
360	.long	.LASF3	# DW_AT_name: "iz_z2"
361	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
362	.byte	0x1d	# DW_AT_decl_line
363	.long	0x128	# DW_AT_type
364			# DW_AT_external
365	.uleb128 0x9	# DW_AT_location
366	.byte	0x3	# DW_OP_addr
367	.quad	foo_+8
368	.byte	0	# end of children of DIE 0xa5
369	.uleb128 0x7	# (DIE (0xfe) DW_TAG_variable)
370	.ascii "iy\0"	# DW_AT_name
371	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
372	.byte	0x22	# DW_AT_decl_line
373	.long	0x11a	# DW_AT_type
374	.uleb128 0x2	# DW_AT_location
375	.byte	0x91	# DW_OP_fbreg
376	.sleb128 -20
377	.uleb128 0x8	# (DIE (0x10b) DW_TAG_variable)
378	.long	.LASF4	# DW_AT_name: "iz_z"
379	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
380	.byte	0x23	# DW_AT_decl_line
381	.long	0x11a	# DW_AT_type
382	.uleb128 0x2	# DW_AT_location
383	.byte	0x91	# DW_OP_fbreg
384	.sleb128 -24
385	.byte	0	# end of children of DIE 0x2e
386	.uleb128 0x9	# (DIE (0x11a) DW_TAG_base_type)
387	.byte	0x4	# DW_AT_byte_size
388	.byte	0x5	# DW_AT_encoding
389	.long	.LASF5	# DW_AT_name: "integer(kind=4)"
390	.uleb128 0x9	# (DIE (0x121) DW_TAG_base_type)
391	.byte	0x4	# DW_AT_byte_size
392	.byte	0x4	# DW_AT_encoding
393	.long	.LASF6	# DW_AT_name: "real(kind=4)"
394	.uleb128 0x9	# (DIE (0x128) DW_TAG_base_type)
395	.byte	0x8	# DW_AT_byte_size
396	.byte	0x4	# DW_AT_encoding
397	.long	.LASF7	# DW_AT_name: "real(kind=8)"
398	.uleb128 0xa	# (DIE (0x12f) DW_TAG_subprogram)
399	.long	.LASF17	# DW_AT_name: "common_test"
400	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
401	.byte	0x2c	# DW_AT_decl_line
402	.quad	.LFB1	# DW_AT_low_pc
403	.quad	.LFE1	# DW_AT_high_pc
404	.uleb128 0x1	# DW_AT_frame_base
405	.byte	0x9c	# DW_OP_call_frame_cfa
406			# DW_AT_GNU_all_tail_call_sites
407			# DW_AT_main_subprogram
408	.byte	0x2	# DW_AT_calling_convention
409	.long	0x1f9	# DW_AT_sibling
410	.uleb128 0x3	# (DIE (0x14d) DW_TAG_common_block)
411	.long	.LASF0	# DW_AT_name: "fo_o"
412	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
413	.byte	0x1f	# DW_AT_decl_line
414	.long	.LASF8	# DW_AT_linkage_name: "fo_o_"
415	.uleb128 0x9	# DW_AT_location
416	.byte	0x3	# DW_OP_addr
417	.quad	fo_o_
418	.long	0x1a6	# DW_AT_sibling
419	.uleb128 0x6	# (DIE (0x166) DW_TAG_variable)
420	.long	.LASF1	# DW_AT_name: "ix_x"
421	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
422	.byte	0x32	# DW_AT_decl_line
423	.long	0x11a	# DW_AT_type
424			# DW_AT_external
425	.uleb128 0x9	# DW_AT_location
426	.byte	0x3	# DW_OP_addr
427	.quad	fo_o_
428	.uleb128 0x6	# (DIE (0x17b) DW_TAG_variable)
429	.long	.LASF2	# DW_AT_name: "iy_y"
430	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
431	.byte	0x33	# DW_AT_decl_line
432	.long	0x121	# DW_AT_type
433			# DW_AT_external
434	.uleb128 0x9	# DW_AT_location
435	.byte	0x3	# DW_OP_addr
436	.quad	fo_o_+4
437	.uleb128 0x6	# (DIE (0x190) DW_TAG_variable)
438	.long	.LASF4	# DW_AT_name: "iz_z"
439	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
440	.byte	0x34	# DW_AT_decl_line
441	.long	0x128	# DW_AT_type
442			# DW_AT_external
443	.uleb128 0x9	# DW_AT_location
444	.byte	0x3	# DW_OP_addr
445	.quad	fo_o_+8
446	.byte	0	# end of children of DIE 0x14d
447	.uleb128 0xb	# (DIE (0x1a6) DW_TAG_common_block)
448	.ascii "foo\0"	# DW_AT_name
449	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
450	.byte	0x20	# DW_AT_decl_line
451	.long	.LASF16	# DW_AT_linkage_name: "foo_"
452	.uleb128 0x9	# DW_AT_location
453	.byte	0x3	# DW_OP_addr
454	.quad	foo_
455#if 0
456	.uleb128 0x4	# (DIE (0x1bb) DW_TAG_variable)
457#else
458	.uleb128 0x10	# (DIE (0x1bb) DW_TAG_variable)
459#endif
460	.ascii "ix\0"	# DW_AT_name
461	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
462	.byte	0x2e	# DW_AT_decl_line
463	.long	0x11a	# DW_AT_type
464			# DW_AT_external
465#if 0
466	.uleb128 0x9	# DW_AT_location
467	.byte	0x3	# DW_OP_addr
468	.quad	foo_
469#else
470	.uleb128 0x9	# DW_AT_data_member_location
471			# (size chosen to avoid renumbering all DIEs)
472	.byte	0x8	# DW_OP_const1u
473	.byte	0x0
474	.byte	0x96	# DW_OP_nop
475	.byte	0x96	# DW_OP_nop
476	.byte	0x96	# DW_OP_nop
477	.byte	0x96	# DW_OP_nop
478	.byte	0x96	# DW_OP_nop
479	.byte	0x96	# DW_OP_nop
480	.byte	0x96	# DW_OP_nop
481#endif
482	.uleb128 0x4	# (DIE (0x1cf) DW_TAG_variable)
483	.ascii "iy\0"	# DW_AT_name
484	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
485	.byte	0x2f	# DW_AT_decl_line
486	.long	0x121	# DW_AT_type
487			# DW_AT_external
488	.uleb128 0x9	# DW_AT_location
489	.byte	0x3	# DW_OP_addr
490	.quad	foo_+4
491	.uleb128 0x4	# (DIE (0x1e3) DW_TAG_variable)
492	.ascii "iz\0"	# DW_AT_name
493	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
494	.byte	0x30	# DW_AT_decl_line
495	.long	0x128	# DW_AT_type
496			# DW_AT_external
497	.uleb128 0x9	# DW_AT_location
498	.byte	0x3	# DW_OP_addr
499	.quad	foo_+8
500	.byte	0	# end of children of DIE 0x1a6
501	.byte	0	# end of children of DIE 0x12f
502	.uleb128 0xc	# (DIE (0x1f9) DW_TAG_subprogram)
503			# DW_AT_external
504	.long	.LASF9	# DW_AT_name: "main"
505	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
506	.byte	0x43	# DW_AT_decl_line
507	.long	0x11a	# DW_AT_type
508	.quad	.LFB2	# DW_AT_low_pc
509	.quad	.LFE2	# DW_AT_high_pc
510	.uleb128 0x1	# DW_AT_frame_base
511	.byte	0x9c	# DW_OP_call_frame_cfa
512			# DW_AT_GNU_all_tail_call_sites
513	.long	0x238	# DW_AT_sibling
514	.uleb128 0xd	# (DIE (0x21a) DW_TAG_formal_parameter)
515	.long	.LASF10	# DW_AT_name: "argc"
516	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
517	.byte	0x43	# DW_AT_decl_line
518	.long	0x238	# DW_AT_type
519	.uleb128 0x2	# DW_AT_location
520	.byte	0x91	# DW_OP_fbreg
521	.sleb128 -20
522	.uleb128 0xd	# (DIE (0x228) DW_TAG_formal_parameter)
523	.long	.LASF11	# DW_AT_name: "argv"
524	.byte	0x1	# DW_AT_decl_file (../gdb.fortran/common-block.f90)
525	.byte	0x43	# DW_AT_decl_line
526	.long	0x23d	# DW_AT_type
527	.uleb128 0x3	# DW_AT_location
528	.byte	0x91	# DW_OP_fbreg
529	.sleb128 -32
530	.byte	0x6	# DW_OP_deref
531	.byte	0	# end of children of DIE 0x1f9
532	.uleb128 0xe	# (DIE (0x238) DW_TAG_const_type)
533	.long	0x11a	# DW_AT_type
534	.uleb128 0xf	# (DIE (0x23d) DW_TAG_pointer_type)
535	.byte	0x8	# DW_AT_byte_size
536	.long	0x243	# DW_AT_type
537	.uleb128 0x9	# (DIE (0x243) DW_TAG_base_type)
538	.byte	0x1	# DW_AT_byte_size
539	.byte	0x8	# DW_AT_encoding
540	.long	.LASF12	# DW_AT_name: "character(kind=1)"
541	.byte	0	# end of children of DIE 0xb
542#if 0
543#else
544.Ldebuginfo_end:
545#endif
546	.section	.debug_abbrev,"",@progbits
547.Ldebug_abbrev0:
548	.uleb128 0x1	# (abbrev code)
549	.uleb128 0x11	# (TAG: DW_TAG_compile_unit)
550	.byte	0x1	# DW_children_yes
551	.uleb128 0x25	# (DW_AT_producer)
552	.uleb128 0xe	# (DW_FORM_strp)
553	.uleb128 0x13	# (DW_AT_language)
554	.uleb128 0xb	# (DW_FORM_data1)
555	.uleb128 0x42	# (DW_AT_identifier_case)
556	.uleb128 0xb	# (DW_FORM_data1)
557	.uleb128 0x3	# (DW_AT_name)
558	.uleb128 0xe	# (DW_FORM_strp)
559	.uleb128 0x1b	# (DW_AT_comp_dir)
560	.uleb128 0xe	# (DW_FORM_strp)
561	.uleb128 0x11	# (DW_AT_low_pc)
562	.uleb128 0x1	# (DW_FORM_addr)
563	.uleb128 0x12	# (DW_AT_high_pc)
564	.uleb128 0x1	# (DW_FORM_addr)
565	.uleb128 0x10	# (DW_AT_stmt_list)
566	.uleb128 0x17	# (DW_FORM_sec_offset)
567	.byte	0
568	.byte	0
569	.uleb128 0x2	# (abbrev code)
570	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
571	.byte	0x1	# DW_children_yes
572	.uleb128 0x3f	# (DW_AT_external)
573	.uleb128 0x19	# (DW_FORM_flag_present)
574	.uleb128 0x3	# (DW_AT_name)
575	.uleb128 0x8	# (DW_FORM_string)
576	.uleb128 0x3a	# (DW_AT_decl_file)
577	.uleb128 0xb	# (DW_FORM_data1)
578	.uleb128 0x3b	# (DW_AT_decl_line)
579	.uleb128 0xb	# (DW_FORM_data1)
580	.uleb128 0x6e	# (DW_AT_linkage_name)
581	.uleb128 0x8	# (DW_FORM_string)
582	.uleb128 0x11	# (DW_AT_low_pc)
583	.uleb128 0x1	# (DW_FORM_addr)
584	.uleb128 0x12	# (DW_AT_high_pc)
585	.uleb128 0x1	# (DW_FORM_addr)
586	.uleb128 0x40	# (DW_AT_frame_base)
587	.uleb128 0x18	# (DW_FORM_exprloc)
588	.uleb128 0x2116	# (DW_AT_GNU_all_tail_call_sites)
589	.uleb128 0x19	# (DW_FORM_flag_present)
590	.uleb128 0x1	# (DW_AT_sibling)
591	.uleb128 0x13	# (DW_FORM_ref4)
592	.byte	0
593	.byte	0
594	.uleb128 0x3	# (abbrev code)
595	.uleb128 0x1a	# (TAG: DW_TAG_common_block)
596	.byte	0x1	# DW_children_yes
597	.uleb128 0x3	# (DW_AT_name)
598	.uleb128 0xe	# (DW_FORM_strp)
599	.uleb128 0x3a	# (DW_AT_decl_file)
600	.uleb128 0xb	# (DW_FORM_data1)
601	.uleb128 0x3b	# (DW_AT_decl_line)
602	.uleb128 0xb	# (DW_FORM_data1)
603	.uleb128 0x6e	# (DW_AT_linkage_name)
604	.uleb128 0xe	# (DW_FORM_strp)
605	.uleb128 0x2	# (DW_AT_location)
606	.uleb128 0x18	# (DW_FORM_exprloc)
607	.uleb128 0x1	# (DW_AT_sibling)
608	.uleb128 0x13	# (DW_FORM_ref4)
609	.byte	0
610	.byte	0
611	.uleb128 0x4	# (abbrev code)
612	.uleb128 0x34	# (TAG: DW_TAG_variable)
613	.byte	0	# DW_children_no
614	.uleb128 0x3	# (DW_AT_name)
615	.uleb128 0x8	# (DW_FORM_string)
616	.uleb128 0x3a	# (DW_AT_decl_file)
617	.uleb128 0xb	# (DW_FORM_data1)
618	.uleb128 0x3b	# (DW_AT_decl_line)
619	.uleb128 0xb	# (DW_FORM_data1)
620	.uleb128 0x49	# (DW_AT_type)
621	.uleb128 0x13	# (DW_FORM_ref4)
622	.uleb128 0x3f	# (DW_AT_external)
623	.uleb128 0x19	# (DW_FORM_flag_present)
624	.uleb128 0x2	# (DW_AT_location)
625	.uleb128 0x18	# (DW_FORM_exprloc)
626	.byte	0
627	.byte	0
628	.uleb128 0x5	# (abbrev code)
629	.uleb128 0x1a	# (TAG: DW_TAG_common_block)
630	.byte	0x1	# DW_children_yes
631	.uleb128 0x3	# (DW_AT_name)
632	.uleb128 0x8	# (DW_FORM_string)
633	.uleb128 0x3a	# (DW_AT_decl_file)
634	.uleb128 0xb	# (DW_FORM_data1)
635	.uleb128 0x3b	# (DW_AT_decl_line)
636	.uleb128 0xb	# (DW_FORM_data1)
637	.uleb128 0x6e	# (DW_AT_linkage_name)
638	.uleb128 0xe	# (DW_FORM_strp)
639	.uleb128 0x2	# (DW_AT_location)
640	.uleb128 0x18	# (DW_FORM_exprloc)
641	.uleb128 0x1	# (DW_AT_sibling)
642	.uleb128 0x13	# (DW_FORM_ref4)
643	.byte	0
644	.byte	0
645	.uleb128 0x6	# (abbrev code)
646	.uleb128 0x34	# (TAG: DW_TAG_variable)
647	.byte	0	# DW_children_no
648	.uleb128 0x3	# (DW_AT_name)
649	.uleb128 0xe	# (DW_FORM_strp)
650	.uleb128 0x3a	# (DW_AT_decl_file)
651	.uleb128 0xb	# (DW_FORM_data1)
652	.uleb128 0x3b	# (DW_AT_decl_line)
653	.uleb128 0xb	# (DW_FORM_data1)
654	.uleb128 0x49	# (DW_AT_type)
655	.uleb128 0x13	# (DW_FORM_ref4)
656	.uleb128 0x3f	# (DW_AT_external)
657	.uleb128 0x19	# (DW_FORM_flag_present)
658	.uleb128 0x2	# (DW_AT_location)
659	.uleb128 0x18	# (DW_FORM_exprloc)
660	.byte	0
661	.byte	0
662	.uleb128 0x7	# (abbrev code)
663	.uleb128 0x34	# (TAG: DW_TAG_variable)
664	.byte	0	# DW_children_no
665	.uleb128 0x3	# (DW_AT_name)
666	.uleb128 0x8	# (DW_FORM_string)
667	.uleb128 0x3a	# (DW_AT_decl_file)
668	.uleb128 0xb	# (DW_FORM_data1)
669	.uleb128 0x3b	# (DW_AT_decl_line)
670	.uleb128 0xb	# (DW_FORM_data1)
671	.uleb128 0x49	# (DW_AT_type)
672	.uleb128 0x13	# (DW_FORM_ref4)
673	.uleb128 0x2	# (DW_AT_location)
674	.uleb128 0x18	# (DW_FORM_exprloc)
675	.byte	0
676	.byte	0
677	.uleb128 0x8	# (abbrev code)
678	.uleb128 0x34	# (TAG: DW_TAG_variable)
679	.byte	0	# DW_children_no
680	.uleb128 0x3	# (DW_AT_name)
681	.uleb128 0xe	# (DW_FORM_strp)
682	.uleb128 0x3a	# (DW_AT_decl_file)
683	.uleb128 0xb	# (DW_FORM_data1)
684	.uleb128 0x3b	# (DW_AT_decl_line)
685	.uleb128 0xb	# (DW_FORM_data1)
686	.uleb128 0x49	# (DW_AT_type)
687	.uleb128 0x13	# (DW_FORM_ref4)
688	.uleb128 0x2	# (DW_AT_location)
689	.uleb128 0x18	# (DW_FORM_exprloc)
690	.byte	0
691	.byte	0
692	.uleb128 0x9	# (abbrev code)
693	.uleb128 0x24	# (TAG: DW_TAG_base_type)
694	.byte	0	# DW_children_no
695	.uleb128 0xb	# (DW_AT_byte_size)
696	.uleb128 0xb	# (DW_FORM_data1)
697	.uleb128 0x3e	# (DW_AT_encoding)
698	.uleb128 0xb	# (DW_FORM_data1)
699	.uleb128 0x3	# (DW_AT_name)
700	.uleb128 0xe	# (DW_FORM_strp)
701	.byte	0
702	.byte	0
703	.uleb128 0xa	# (abbrev code)
704	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
705	.byte	0x1	# DW_children_yes
706	.uleb128 0x3	# (DW_AT_name)
707	.uleb128 0xe	# (DW_FORM_strp)
708	.uleb128 0x3a	# (DW_AT_decl_file)
709	.uleb128 0xb	# (DW_FORM_data1)
710	.uleb128 0x3b	# (DW_AT_decl_line)
711	.uleb128 0xb	# (DW_FORM_data1)
712	.uleb128 0x11	# (DW_AT_low_pc)
713	.uleb128 0x1	# (DW_FORM_addr)
714	.uleb128 0x12	# (DW_AT_high_pc)
715	.uleb128 0x1	# (DW_FORM_addr)
716	.uleb128 0x40	# (DW_AT_frame_base)
717	.uleb128 0x18	# (DW_FORM_exprloc)
718	.uleb128 0x2116	# (DW_AT_GNU_all_tail_call_sites)
719	.uleb128 0x19	# (DW_FORM_flag_present)
720	.uleb128 0x6a	# (DW_AT_main_subprogram)
721	.uleb128 0x19	# (DW_FORM_flag_present)
722	.uleb128 0x36	# (DW_AT_calling_convention)
723	.uleb128 0xb	# (DW_FORM_data1)
724	.uleb128 0x1	# (DW_AT_sibling)
725	.uleb128 0x13	# (DW_FORM_ref4)
726	.byte	0
727	.byte	0
728	.uleb128 0xb	# (abbrev code)
729	.uleb128 0x1a	# (TAG: DW_TAG_common_block)
730	.byte	0x1	# DW_children_yes
731	.uleb128 0x3	# (DW_AT_name)
732	.uleb128 0x8	# (DW_FORM_string)
733	.uleb128 0x3a	# (DW_AT_decl_file)
734	.uleb128 0xb	# (DW_FORM_data1)
735	.uleb128 0x3b	# (DW_AT_decl_line)
736	.uleb128 0xb	# (DW_FORM_data1)
737	.uleb128 0x6e	# (DW_AT_linkage_name)
738	.uleb128 0xe	# (DW_FORM_strp)
739	.uleb128 0x2	# (DW_AT_location)
740	.uleb128 0x18	# (DW_FORM_exprloc)
741	.byte	0
742	.byte	0
743	.uleb128 0xc	# (abbrev code)
744	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
745	.byte	0x1	# DW_children_yes
746	.uleb128 0x3f	# (DW_AT_external)
747	.uleb128 0x19	# (DW_FORM_flag_present)
748	.uleb128 0x3	# (DW_AT_name)
749	.uleb128 0xe	# (DW_FORM_strp)
750	.uleb128 0x3a	# (DW_AT_decl_file)
751	.uleb128 0xb	# (DW_FORM_data1)
752	.uleb128 0x3b	# (DW_AT_decl_line)
753	.uleb128 0xb	# (DW_FORM_data1)
754	.uleb128 0x49	# (DW_AT_type)
755	.uleb128 0x13	# (DW_FORM_ref4)
756	.uleb128 0x11	# (DW_AT_low_pc)
757	.uleb128 0x1	# (DW_FORM_addr)
758	.uleb128 0x12	# (DW_AT_high_pc)
759	.uleb128 0x1	# (DW_FORM_addr)
760	.uleb128 0x40	# (DW_AT_frame_base)
761	.uleb128 0x18	# (DW_FORM_exprloc)
762	.uleb128 0x2116	# (DW_AT_GNU_all_tail_call_sites)
763	.uleb128 0x19	# (DW_FORM_flag_present)
764	.uleb128 0x1	# (DW_AT_sibling)
765	.uleb128 0x13	# (DW_FORM_ref4)
766	.byte	0
767	.byte	0
768	.uleb128 0xd	# (abbrev code)
769	.uleb128 0x5	# (TAG: DW_TAG_formal_parameter)
770	.byte	0	# DW_children_no
771	.uleb128 0x3	# (DW_AT_name)
772	.uleb128 0xe	# (DW_FORM_strp)
773	.uleb128 0x3a	# (DW_AT_decl_file)
774	.uleb128 0xb	# (DW_FORM_data1)
775	.uleb128 0x3b	# (DW_AT_decl_line)
776	.uleb128 0xb	# (DW_FORM_data1)
777	.uleb128 0x49	# (DW_AT_type)
778	.uleb128 0x13	# (DW_FORM_ref4)
779	.uleb128 0x2	# (DW_AT_location)
780	.uleb128 0x18	# (DW_FORM_exprloc)
781	.byte	0
782	.byte	0
783	.uleb128 0xe	# (abbrev code)
784	.uleb128 0x26	# (TAG: DW_TAG_const_type)
785	.byte	0	# DW_children_no
786	.uleb128 0x49	# (DW_AT_type)
787	.uleb128 0x13	# (DW_FORM_ref4)
788	.byte	0
789	.byte	0
790	.uleb128 0xf	# (abbrev code)
791	.uleb128 0xf	# (TAG: DW_TAG_pointer_type)
792	.byte	0	# DW_children_no
793	.uleb128 0xb	# (DW_AT_byte_size)
794	.uleb128 0xb	# (DW_FORM_data1)
795	.uleb128 0x49	# (DW_AT_type)
796	.uleb128 0x13	# (DW_FORM_ref4)
797	.byte	0
798	.byte	0
799#if 0
800#else
801	.uleb128 0x10	# (abbrev code)
802	.uleb128 0x34	# (TAG: DW_TAG_variable)
803	.byte	0	# DW_children_no
804	.uleb128 0x3	# (DW_AT_name)
805	.uleb128 0x8	# (DW_FORM_string)
806	.uleb128 0x3a	# (DW_AT_decl_file)
807	.uleb128 0xb	# (DW_FORM_data1)
808	.uleb128 0x3b	# (DW_AT_decl_line)
809	.uleb128 0xb	# (DW_FORM_data1)
810	.uleb128 0x49	# (DW_AT_type)
811	.uleb128 0x13	# (DW_FORM_ref4)
812	.uleb128 0x3f	# (DW_AT_external)
813	.uleb128 0x19	# (DW_FORM_flag_present)
814	.uleb128 0x38	# (DW_AT_data_member_location)
815	.uleb128 0x18	# (DW_FORM_exprloc)
816	.byte	0
817	.byte	0
818#endif
819	.byte	0
820	.section	.debug_aranges,"",@progbits
821	.long	0x2c	# Length of Address Ranges Info
822	.value	0x2	# DWARF Version
823	.long	.Ldebug_info0	# Offset of Compilation Unit Info
824	.byte	0x8	# Size of Address
825	.byte	0	# Size of Segment Descriptor
826	.value	0	# Pad to 16 byte boundary
827	.value	0
828	.quad	.Ltext0	# Address
829	.quad	.Letext0-.Ltext0	# Length
830	.quad	0
831	.quad	0
832	.section	.debug_line,"",@progbits
833.Ldebug_line0:
834	.section	.debug_str,"MS",@progbits,1
835.LASF0:
836	.string	"fo_o"
837.LASF8:
838	.string	"fo_o_"
839.LASF3:
840	.string	"iz_z2"
841.LASF1:
842	.string	"ix_x"
843.LASF9:
844	.string	"main"
845.LASF4:
846	.string	"iz_z"
847.LASF13:
848	.string	"GNU Fortran 4.6.3 plus hand hackery"
849.LASF16:
850	.string	"foo_"
851.LASF7:
852	.string	"real(kind=8)"
853.LASF5:
854	.string	"integer(kind=4)"
855.LASF17:
856	.string	"common_test"
857.LASF12:
858	.string	"character(kind=1)"
859.LASF14:
860	.string	"../gdb.fortran/common-block.f90"
861.LASF10:
862	.string	"argc"
863.LASF2:
864	.string	"iy_y"
865.LASF11:
866	.string	"argv"
867.LASF15:
868	.string	"gdb.dwarf2"
869.LASF6:
870	.string	"real(kind=4)"
871	.ident	"GCC: (GNU) 4.6.3 20120306 (Red Hat 4.6.3-2)"
872	.section	.note.GNU-stack,"",@progbits
873