This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: gdb and Fortran90 arrays


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><b>: 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]