RE: gdb and Fortran90 arrays

Wu Zhou
2005-07-09T03:29:22Z

Hi Parker,

I had a fast look at you dwarf output. It doesn't conform to the DWARF
standard, (which is the most commonly used debugging standard in the Linux
world.) especially in the debuginfo on the array "guess" and "z". So it
might better to post your question to g95 mail-list for a solution.
However I will take some more time to see why GDB didn't think your code
are written in fortran. Maybe it is related the following text:

<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!)

I need to see how GDB guess the language of the binary.

On Wed, 6 Jul 2005, Parker James E Contr AFRL/HEDR wrote:

> 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><ab>: 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><b8>: 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><c1>: 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><d3>: 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><df>: 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><f4>: 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 : <a6f>
> 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><a03>: Abbrev Number: 28 (DW_TAG_formal_parameter)
> DW_AT_abstract_origin: <8c7>
> <3><a08>: Abbrev Number: 29 (DW_TAG_lexical_block)
> DW_AT_ranges : 0
> <4><a0d>: Abbrev Number: 30 (DW_TAG_variable)
> DW_AT_abstract_origin: <8e6>
> <4><a12>: Abbrev Number: 30 (DW_TAG_variable)
> DW_AT_abstract_origin: <8f1>
> <4><a17>: Abbrev Number: 30 (DW_TAG_variable)
> DW_AT_abstract_origin: <8fc>
> <4><a1c>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <907>
> DW_AT_location : 93 (location list)
> <4><a25>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <912>
> DW_AT_location : 189 (location list)
> <4><a2e>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <91d>
> DW_AT_location : 287 (location list)
> <4><a37>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <928>
> DW_AT_location : 351 (location list)
> <4><a40>: Abbrev Number: 30 (DW_TAG_variable)
> DW_AT_abstract_origin: <933>
> <4><a45>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <93e>
> DW_AT_location : 406 (location list)
> <4><a4e>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <949>
> DW_AT_location : 469 (location list)
> <4><a57>: Abbrev Number: 30 (DW_TAG_variable)
> DW_AT_abstract_origin: <954>
> <4><a5c>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <95e>
> DW_AT_location : 532 (location list)
> <4><a65>: Abbrev Number: 32 (DW_TAG_variable)
> DW_AT_abstract_origin: <969>
> DW_AT_location : 2 byte block: 75 60 (DW_OP_breg5: -32)
> <2><a6f>: Abbrev Number: 33 (DW_TAG_lexical_block)
> DW_AT_sibling : <a86>
> DW_AT_low_pc : 0x805f69d
> DW_AT_high_pc : 0x805f6a0
> <3><a7c>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <979>
> DW_AT_location : 573 (location list)
> <2><a86>: Abbrev Number: 29 (DW_TAG_lexical_block)
> DW_AT_ranges : 56
> <3><a8b>: Abbrev Number: 31 (DW_TAG_variable)
> DW_AT_abstract_origin: <98b>
> DW_AT_location : 603 (location list)
> <3><a94>: 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><aab>: 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><b10>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : int
> DW_AT_byte_size : 4
> DW_AT_encoding : 5 (signed)
> <1><b17>: 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><b1e>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : long int
> DW_AT_byte_size : 4
> DW_AT_encoding : 5 (signed)
> <1><b2a>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : char
> DW_AT_byte_size : 1
> DW_AT_encoding : 6 (signed char)
> <1><b32>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : unsigned char
> DW_AT_byte_size : 1
> DW_AT_encoding : 8 (unsigned char)
> <1><b43>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : short unsigned int
> DW_AT_byte_size : 2
> DW_AT_encoding : 7 (unsigned)
> <1><b59>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : long unsigned int
> DW_AT_byte_size : 4
> DW_AT_encoding : 7 (unsigned)
> <1><b6e>: 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><b88>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : __quad_t
> DW_AT_decl_file : 4
> DW_AT_decl_line : 38
> DW_AT_type : <b98>
> <1><b98>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : long long int
> DW_AT_byte_size : 8
> DW_AT_encoding : 5 (signed)
> <1><ba9>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : signed char
> DW_AT_byte_size : 1
> DW_AT_encoding : 6 (signed char)
> <1><bb8>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : short int
> DW_AT_byte_size : 2
> DW_AT_encoding : 5 (signed)
> <1><bc5>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : __off_t
> DW_AT_decl_file : 4
> DW_AT_decl_line : 67
> DW_AT_type : <b1e>
> <1><bd4>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : __loff_t
> DW_AT_decl_file : 4
> DW_AT_decl_line : 68
> DW_AT_type : <b88>
> <1><be4>: 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><beb>: Abbrev Number: 5 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> DW_AT_type : <b2a>
> <1><bf1>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : __off64_t
> DW_AT_decl_file : 4
> DW_AT_decl_line : 128
> DW_AT_type : <bd4>
> <1><c02>: Abbrev Number: 6 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> <1><c04>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : FILE
> DW_AT_decl_file : 2
> DW_AT_decl_line : 45
> DW_AT_type : <c10>
> <1><c10>: Abbrev Number: 7 (DW_TAG_structure_type)
> DW_AT_sibling : <e56>
> 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><c1c>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _flags
> DW_AT_decl_file : 3
> DW_AT_decl_line : 262
> DW_AT_type : <b10>
> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst:
> 0)
> <2><c2e>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst:
> 4)
> <2><c46>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst:
> 8)
> <2><c5e>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst:
> 12)
> <2><c77>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst:
> 16)
> <2><c91>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst:
> 20)
> <2><caa>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst:
> 24)
> <2><cc3>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst:
> 28)
> <2><cdb>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst:
> 32)
> <2><cf2>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst:
> 36)
> <2><d0b>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst:
> 40)
> <2><d26>: 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 : <beb>
> DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst:
> 44)
> <2><d3e>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _markers
> DW_AT_decl_file : 3
> DW_AT_decl_line : 280
> DW_AT_type : <ea7>
> DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst:
> 48)
> <2><d52>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _chain
> DW_AT_decl_file : 3
> DW_AT_decl_line : 282
> DW_AT_type : <ead>
> DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst:
> 52)
> <2><d64>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _fileno
> DW_AT_decl_file : 3
> DW_AT_decl_line : 284
> DW_AT_type : <b10>
> DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst:
> 56)
> <2><d77>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _blksize
> DW_AT_decl_file : 3
> DW_AT_decl_line : 285
> DW_AT_type : <b10>
> DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst:
> 60)
> <2><d8b>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _old_offset
> DW_AT_decl_file : 3
> DW_AT_decl_line : 286
> DW_AT_type : <bc5>
> DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst:
> 64)
> <2><da2>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _cur_column
> DW_AT_decl_file : 3
> DW_AT_decl_line : 290
> DW_AT_type : <b43>
> DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst:
> 68)
> <2><db9>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _vtable_offset
> DW_AT_decl_file : 3
> DW_AT_decl_line : 291
> DW_AT_type : <ba9>
> DW_AT_data_member_location: 2 byte block: 23 46 (DW_OP_plus_uconst:
> 70)
> <2><dd3>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _shortbuf
> DW_AT_decl_file : 3
> DW_AT_decl_line : 292
> DW_AT_type : <eb3>
> DW_AT_data_member_location: 2 byte block: 23 47 (DW_OP_plus_uconst:
> 71)
> <2><de8>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _lock
> DW_AT_decl_file : 3
> DW_AT_decl_line : 296
> DW_AT_type : <ec3>
> DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst:
> 72)
> <2><df9>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _offset
> DW_AT_decl_file : 3
> DW_AT_decl_line : 305
> DW_AT_type : <bf1>
> DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst:
> 76)
> <2><e0c>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : __pad1
> DW_AT_decl_file : 3
> DW_AT_decl_line : 311
> DW_AT_type : <c02>
> DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst:
> 84)
> <2><e1e>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : __pad2
> DW_AT_decl_file : 3
> DW_AT_decl_line : 312
> DW_AT_type : <c02>
> DW_AT_data_member_location: 2 byte block: 23 58 (DW_OP_plus_uconst:
> 88)
> <2><e30>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _mode
> DW_AT_decl_file : 3
> DW_AT_decl_line : 314
> DW_AT_type : <b10>
> DW_AT_data_member_location: 2 byte block: 23 5c (DW_OP_plus_uconst:
> 92)
> <2><e41>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : _unused2
> DW_AT_decl_file : 3
> DW_AT_decl_line : 316
> DW_AT_type : <ec9>
> DW_AT_data_member_location: 2 byte block: 23 60 (DW_OP_plus_uconst:
> 96)
> <1><e56>: Abbrev Number: 9 (DW_TAG_typedef)
> DW_AT_name : _IO_lock_t
> DW_AT_decl_file : 3
> DW_AT_decl_line : 170
> <1><e64>: Abbrev Number: 10 (DW_TAG_structure_type)
> DW_AT_sibling : <ea7>
> DW_AT_name : _IO_marker
> DW_AT_byte_size : 12
> DW_AT_decl_file : 3
> DW_AT_decl_line : 176
> <2><e77>: Abbrev Number: 11 (DW_TAG_member)
> DW_AT_name : _next
> DW_AT_decl_file : 3
> DW_AT_decl_line : 177
> DW_AT_type : <ea7>
> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst:
> 0)
> <2><e87>: Abbrev Number: 11 (DW_TAG_member)
> DW_AT_name : _sbuf
> DW_AT_decl_file : 3
> DW_AT_decl_line : 178
> DW_AT_type : <ead>
> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst:
> 4)
> <2><e97>: Abbrev Number: 11 (DW_TAG_member)
> DW_AT_name : _pos
> DW_AT_decl_file : 3
> DW_AT_decl_line : 182
> DW_AT_type : <b10>
> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst:
> 8)
> <1><ea7>: Abbrev Number: 5 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> DW_AT_type : <e64>
> <1><ead>: Abbrev Number: 5 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> DW_AT_type : <c10>
> <1><eb3>: Abbrev Number: 12 (DW_TAG_array_type)
> DW_AT_sibling : <ec3>
> DW_AT_type : <b2a>
> <2><ebc>: Abbrev Number: 13 (DW_TAG_subrange_type)
> DW_AT_type : <be4>
> DW_AT_upper_bound : 0
> <1><ec3>: Abbrev Number: 5 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> DW_AT_type : <e56>
> <1><ec9>: Abbrev Number: 12 (DW_TAG_array_type)
> DW_AT_sibling : <ed9>
> DW_AT_type : <b2a>
> <2><ed2>: Abbrev Number: 13 (DW_TAG_subrange_type)
> DW_AT_type : <be4>
> DW_AT_upper_bound : 51
> <1><ed9>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : SItype
> DW_AT_decl_file : 5
> DW_AT_decl_line : 77
> DW_AT_type : <b10>
> <1><ee7>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : USItype
> DW_AT_decl_file : 5
> DW_AT_decl_line : 78
> DW_AT_type : <b17>
> <1><ef6>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : DItype
> DW_AT_decl_file : 5
> DW_AT_decl_line : 81
> DW_AT_type : <b98>
> <1><f04>: Abbrev Number: 4 (DW_TAG_typedef)
> DW_AT_name : UDItype
> DW_AT_decl_file : 5
> DW_AT_decl_line : 82
> DW_AT_type : <b6e>
> <1><f13>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : float
> DW_AT_byte_size : 4
> DW_AT_encoding : 4 (float)
> <1><f1c>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : double
> DW_AT_byte_size : 8
> DW_AT_encoding : 4 (float)
> <1><f26>: Abbrev Number: 2 (DW_TAG_base_type)
> DW_AT_name : long double
> DW_AT_byte_size : 12
> DW_AT_encoding : 4 (float)
> <1><f35>: Abbrev Number: 14 (DW_TAG_structure_type)
> DW_AT_sibling : <f67>
> DW_AT_name : DWstruct
> DW_AT_byte_size : 8
> DW_AT_decl_file : 5
> DW_AT_decl_line : 329
> <2><f47>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : low
> DW_AT_decl_file : 5
> DW_AT_decl_line : 329
> DW_AT_type : <ed9>
> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst:
> 0)
> <2><f56>: Abbrev Number: 8 (DW_TAG_member)
> DW_AT_name : high
> DW_AT_decl_file : 5
> DW_AT_decl_line : 329
> DW_AT_type : <ed9>
> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst:
> 4)
> <1><f67>: Abbrev Number: 15 (DW_TAG_union_type)
> DW_AT_sibling : <f86>
> DW_AT_byte_size : 8
> DW_AT_decl_file : 5
> DW_AT_decl_line : 340
> <2><f70>: Abbrev Number: 16 (DW_TAG_member)
> DW_AT_name : s
> DW_AT_decl_file : 5
> DW_AT_decl_line : 338
> DW_AT_type : <f35>
> <2><f7a>: Abbrev Number: 16 (DW_TAG_member)
> DW_AT_name : ll
> DW_AT_decl_file : 5
> DW_AT_decl_line : 339
> DW_AT_type : <ef6>
> <1><f86>: Abbrev Number: 17 (DW_TAG_typedef)
> DW_AT_name : DWunion
> DW_AT_decl_file : 5
> DW_AT_decl_line : 340
> DW_AT_type : <f67>
> <1><f96>: Abbrev Number: 18 (DW_TAG_variable)
> DW_AT_name : stdin
> DW_AT_decl_file : 2
> DW_AT_decl_line : 133
> DW_AT_type : <fa5>
> DW_AT_external : 1
> DW_AT_declaration : 1
> <1><fa5>: Abbrev Number: 5 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> DW_AT_type : <c04>
> <1><fab>: Abbrev Number: 18 (DW_TAG_variable)
> DW_AT_name : stdout
> DW_AT_decl_file : 2
> DW_AT_decl_line : 134
> DW_AT_type : <fa5>
> DW_AT_external : 1
> DW_AT_declaration : 1
> <1><fbb>: 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 : <f04>
> DW_AT_inline : 3 (declared as inline and inlined)
> <2><fd6>: Abbrev Number: 20 (DW_TAG_formal_parameter)
> DW_AT_name : n
> DW_AT_decl_file : 1
> DW_AT_decl_line : 842
> DW_AT_type : <f04>
> <2><fe0>: Abbrev Number: 20 (DW_TAG_formal_parameter)
> DW_AT_name : d
> DW_AT_decl_file : 1
> DW_AT_decl_line : 842
> DW_AT_type : <f04>
> <2><fea>: 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><ff5>: 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 : <f86>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <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 : <ee7>
> <1><10b2>: Abbrev Number: 5 (DW_TAG_pointer_type)
> DW_AT_byte_size : 4
> DW_AT_type : <f04>
> <1><10b8>: Abbrev Number: 24 (DW_TAG_const_type)
> DW_AT_type : <f86>
> <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 : <f04>
> 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 : <f04>
> 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 : <f04>
> 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 : <f04>
> <2><1101>: Abbrev Number: 27 (DW_TAG_inlined_subroutine)
> DW_AT_sibling : <1188>
> DW_AT_abstract_origin: <fbb>
> DW_AT_low_pc : 0x805f7c4
> DW_AT_high_pc : 0x805f7fc
> <3><1112>: Abbrev Number: 28 (DW_TAG_formal_parameter)
> DW_AT_abstract_origin: <fea>
> <3><1117>: Abbrev Number: 28 (DW_TAG_formal_parameter)
> DW_AT_abstract_origin: <fe0>
> <3><111c>: Abbrev Number: 28 (DW_TAG_formal_parameter)
> DW_AT_abstract_origin: <fd6>
> <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: <ff5>
> <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
>
>