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