From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8708 invoked by alias); 7 Jul 2005 00:04:32 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 8099 invoked by uid 22791); 7 Jul 2005 00:03:54 -0000 Received: from diamondback.brooks.af.mil (HELO diamondback.brooks.af.mil) (140.140.58.5) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Thu, 07 Jul 2005 00:03:54 +0000 Received: from citsmr0.brooks.af.mil (citsmr0.brooks.af.mil [140.140.57.198]) by diamondback.brooks.af.mil with SMTP id j6707CZh016439 for ; Wed, 6 Jul 2005 19:07:12 -0500 (CDT) Received: from fscnbc16.brooks.af.mil ([140.140.249.121]) by citsmr0.brooks.af.mil (SMSSMTP 4.1.0.19) with SMTP id M2005070619034817549 ; Wed, 06 Jul 2005 19:03:48 -0500 Received: by FSCNBC16.brooks.af.mil with Internet Mail Service (5.5.2657.72) id ; Wed, 6 Jul 2005 19:03:51 -0500 Message-ID: <6AC29D5306A1CD4AB6A168570B1176A407B6D752@casino.brooks.af.mil> From: Parker James E Contr AFRL/HEDR To: "'Wu Zhou'" Cc: "'gdb@sources.redhat.com'" Subject: RE: gdb and Fortran90 arrays Date: Thu, 07 Jul 2005 00:04:00 -0000 MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2005-07/txt/msg00061.txt.bz2 Hi Wu, You are correct I am not using gfortran. I have been using 95 as a compiler. I have tried to distill my problem with the debugger to focus on the issue at hand -- printing array data. program Driver implicit none INTEGER, PARAMETER :: SP = KIND(1.0D0) real(SP), dimension(2) :: guess ! dimension size = # of guesses real(SP), dimension(4) :: z interface subroutine load(x1start,w,PVvector) implicit none INTEGER, PARAMETER :: SP = KIND(1.0D0) real(SP), intent(in) :: x1start real(SP), dimension(:), intent(inout) :: w real(SP), dimension(:), intent(out) :: PVvector end subroutine load end interface !*************************************************************************** *** ! Begin main program guess(1) = 1 guess(2) = 2 call load(0.0_sp,guess, z) !************************************************************************ end program Driver !************************************************************************** ! Subroutine: load !************************************************************************** subroutine load(x1start,w,PVvector) implicit none INTEGER, PARAMETER :: SP = KIND(1.0D0) real(SP), intent(in) :: x1start real(SP), dimension(:), intent(inout) :: w real(SP), dimension(:), intent(out) :: PVvector PVvector(1) = 0. ! Real Velocity PVvector(2) = 1.2 ! Imag Velocity PVvector(3) = w(1) ! Real Pressure PVvector(4) = w(2) ! Imag Pressure end subroutine load Here's the readelf -wi output. Its very long and I'm not sure what you need so here it is in all its glory. The section .debug_info contains: Compilation Unit @ 0: Length: 422 Version: 2 Abbrev Offset: 0 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_stmt_list : 0 DW_AT_high_pc : 0x80494ec DW_AT_low_pc : 0x8049440 DW_AT_producer : G95 Fortran 95 4.0.0 20050129 (experimental) (g95!) Apr 4 2005 DW_AT_language : 1 (ANSI C) DW_AT_name : gdbDriver.f90 DW_AT_comp_dir : /home/surfer/downloads/2ndharm-2.0/src <1><8e>: Abbrev Number: 2 (DW_TAG_subprogram) DW_AT_sibling : <106> DW_AT_external : 1 DW_AT_name : MAIN_ DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_prototyped : 1 DW_AT_type : <106> DW_AT_low_pc : 0x8049440 DW_AT_high_pc : 0x80494ec DW_AT_frame_base : 1 byte block: 55 (DW_OP_reg5) <2>: Abbrev Number: 3 (DW_TAG_variable) DW_AT_name : U.0 DW_AT_type : <10e> DW_AT_artificial : 1 DW_AT_location : 2 byte block: 75 78 (DW_OP_breg5: -8) <2>: Abbrev Number: 4 (DW_TAG_variable) DW_AT_type : <106> DW_AT_artificial : 1 DW_AT_location : 2 byte block: 75 74 (DW_OP_breg5: -12) <2>: Abbrev Number: 5 (DW_TAG_variable) DW_AT_name : z.data DW_AT_decl_file : 1 DW_AT_decl_line : 1 DW_AT_type : <117> DW_AT_location : 3 byte block: 75 88 7f (DW_OP_breg5: -120) <2>: Abbrev Number: 5 (DW_TAG_variable) DW_AT_name : z DW_AT_decl_file : 1 DW_AT_decl_line : 1 DW_AT_type : <123> DW_AT_location : 2 byte block: 75 58 (DW_OP_breg5: -40) <2>: Abbrev Number: 5 (DW_TAG_variable) DW_AT_name : guess.data DW_AT_decl_file : 1 DW_AT_decl_line : 1 DW_AT_type : <1a1> DW_AT_location : 2 byte block: 75 48 (DW_OP_breg5: -56) <2>: Abbrev Number: 5 (DW_TAG_variable) DW_AT_name : guess DW_AT_decl_file : 1 DW_AT_decl_line : 1 DW_AT_type : <123> DW_AT_location : 3 byte block: 75 ac 7f (DW_OP_breg5: -84) <1><106>: Abbrev Number: 6 (DW_TAG_base_type) DW_AT_name : int4 DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) <1><10e>: Abbrev Number: 6 (DW_TAG_base_type) DW_AT_name : real8 DW_AT_byte_size : 8 DW_AT_encoding : 4 (float) <1><117>: Abbrev Number: 7 (DW_TAG_array_type) DW_AT_sibling : <123> DW_AT_type : <10e> <2><120>: Abbrev Number: 8 (DW_TAG_subrange_type) DW_AT_upper_bound : 3 <1><123>: Abbrev Number: 9 (DW_TAG_structure_type) DW_AT_sibling : <181> DW_AT_name : array1 DW_AT_byte_size : 28 DW_AT_decl_file : 1 DW_AT_decl_line : 0 <2><132>: Abbrev Number: 10 (DW_TAG_member) DW_AT_name : offset DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <181> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><143>: Abbrev Number: 10 (DW_TAG_member) DW_AT_name : rank DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <106> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2><152>: Abbrev Number: 10 (DW_TAG_member) DW_AT_name : esize DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <106> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <2><162>: Abbrev Number: 10 (DW_TAG_member) DW_AT_name : base DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <18f> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) <2><171>: Abbrev Number: 10 (DW_TAG_member) DW_AT_name : info DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <191> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) <1><181>: Abbrev Number: 11 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <187> <1><187>: Abbrev Number: 6 (DW_TAG_base_type) DW_AT_name : int1 DW_AT_byte_size : 1 DW_AT_encoding : 5 (signed) <1><18f>: Abbrev Number: 12 (DW_TAG_pointer_type) DW_AT_byte_size : 4 <1><191>: Abbrev Number: 7 (DW_TAG_array_type) DW_AT_sibling : <1a1> DW_AT_type : <106> <2><19a>: Abbrev Number: 13 (DW_TAG_subrange_type) DW_AT_type : <106> DW_AT_upper_bound : 2 <1><1a1>: Abbrev Number: 14 (DW_TAG_array_type) DW_AT_type : <10e> <2><1a6>: Abbrev Number: 8 (DW_TAG_subrange_type) DW_AT_upper_bound : 1 Compilation Unit @ 1aa: Length: 483 Version: 2 Abbrev Offset: 173 Pointer Size: 4 <0><1b5>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_stmt_list : 63 DW_AT_high_pc : 0x80495be DW_AT_low_pc : 0x80494ec DW_AT_producer : G95 Fortran 95 4.0.0 20050129 (experimental) (g95!) Apr 4 2005 DW_AT_language : 1 (ANSI C) DW_AT_name : gdbLoader.f90 DW_AT_comp_dir : /home/surfer/downloads/2ndharm-2.0/src <1><238>: Abbrev Number: 2 (DW_TAG_subprogram) DW_AT_sibling : <2e6> DW_AT_external : 1 DW_AT_name : load_ DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_prototyped : 1 DW_AT_type : <2e6> DW_AT_low_pc : 0x80494ec DW_AT_high_pc : 0x80495be DW_AT_frame_base : 1 byte block: 55 (DW_OP_reg5) <2><255>: Abbrev Number: 3 (DW_TAG_formal_parameter) DW_AT_name : x1start DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <2ee> DW_AT_location : 2 byte block: 75 8 (DW_OP_breg5: 8) <2><267>: Abbrev Number: 3 (DW_TAG_formal_parameter) DW_AT_name : w DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <380> DW_AT_location : 2 byte block: 75 c (DW_OP_breg5: 12) <2><273>: Abbrev Number: 3 (DW_TAG_formal_parameter) DW_AT_name : pvvector DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <38b> DW_AT_location : 2 byte block: 75 10 (DW_OP_breg5: 16) <2><286>: Abbrev Number: 4 (DW_TAG_variable) DW_AT_type : <2e6> DW_AT_artificial : 1 DW_AT_location : 2 byte block: 75 7c (DW_OP_breg5: -4) <2><28f>: Abbrev Number: 5 (DW_TAG_subprogram) DW_AT_sibling : <2ad> DW_AT_external : 1 DW_AT_name : (indirect string, offset: 0x0): _g95_init_assumed_shape DW_AT_decl_file : 1 DW_AT_decl_line : 5 DW_AT_prototyped : 1 DW_AT_declaration : 1 <3><29d>: Abbrev Number: 6 (DW_TAG_formal_parameter) DW_AT_type : <385> <3><2a2>: Abbrev Number: 6 (DW_TAG_formal_parameter) DW_AT_type : <385> <3><2a7>: Abbrev Number: 6 (DW_TAG_formal_parameter) DW_AT_type : <36e> <2><2ad>: Abbrev Number: 7 (DW_TAG_variable) DW_AT_name : U.1 DW_AT_type : <302> DW_AT_artificial : 1 DW_AT_location : 2 byte block: 75 60 (DW_OP_breg5: -32) <2><2ba>: Abbrev Number: 5 (DW_TAG_subprogram) DW_AT_sibling : <2d8> DW_AT_external : 1 DW_AT_name : (indirect string, offset: 0x0): _g95_init_assumed_shape DW_AT_decl_file : 1 DW_AT_decl_line : 5 DW_AT_prototyped : 1 DW_AT_declaration : 1 <3><2c8>: Abbrev Number: 6 (DW_TAG_formal_parameter) DW_AT_type : <385> <3><2cd>: Abbrev Number: 6 (DW_TAG_formal_parameter) DW_AT_type : <385> <3><2d2>: Abbrev Number: 6 (DW_TAG_formal_parameter) DW_AT_type : <36e> <2><2d8>: Abbrev Number: 7 (DW_TAG_variable) DW_AT_name : U.0 DW_AT_type : <302> DW_AT_artificial : 1 DW_AT_location : 2 byte block: 75 44 (DW_OP_breg5: -60) <1><2e6>: Abbrev Number: 8 (DW_TAG_base_type) DW_AT_name : int4 DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) <1><2ee>: Abbrev Number: 9 (DW_TAG_const_type) DW_AT_type : <2f3> <1><2f3>: Abbrev Number: 10 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <2f9> <1><2f9>: Abbrev Number: 8 (DW_TAG_base_type) DW_AT_name : real8 DW_AT_byte_size : 8 DW_AT_encoding : 4 (float) <1><302>: Abbrev Number: 11 (DW_TAG_structure_type) DW_AT_sibling : <360> DW_AT_name : array1 DW_AT_byte_size : 28 DW_AT_decl_file : 1 DW_AT_decl_line : 0 <2><311>: Abbrev Number: 12 (DW_TAG_member) DW_AT_name : offset DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <360> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><322>: Abbrev Number: 12 (DW_TAG_member) DW_AT_name : rank DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <2e6> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2><331>: Abbrev Number: 12 (DW_TAG_member) DW_AT_name : esize DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <2e6> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <2><341>: Abbrev Number: 12 (DW_TAG_member) DW_AT_name : base DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <36e> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) <2><350>: Abbrev Number: 12 (DW_TAG_member) DW_AT_name : info DW_AT_decl_file : 1 DW_AT_decl_line : 0 DW_AT_type : <370> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) <1><360>: Abbrev Number: 10 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <366> <1><366>: Abbrev Number: 8 (DW_TAG_base_type) DW_AT_name : int1 DW_AT_byte_size : 1 DW_AT_encoding : 5 (signed) <1><36e>: Abbrev Number: 13 (DW_TAG_pointer_type) DW_AT_byte_size : 4 <1><370>: Abbrev Number: 14 (DW_TAG_array_type) DW_AT_sibling : <380> DW_AT_type : <2e6> <2><379>: Abbrev Number: 15 (DW_TAG_subrange_type) DW_AT_type : <2e6> DW_AT_upper_bound : 2 <1><380>: Abbrev Number: 9 (DW_TAG_const_type) DW_AT_type : <385> <1><385>: Abbrev Number: 10 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <302> <1><38b>: Abbrev Number: 9 (DW_TAG_const_type) DW_AT_type : <385> Compilation Unit @ 391: Length: 1803 Version: 2 Abbrev Offset: 365 Pointer Size: 4 <0><39c>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_stmt_list : 129 DW_AT_high_pc : 0x805f7a2 DW_AT_low_pc : 0x805f640 DW_AT_producer : GNU C 4.0.0 20050129 (experimental) DW_AT_language : 1 (ANSI C) DW_AT_name : /home/andy/g95.build/linux/gcc.linux/gcc/libgcc2.c <1><401>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : int DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) <1><408>: Abbrev Number: 3 (DW_TAG_base_type) DW_AT_name : (indirect string, offset: 0x21): unsigned int DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) <1><40f>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long int DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) <1><41b>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : char DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) <1><423>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : unsigned char DW_AT_byte_size : 1 DW_AT_encoding : 8 (unsigned char) <1><434>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : short unsigned int DW_AT_byte_size : 2 DW_AT_encoding : 7 (unsigned) <1><44a>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long unsigned int DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) <1><45f>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long long unsigned int DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) <1><479>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __quad_t DW_AT_decl_file : 4 DW_AT_decl_line : 38 DW_AT_type : <489> <1><489>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long long int DW_AT_byte_size : 8 DW_AT_encoding : 5 (signed) <1><49a>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : signed char DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) <1><4a9>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : short int DW_AT_byte_size : 2 DW_AT_encoding : 5 (signed) <1><4b6>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __off_t DW_AT_decl_file : 4 DW_AT_decl_line : 67 DW_AT_type : <40f> <1><4c5>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __loff_t DW_AT_decl_file : 4 DW_AT_decl_line : 68 DW_AT_type : <479> <1><4d5>: Abbrev Number: 3 (DW_TAG_base_type) DW_AT_name : (indirect string, offset: 0x21): unsigned int DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) <1><4dc>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <41b> <1><4e2>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __off64_t DW_AT_decl_file : 4 DW_AT_decl_line : 128 DW_AT_type : <4c5> <1><4f3>: Abbrev Number: 6 (DW_TAG_pointer_type) DW_AT_byte_size : 4 <1><4f5>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : FILE DW_AT_decl_file : 2 DW_AT_decl_line : 45 DW_AT_type : <501> <1><501>: Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_sibling : <747> DW_AT_name : (indirect string, offset: 0x18): _IO_FILE DW_AT_byte_size : 148 DW_AT_decl_file : 2 DW_AT_decl_line : 45 <2><50d>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _flags DW_AT_decl_file : 3 DW_AT_decl_line : 262 DW_AT_type : <401> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><51f>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_read_ptr DW_AT_decl_file : 3 DW_AT_decl_line : 267 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2><537>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_read_end DW_AT_decl_file : 3 DW_AT_decl_line : 268 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <2><54f>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_read_base DW_AT_decl_file : 3 DW_AT_decl_line : 269 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) <2><568>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_write_base DW_AT_decl_file : 3 DW_AT_decl_line : 270 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) <2><582>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_write_ptr DW_AT_decl_file : 3 DW_AT_decl_line : 271 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) <2><59b>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_write_end DW_AT_decl_file : 3 DW_AT_decl_line : 272 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) <2><5b4>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_buf_base DW_AT_decl_file : 3 DW_AT_decl_line : 273 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) <2><5cc>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_buf_end DW_AT_decl_file : 3 DW_AT_decl_line : 274 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) <2><5e3>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_save_base DW_AT_decl_file : 3 DW_AT_decl_line : 276 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) <2><5fc>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_backup_base DW_AT_decl_file : 3 DW_AT_decl_line : 277 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) <2><617>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_save_end DW_AT_decl_file : 3 DW_AT_decl_line : 278 DW_AT_type : <4dc> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) <2><62f>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _markers DW_AT_decl_file : 3 DW_AT_decl_line : 280 DW_AT_type : <798> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) <2><643>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _chain DW_AT_decl_file : 3 DW_AT_decl_line : 282 DW_AT_type : <79e> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) <2><655>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _fileno DW_AT_decl_file : 3 DW_AT_decl_line : 284 DW_AT_type : <401> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) <2><668>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _blksize DW_AT_decl_file : 3 DW_AT_decl_line : 285 DW_AT_type : <401> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) <2><67c>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _old_offset DW_AT_decl_file : 3 DW_AT_decl_line : 286 DW_AT_type : <4b6> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) <2><693>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _cur_column DW_AT_decl_file : 3 DW_AT_decl_line : 290 DW_AT_type : <434> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68) <2><6aa>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _vtable_offset DW_AT_decl_file : 3 DW_AT_decl_line : 291 DW_AT_type : <49a> DW_AT_data_member_location: 2 byte block: 23 46 (DW_OP_plus_uconst: 70) <2><6c4>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _shortbuf DW_AT_decl_file : 3 DW_AT_decl_line : 292 DW_AT_type : <7a4> DW_AT_data_member_location: 2 byte block: 23 47 (DW_OP_plus_uconst: 71) <2><6d9>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _lock DW_AT_decl_file : 3 DW_AT_decl_line : 296 DW_AT_type : <7b4> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) <2><6ea>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _offset DW_AT_decl_file : 3 DW_AT_decl_line : 305 DW_AT_type : <4e2> DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76) <2><6fd>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : __pad1 DW_AT_decl_file : 3 DW_AT_decl_line : 311 DW_AT_type : <4f3> DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84) <2><70f>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : __pad2 DW_AT_decl_file : 3 DW_AT_decl_line : 312 DW_AT_type : <4f3> DW_AT_data_member_location: 2 byte block: 23 58 (DW_OP_plus_uconst: 88) <2><721>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _mode DW_AT_decl_file : 3 DW_AT_decl_line : 314 DW_AT_type : <401> DW_AT_data_member_location: 2 byte block: 23 5c (DW_OP_plus_uconst: 92) <2><732>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _unused2 DW_AT_decl_file : 3 DW_AT_decl_line : 316 DW_AT_type : <7ba> DW_AT_data_member_location: 2 byte block: 23 60 (DW_OP_plus_uconst: 96) <1><747>: Abbrev Number: 9 (DW_TAG_typedef) DW_AT_name : _IO_lock_t DW_AT_decl_file : 3 DW_AT_decl_line : 170 <1><755>: Abbrev Number: 10 (DW_TAG_structure_type) DW_AT_sibling : <798> DW_AT_name : _IO_marker DW_AT_byte_size : 12 DW_AT_decl_file : 3 DW_AT_decl_line : 176 <2><768>: Abbrev Number: 11 (DW_TAG_member) DW_AT_name : _next DW_AT_decl_file : 3 DW_AT_decl_line : 177 DW_AT_type : <798> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><778>: Abbrev Number: 11 (DW_TAG_member) DW_AT_name : _sbuf DW_AT_decl_file : 3 DW_AT_decl_line : 178 DW_AT_type : <79e> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2><788>: Abbrev Number: 11 (DW_TAG_member) DW_AT_name : _pos DW_AT_decl_file : 3 DW_AT_decl_line : 182 DW_AT_type : <401> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <1><798>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <755> <1><79e>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <501> <1><7a4>: Abbrev Number: 12 (DW_TAG_array_type) DW_AT_sibling : <7b4> DW_AT_type : <41b> <2><7ad>: Abbrev Number: 13 (DW_TAG_subrange_type) DW_AT_type : <4d5> DW_AT_upper_bound : 0 <1><7b4>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <747> <1><7ba>: Abbrev Number: 12 (DW_TAG_array_type) DW_AT_sibling : <7ca> DW_AT_type : <41b> <2><7c3>: Abbrev Number: 13 (DW_TAG_subrange_type) DW_AT_type : <4d5> DW_AT_upper_bound : 51 <1><7ca>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : SItype DW_AT_decl_file : 5 DW_AT_decl_line : 77 DW_AT_type : <401> <1><7d8>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : USItype DW_AT_decl_file : 5 DW_AT_decl_line : 78 DW_AT_type : <408> <1><7e7>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : DItype DW_AT_decl_file : 5 DW_AT_decl_line : 81 DW_AT_type : <489> <1><7f5>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : UDItype DW_AT_decl_file : 5 DW_AT_decl_line : 82 DW_AT_type : <45f> <1><804>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : float DW_AT_byte_size : 4 DW_AT_encoding : 4 (float) <1><80d>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : double DW_AT_byte_size : 8 DW_AT_encoding : 4 (float) <1><817>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long double DW_AT_byte_size : 12 DW_AT_encoding : 4 (float) <1><826>: Abbrev Number: 14 (DW_TAG_structure_type) DW_AT_sibling : <858> DW_AT_name : DWstruct DW_AT_byte_size : 8 DW_AT_decl_file : 5 DW_AT_decl_line : 329 <2><838>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : low DW_AT_decl_file : 5 DW_AT_decl_line : 329 DW_AT_type : <7ca> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><847>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : high DW_AT_decl_file : 5 DW_AT_decl_line : 329 DW_AT_type : <7ca> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <1><858>: Abbrev Number: 15 (DW_TAG_union_type) DW_AT_sibling : <877> DW_AT_byte_size : 8 DW_AT_decl_file : 5 DW_AT_decl_line : 340 <2><861>: Abbrev Number: 16 (DW_TAG_member) DW_AT_name : s DW_AT_decl_file : 5 DW_AT_decl_line : 338 DW_AT_type : <826> <2><86b>: Abbrev Number: 16 (DW_TAG_member) DW_AT_name : ll DW_AT_decl_file : 5 DW_AT_decl_line : 339 DW_AT_type : <7e7> <1><877>: Abbrev Number: 17 (DW_TAG_typedef) DW_AT_name : DWunion DW_AT_decl_file : 5 DW_AT_decl_line : 340 DW_AT_type : <858> <1><887>: Abbrev Number: 18 (DW_TAG_variable) DW_AT_name : stdin DW_AT_decl_file : 2 DW_AT_decl_line : 133 DW_AT_type : <896> DW_AT_external : 1 DW_AT_declaration : 1 <1><896>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <4f5> <1><89c>: Abbrev Number: 18 (DW_TAG_variable) DW_AT_name : stdout DW_AT_decl_file : 2 DW_AT_decl_line : 134 DW_AT_type : <896> DW_AT_external : 1 DW_AT_declaration : 1 <1><8ac>: Abbrev Number: 19 (DW_TAG_subprogram) DW_AT_sibling : <9a3> DW_AT_name : __udivmoddi4 DW_AT_decl_file : 1 DW_AT_decl_line : 843 DW_AT_prototyped : 1 DW_AT_type : <7f5> DW_AT_inline : 3 (declared as inline and inlined) <2><8c7>: Abbrev Number: 20 (DW_TAG_formal_parameter) DW_AT_name : n DW_AT_decl_file : 1 DW_AT_decl_line : 842 DW_AT_type : <7f5> <2><8d1>: Abbrev Number: 20 (DW_TAG_formal_parameter) DW_AT_name : d DW_AT_decl_file : 1 DW_AT_decl_line : 842 DW_AT_type : <7f5> <2><8db>: Abbrev Number: 20 (DW_TAG_formal_parameter) DW_AT_name : rp DW_AT_decl_file : 1 DW_AT_decl_line : 842 DW_AT_type : <9a3> <2><8e6>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : nn DW_AT_decl_file : 1 DW_AT_decl_line : 844 DW_AT_type : <9a9> <2><8f1>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : dd DW_AT_decl_file : 1 DW_AT_decl_line : 845 DW_AT_type : <9a9> <2><8fc>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : rr DW_AT_decl_file : 1 DW_AT_decl_line : 846 DW_AT_type : <877> <2><907>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : d0 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <7d8> <2><912>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : d1 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <7d8> <2><91d>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : n0 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <7d8> <2><928>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : n1 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <7d8> <2><933>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : n2 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <7d8> <2><93e>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : q0 DW_AT_decl_file : 1 DW_AT_decl_line : 848 DW_AT_type : <7d8> <2><949>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : q1 DW_AT_decl_file : 1 DW_AT_decl_line : 848 DW_AT_type : <7d8> <2><954>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : b DW_AT_decl_file : 1 DW_AT_decl_line : 849 DW_AT_type : <7d8> <2><95e>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : bm DW_AT_decl_file : 1 DW_AT_decl_line : 849 DW_AT_type : <7d8> <2><969>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : ww DW_AT_decl_file : 1 DW_AT_decl_line : 1050 DW_AT_type : <9a9> <2><974>: Abbrev Number: 22 (DW_TAG_lexical_block) DW_AT_sibling : <98a> <3><979>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : __cbtmp DW_AT_decl_file : 1 DW_AT_decl_line : 986 DW_AT_type : <7d8> <2><98a>: Abbrev Number: 23 (DW_TAG_lexical_block) <3><98b>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : m1 DW_AT_decl_file : 1 DW_AT_decl_line : 1016 DW_AT_type : <7d8> <3><996>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : m0 DW_AT_decl_file : 1 DW_AT_decl_line : 1016 DW_AT_type : <7d8> <1><9a3>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <7f5> <1><9a9>: Abbrev Number: 24 (DW_TAG_const_type) DW_AT_type : <877> <1><9ae>: Abbrev Number: 25 (DW_TAG_subprogram) DW_AT_external : 1 DW_AT_name : __udivdi3 DW_AT_decl_file : 1 DW_AT_decl_line : 1117 DW_AT_prototyped : 1 DW_AT_type : <7f5> DW_AT_low_pc : 0x805f640 DW_AT_high_pc : 0x805f7a2 DW_AT_frame_base : 1 byte block: 55 (DW_OP_reg5) <2><9cc>: Abbrev Number: 26 (DW_TAG_formal_parameter) DW_AT_name : n DW_AT_decl_file : 1 DW_AT_decl_line : 1116 DW_AT_type : <7f5> DW_AT_location : 0 (location list) <2><9da>: Abbrev Number: 26 (DW_TAG_formal_parameter) DW_AT_name : d DW_AT_decl_file : 1 DW_AT_decl_line : 1116 DW_AT_type : <7f5> DW_AT_location : 38 (location list) <2><9e8>: Abbrev Number: 27 (DW_TAG_inlined_subroutine) DW_AT_sibling : DW_AT_abstract_origin: <8ac> DW_AT_low_pc : 0x805f65c DW_AT_high_pc : 0x805f687 <3><9f9>: Abbrev Number: 28 (DW_TAG_formal_parameter) DW_AT_abstract_origin: <8db> <3><9fe>: Abbrev Number: 28 (DW_TAG_formal_parameter) DW_AT_abstract_origin: <8d1> <3>: Abbrev Number: 28 (DW_TAG_formal_parameter) DW_AT_abstract_origin: <8c7> <3>: Abbrev Number: 29 (DW_TAG_lexical_block) DW_AT_ranges : 0 <4>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <8e6> <4>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <8f1> <4>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <8fc> <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <907> DW_AT_location : 93 (location list) <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <912> DW_AT_location : 189 (location list) <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <91d> DW_AT_location : 287 (location list) <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <928> DW_AT_location : 351 (location list) <4>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <933> <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <93e> DW_AT_location : 406 (location list) <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <949> DW_AT_location : 469 (location list) <4>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <954> <4>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <95e> DW_AT_location : 532 (location list) <4>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <969> DW_AT_location : 2 byte block: 75 60 (DW_OP_breg5: -32) <2>: Abbrev Number: 33 (DW_TAG_lexical_block) DW_AT_sibling : DW_AT_low_pc : 0x805f69d DW_AT_high_pc : 0x805f6a0 <3>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <979> DW_AT_location : 573 (location list) <2>: Abbrev Number: 29 (DW_TAG_lexical_block) DW_AT_ranges : 56 <3>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <98b> DW_AT_location : 603 (location list) <3>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <996> DW_AT_location : 633 (location list) Compilation Unit @ aa0: Length: 1813 Version: 2 Abbrev Offset: 759 Pointer Size: 4 <0>: Abbrev Number: 1 (DW_TAG_compile_unit) DW_AT_stmt_list : 461 DW_AT_high_pc : 0x805f956 DW_AT_low_pc : 0x805f7b0 DW_AT_producer : GNU C 4.0.0 20050129 (experimental) DW_AT_language : 1 (ANSI C) DW_AT_name : /home/andy/g95.build/linux/gcc.linux/gcc/libgcc2.c <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : int DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) <1>: Abbrev Number: 3 (DW_TAG_base_type) DW_AT_name : (indirect string, offset: 0x37): unsigned int DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long int DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : char DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : unsigned char DW_AT_byte_size : 1 DW_AT_encoding : 8 (unsigned char) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : short unsigned int DW_AT_byte_size : 2 DW_AT_encoding : 7 (unsigned) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long unsigned int DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long long unsigned int DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __quad_t DW_AT_decl_file : 4 DW_AT_decl_line : 38 DW_AT_type : <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long long int DW_AT_byte_size : 8 DW_AT_encoding : 5 (signed) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : signed char DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : short int DW_AT_byte_size : 2 DW_AT_encoding : 5 (signed) <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __off_t DW_AT_decl_file : 4 DW_AT_decl_line : 67 DW_AT_type : <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __loff_t DW_AT_decl_file : 4 DW_AT_decl_line : 68 DW_AT_type : <1>: Abbrev Number: 3 (DW_TAG_base_type) DW_AT_name : (indirect string, offset: 0x37): unsigned int DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) <1>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : __off64_t DW_AT_decl_file : 4 DW_AT_decl_line : 128 DW_AT_type : <1>: Abbrev Number: 6 (DW_TAG_pointer_type) DW_AT_byte_size : 4 <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : FILE DW_AT_decl_file : 2 DW_AT_decl_line : 45 DW_AT_type : <1>: Abbrev Number: 7 (DW_TAG_structure_type) DW_AT_sibling : DW_AT_name : (indirect string, offset: 0x2e): _IO_FILE DW_AT_byte_size : 148 DW_AT_decl_file : 2 DW_AT_decl_line : 45 <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _flags DW_AT_decl_file : 3 DW_AT_decl_line : 262 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_read_ptr DW_AT_decl_file : 3 DW_AT_decl_line : 267 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_read_end DW_AT_decl_file : 3 DW_AT_decl_line : 268 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_read_base DW_AT_decl_file : 3 DW_AT_decl_line : 269 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_write_base DW_AT_decl_file : 3 DW_AT_decl_line : 270 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_write_ptr DW_AT_decl_file : 3 DW_AT_decl_line : 271 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_write_end DW_AT_decl_file : 3 DW_AT_decl_line : 272 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_buf_base DW_AT_decl_file : 3 DW_AT_decl_line : 273 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_buf_end DW_AT_decl_file : 3 DW_AT_decl_line : 274 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_save_base DW_AT_decl_file : 3 DW_AT_decl_line : 276 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_backup_base DW_AT_decl_file : 3 DW_AT_decl_line : 277 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _IO_save_end DW_AT_decl_file : 3 DW_AT_decl_line : 278 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _markers DW_AT_decl_file : 3 DW_AT_decl_line : 280 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _chain DW_AT_decl_file : 3 DW_AT_decl_line : 282 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _fileno DW_AT_decl_file : 3 DW_AT_decl_line : 284 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _blksize DW_AT_decl_file : 3 DW_AT_decl_line : 285 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _old_offset DW_AT_decl_file : 3 DW_AT_decl_line : 286 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _cur_column DW_AT_decl_file : 3 DW_AT_decl_line : 290 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _vtable_offset DW_AT_decl_file : 3 DW_AT_decl_line : 291 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 46 (DW_OP_plus_uconst: 70) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _shortbuf DW_AT_decl_file : 3 DW_AT_decl_line : 292 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 47 (DW_OP_plus_uconst: 71) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _lock DW_AT_decl_file : 3 DW_AT_decl_line : 296 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _offset DW_AT_decl_file : 3 DW_AT_decl_line : 305 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : __pad1 DW_AT_decl_file : 3 DW_AT_decl_line : 311 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : __pad2 DW_AT_decl_file : 3 DW_AT_decl_line : 312 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 58 (DW_OP_plus_uconst: 88) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _mode DW_AT_decl_file : 3 DW_AT_decl_line : 314 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 5c (DW_OP_plus_uconst: 92) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : _unused2 DW_AT_decl_file : 3 DW_AT_decl_line : 316 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 60 (DW_OP_plus_uconst: 96) <1>: Abbrev Number: 9 (DW_TAG_typedef) DW_AT_name : _IO_lock_t DW_AT_decl_file : 3 DW_AT_decl_line : 170 <1>: Abbrev Number: 10 (DW_TAG_structure_type) DW_AT_sibling : DW_AT_name : _IO_marker DW_AT_byte_size : 12 DW_AT_decl_file : 3 DW_AT_decl_line : 176 <2>: Abbrev Number: 11 (DW_TAG_member) DW_AT_name : _next DW_AT_decl_file : 3 DW_AT_decl_line : 177 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2>: Abbrev Number: 11 (DW_TAG_member) DW_AT_name : _sbuf DW_AT_decl_file : 3 DW_AT_decl_line : 178 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2>: Abbrev Number: 11 (DW_TAG_member) DW_AT_name : _pos DW_AT_decl_file : 3 DW_AT_decl_line : 182 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <1>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <1>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <1>: Abbrev Number: 12 (DW_TAG_array_type) DW_AT_sibling : DW_AT_type : <2>: Abbrev Number: 13 (DW_TAG_subrange_type) DW_AT_type : DW_AT_upper_bound : 0 <1>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <1>: Abbrev Number: 12 (DW_TAG_array_type) DW_AT_sibling : DW_AT_type : <2>: Abbrev Number: 13 (DW_TAG_subrange_type) DW_AT_type : DW_AT_upper_bound : 51 <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : SItype DW_AT_decl_file : 5 DW_AT_decl_line : 77 DW_AT_type : <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : USItype DW_AT_decl_file : 5 DW_AT_decl_line : 78 DW_AT_type : <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : DItype DW_AT_decl_file : 5 DW_AT_decl_line : 81 DW_AT_type : <1>: Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : UDItype DW_AT_decl_file : 5 DW_AT_decl_line : 82 DW_AT_type : <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : float DW_AT_byte_size : 4 DW_AT_encoding : 4 (float) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : double DW_AT_byte_size : 8 DW_AT_encoding : 4 (float) <1>: Abbrev Number: 2 (DW_TAG_base_type) DW_AT_name : long double DW_AT_byte_size : 12 DW_AT_encoding : 4 (float) <1>: Abbrev Number: 14 (DW_TAG_structure_type) DW_AT_sibling : DW_AT_name : DWstruct DW_AT_byte_size : 8 DW_AT_decl_file : 5 DW_AT_decl_line : 329 <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : low DW_AT_decl_file : 5 DW_AT_decl_line : 329 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2>: Abbrev Number: 8 (DW_TAG_member) DW_AT_name : high DW_AT_decl_file : 5 DW_AT_decl_line : 329 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <1>: Abbrev Number: 15 (DW_TAG_union_type) DW_AT_sibling : DW_AT_byte_size : 8 DW_AT_decl_file : 5 DW_AT_decl_line : 340 <2>: Abbrev Number: 16 (DW_TAG_member) DW_AT_name : s DW_AT_decl_file : 5 DW_AT_decl_line : 338 DW_AT_type : <2>: Abbrev Number: 16 (DW_TAG_member) DW_AT_name : ll DW_AT_decl_file : 5 DW_AT_decl_line : 339 DW_AT_type : <1>: Abbrev Number: 17 (DW_TAG_typedef) DW_AT_name : DWunion DW_AT_decl_file : 5 DW_AT_decl_line : 340 DW_AT_type : <1>: Abbrev Number: 18 (DW_TAG_variable) DW_AT_name : stdin DW_AT_decl_file : 2 DW_AT_decl_line : 133 DW_AT_type : DW_AT_external : 1 DW_AT_declaration : 1 <1>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <1>: Abbrev Number: 18 (DW_TAG_variable) DW_AT_name : stdout DW_AT_decl_file : 2 DW_AT_decl_line : 134 DW_AT_type : DW_AT_external : 1 DW_AT_declaration : 1 <1>: Abbrev Number: 19 (DW_TAG_subprogram) DW_AT_sibling : <10b2> DW_AT_name : __udivmoddi4 DW_AT_decl_file : 1 DW_AT_decl_line : 843 DW_AT_prototyped : 1 DW_AT_type : DW_AT_inline : 3 (declared as inline and inlined) <2>: Abbrev Number: 20 (DW_TAG_formal_parameter) DW_AT_name : n DW_AT_decl_file : 1 DW_AT_decl_line : 842 DW_AT_type : <2>: Abbrev Number: 20 (DW_TAG_formal_parameter) DW_AT_name : d DW_AT_decl_file : 1 DW_AT_decl_line : 842 DW_AT_type : <2>: Abbrev Number: 20 (DW_TAG_formal_parameter) DW_AT_name : rp DW_AT_decl_file : 1 DW_AT_decl_line : 842 DW_AT_type : <10b2> <2>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : nn DW_AT_decl_file : 1 DW_AT_decl_line : 844 DW_AT_type : <10b8> <2><1000>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : dd DW_AT_decl_file : 1 DW_AT_decl_line : 845 DW_AT_type : <10b8> <2><100b>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : rr DW_AT_decl_file : 1 DW_AT_decl_line : 846 DW_AT_type : <2><1016>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : d0 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <2><1021>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : d1 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <2><102c>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : n0 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <2><1037>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : n1 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <2><1042>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : n2 DW_AT_decl_file : 1 DW_AT_decl_line : 847 DW_AT_type : <2><104d>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : q0 DW_AT_decl_file : 1 DW_AT_decl_line : 848 DW_AT_type : <2><1058>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : q1 DW_AT_decl_file : 1 DW_AT_decl_line : 848 DW_AT_type : <2><1063>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : b DW_AT_decl_file : 1 DW_AT_decl_line : 849 DW_AT_type : <2><106d>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : bm DW_AT_decl_file : 1 DW_AT_decl_line : 849 DW_AT_type : <2><1078>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : ww DW_AT_decl_file : 1 DW_AT_decl_line : 1050 DW_AT_type : <10b8> <2><1083>: Abbrev Number: 22 (DW_TAG_lexical_block) DW_AT_sibling : <1099> <3><1088>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : __cbtmp DW_AT_decl_file : 1 DW_AT_decl_line : 986 DW_AT_type : <2><1099>: Abbrev Number: 23 (DW_TAG_lexical_block) <3><109a>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : m1 DW_AT_decl_file : 1 DW_AT_decl_line : 1016 DW_AT_type : <3><10a5>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : m0 DW_AT_decl_file : 1 DW_AT_decl_line : 1016 DW_AT_type : <1><10b2>: Abbrev Number: 5 (DW_TAG_pointer_type) DW_AT_byte_size : 4 DW_AT_type : <1><10b8>: Abbrev Number: 24 (DW_TAG_const_type) DW_AT_type : <1><10bd>: Abbrev Number: 25 (DW_TAG_subprogram) DW_AT_external : 1 DW_AT_name : __umoddi3 DW_AT_decl_file : 1 DW_AT_decl_line : 1105 DW_AT_prototyped : 1 DW_AT_type : DW_AT_low_pc : 0x805f7b0 DW_AT_high_pc : 0x805f956 DW_AT_frame_base : 1 byte block: 55 (DW_OP_reg5) <2><10db>: Abbrev Number: 26 (DW_TAG_formal_parameter) DW_AT_name : u DW_AT_decl_file : 1 DW_AT_decl_line : 1104 DW_AT_type : DW_AT_location : 652 (location list) <2><10e9>: Abbrev Number: 26 (DW_TAG_formal_parameter) DW_AT_name : v DW_AT_decl_file : 1 DW_AT_decl_line : 1104 DW_AT_type : DW_AT_location : 928 (location list) <2><10f7>: Abbrev Number: 21 (DW_TAG_variable) DW_AT_name : w DW_AT_decl_file : 1 DW_AT_decl_line : 1106 DW_AT_type : <2><1101>: Abbrev Number: 27 (DW_TAG_inlined_subroutine) DW_AT_sibling : <1188> DW_AT_abstract_origin: DW_AT_low_pc : 0x805f7c4 DW_AT_high_pc : 0x805f7fc <3><1112>: Abbrev Number: 28 (DW_TAG_formal_parameter) DW_AT_abstract_origin: <3><1117>: Abbrev Number: 28 (DW_TAG_formal_parameter) DW_AT_abstract_origin: <3><111c>: Abbrev Number: 28 (DW_TAG_formal_parameter) DW_AT_abstract_origin: <3><1121>: Abbrev Number: 29 (DW_TAG_lexical_block) DW_AT_ranges : 80 <4><1126>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <4><112b>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <1000> <4><1130>: Abbrev Number: 31 (DW_TAG_variable) DW_AT_abstract_origin: <100b> DW_AT_location : 2 byte block: 75 48 (DW_OP_breg5: -56) <4><1138>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <1016> DW_AT_location : 1208 (location list) <4><1141>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <1021> DW_AT_location : 1271 (location list) <4><114a>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <102c> DW_AT_location : 1303 (location list) <4><1153>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <1037> DW_AT_location : 1368 (location list) <4><115c>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <1042> <4><1161>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <104d> DW_AT_location : 1422 (location list) <4><116a>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <1058> DW_AT_location : 1485 (location list) <4><1173>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <1063> <4><1178>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <106d> DW_AT_location : 1504 (location list) <4><1181>: Abbrev Number: 30 (DW_TAG_variable) DW_AT_abstract_origin: <1078> <2><1188>: Abbrev Number: 33 (DW_TAG_lexical_block) DW_AT_sibling : <119f> DW_AT_low_pc : 0x805f830 DW_AT_high_pc : 0x805f834 <3><1195>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <1088> DW_AT_location : 1536 (location list) <2><119f>: Abbrev Number: 29 (DW_TAG_lexical_block) DW_AT_ranges : 128 <3><11a4>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <109a> DW_AT_location : 1566 (location list) <3><11ad>: Abbrev Number: 32 (DW_TAG_variable) DW_AT_abstract_origin: <10a5> DW_AT_location : 1607 (location list) Jim Parker -----Original Message----- From: Wu Zhou [mailto:woodzltc@cn.ibm.com] Sent: Wednesday, July 06, 2005 3:18 AM To: Parker James E Contr AFRL/HEDR Cc: 'gdb@sources.redhat.com' Subject: Re: gdb and Fortran90 arrays On Fri, 1 Jul 2005, Parker James E Contr AFRL/HEDR wrote: > Hello, > I was wondering if anyone could help me decipher the output from gdb > when debugging Fortran90 code. Since gdb doesn't currently support > Fortran90, it defaults to a language format called "minimal", which is > fine for most uses, but for arrays the output is cryptic for me. Hi Parker, I guess that you are not using g77, because g77 don't recognize this kind of array definition. I also assume that you are not using gfortran. Because gdb works ok with gfortran on this kind of array definition on my Fedora Core 4. So would you please tell me what your compiler is, ifc, g95 or any others? If you could give me the output of "readelf -wi yourcase", that would be of great help. Maybe I could code a patch to make gdb recognize your compiler. > > Example > define an array > > real(KIND(1.0D0)), dimension(6)::x > > If I wanted to examine x(2), I normally (fortran 77) would use > (gdb) p x(2) > > But under the minimal language setting, gdb interprets parenthesis as a > function call--that of course doesn't exist--and therefore gdb complains > with an error. I tried using [ ] to replace the parentheses, but gdb > correctly replies that operator [] is undefined. > > The best result I have is at a gdb prompt type > (gdb) p x > > And you get a list that contains an offset, ecode, base and info. Can > anyone tell me what these things are? Ecode seems to represent the size of > each element in the array, but that's just a guess. The rest is some sort > of memory pointer, but I can't decipher it. I am more convinced that you are using a different compiler than g77 and gfortran. It seems to me that your compiler outputs some weird information gdb can't interpret. Maybe it is your compiler that need to be changed. Just my guess anyway. The debuginfo is very helpful to confirm or deny this. - Wu Zhou