tizen 2.4 release
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / dw2-common-block.S
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2012-2014 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
30 in_:
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
135 MAIN__:
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
182 main:
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
220 options.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