public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Another Fortran problem...
@ 2007-10-26 10:39 François-Xavier Coudert
  2007-10-26 12:03 ` Daniel Jacobowitz
  2007-10-26 13:05 ` François-Xavier Coudert
  0 siblings, 2 replies; 6+ messages in thread
From: François-Xavier Coudert @ 2007-10-26 10:39 UTC (permalink / raw)
  To: gdb

[-- Attachment #1: Type: text/plain, Size: 1614 bytes --]

Hi all,

I take as an example a Fortran source file containing en empty
subroutine and an empty program:

$ cat a.f90
  subroutine foo
  end subroutine foo
  program bar
  end

When I compile it with gfortran and load it into gdb, I can't set
breakpoints on "foo", but only on "foo_" (which is the mangled name).
I was looking into why gfortran doesn't emit the necessary debug info,
but I think it actually does. The relevant output from readelf says:

 <1><19c>: Abbrev Number: 2 (DW_TAG_subprogram)
     DW_AT_external    : 1
     DW_AT_name        : foo
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 1
     DW_AT_MIPS_linkage_name: foo_
     DW_AT_low_pc      : 0x4005fc
     DW_AT_high_pc     : 0x400602
     DW_AT_frame_base  : 0      (location list)

Now, what I don't understand is when I compile it with the Intel
compiler, it's possible to set breakpoints on "foo" as well as "foo_",
even though the debug info seems similar:

 <1><187>: Abbrev Number: 3 (DW_TAG_subprogram)
     DW_AT_decl_line   : 1
     DW_AT_decl_column : 12
     DW_AT_decl_file   : 1
     DW_AT_inline      : 0      (not inlined)
     DW_AT_accessibility: 1     (public)
     DW_AT_type        : <17f>
     DW_AT_prototyped  : 0
     DW_AT_name        : foo
     DW_AT_low_pc      : 0x4028f0
     DW_AT_high_pc     : 0x4028f6
     DW_AT_external    : 1

Is "DW_AT_MIPS_linkage_name: foo_" the reason for this difference?
Should DW_AT_MIPS_linkage_name actually be emitted or is this wrong?

Thanks for your help,
FX

PS: please find attached the complete readelf output for both
compilers, I case more information is needed.

[-- Attachment #2: gfortran.txt --]
[-- Type: text/plain, Size: 18019 bytes --]

The section .debug_info contains:

  Compilation Unit @ offset 0x0:
   Length:        127
   Version:       2
   Abbrev Offset: 0
   Pointer Size:  8
 <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_stmt_list   : 0	
     DW_AT_low_pc      : 0x400510	
     DW_AT_high_pc     : 0x40053b	
     DW_AT_name        : ../sysdeps/x86_64/elf/start.S	
     DW_AT_comp_dir    : /tmp/buildd/glibc-2.3.6.ds1/build-tree/glibc-2.3.6/csu	
     DW_AT_producer    : GNU AS 2.17	
     DW_AT_language    : 32769	(MIPS assembler)
  Compilation Unit @ offset 0x83:
   Length:        142
   Version:       2
   Abbrev Offset: 21
   Pointer Size:  8
 <0><8e>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_stmt_list   : 0x7e	
     DW_AT_name        : /tmp/buildd/glibc-2.3.6.ds1/build-tree/amd64-libc/csu/crti.S	
     DW_AT_comp_dir    : /tmp/buildd/glibc-2.3.6.ds1/build-tree/glibc-2.3.6/csu	
     DW_AT_producer    : GNU AS 2.17	
     DW_AT_language    : 32769	(MIPS assembler)
  Compilation Unit @ offset 0x115:
   Length:        197
   Version:       2
   Abbrev Offset: 37
   Pointer Size:  8
 <0><120>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_producer    : GNU F95 4.3.0 20071018 (experimental) [trunk revision 129463]	
     DW_AT_language    : 14	(Fortran 95)
     DW_AT_name        : z.f90	
     DW_AT_comp_dir    : /home/fxcoudert/devel/debug2/irun	
     DW_AT_low_pc      : 0x4005fc	
     DW_AT_high_pc     : 0x400617	
     DW_AT_stmt_list   : 0x11b	
 <1><19c>: Abbrev Number: 2 (DW_TAG_subprogram)
     DW_AT_external    : 1	
     DW_AT_name        : foo	
     DW_AT_decl_file   : 1	
     DW_AT_decl_line   : 1	
     DW_AT_MIPS_linkage_name: foo_	
     DW_AT_low_pc      : 0x4005fc	
     DW_AT_high_pc     : 0x400602	
     DW_AT_frame_base  : 0	(location list)
 <1><1bd>: Abbrev Number: 3 (DW_TAG_subprogram)
     DW_AT_external    : 1	
     DW_AT_name        : MAIN__	
     DW_AT_decl_file   : 1	
     DW_AT_decl_line   : 4	
     DW_AT_low_pc      : 0x400602	
     DW_AT_high_pc     : 0x400617	
     DW_AT_frame_base  : 0x4c	(location list)
     DW_AT_calling_convention: 2	(program)
  Compilation Unit @ offset 0x1de:
   Length:        773
   Version:       2
   Abbrev Offset: 100
   Pointer Size:  8
 <0><1e9>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_producer    : (indirect string, offset: 0x3a): GNU C 4.3.0 20071018 (experimental) [trunk revision 129463]	
     DW_AT_language    : 1	(ANSI C)
     DW_AT_name        : (indirect string, offset: 0x76): ../../../../trunk2/libgfortran/fmain.c	
     DW_AT_comp_dir    : (indirect string, offset: 0x220): /home/fxcoudert/devel/debug2/ibin/x86_64-unknown-linux-gnu/libgfortran	
     DW_AT_low_pc      : 0x400620	
     DW_AT_high_pc     : 0x40065d	
     DW_AT_stmt_list   : 0x154	
 <1><20b>: Abbrev Number: 2 (DW_TAG_typedef)
     DW_AT_name        : (indirect string, offset: 0x1f): size_t	
     DW_AT_decl_file   : 3	
     DW_AT_decl_line   : 214	
     DW_AT_type        : <216>	
 <1><216>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 7	(unsigned)
     DW_AT_name        : (indirect string, offset: 0x196): long unsigned int	
 <1><21d>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 1	
     DW_AT_encoding    : 8	(unsigned char)
     DW_AT_name        : (indirect string, offset: 0x124): unsigned char	
 <1><224>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 2	
     DW_AT_encoding    : 7	(unsigned)
     DW_AT_name        : (indirect string, offset: 0xf1): short unsigned int	
 <1><22b>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 4	
     DW_AT_encoding    : 7	(unsigned)
     DW_AT_name        : (indirect string, offset: 0x19b): unsigned int	
 <1><232>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 1	
     DW_AT_encoding    : 6	(signed char)
     DW_AT_name        : (indirect string, offset: 0x126): signed char	
 <1><239>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 2	
     DW_AT_encoding    : 5	(signed)
     DW_AT_name        : (indirect string, offset: 0x132): short int	
 <1><240>: Abbrev Number: 4 (DW_TAG_base_type)
     DW_AT_byte_size   : 4	
     DW_AT_encoding    : 5	(signed)
     DW_AT_name        : int	
 <1><247>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 5	(signed)
     DW_AT_name        : (indirect string, offset: 0x211): long int	
 <1><24e>: Abbrev Number: 5 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 7	(unsigned)
 <1><251>: Abbrev Number: 6 (DW_TAG_pointer_type)
     DW_AT_byte_size   : 8	
     DW_AT_type        : <257>	
 <1><257>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 1	
     DW_AT_encoding    : 6	(signed char)
     DW_AT_name        : (indirect string, offset: 0x12d): char	
 <1><25e>: Abbrev Number: 6 (DW_TAG_pointer_type)
     DW_AT_byte_size   : 8	
     DW_AT_type        : <264>	
 <1><264>: Abbrev Number: 7 (DW_TAG_const_type)
     DW_AT_type        : <257>	
 <1><269>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 4	
     DW_AT_encoding    : 4	(float)
     DW_AT_name        : (indirect string, offset: 0x1d9): float	
 <1><270>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 4	(float)
     DW_AT_name        : (indirect string, offset: 0x15e): double	
 <1><277>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 7	(unsigned)
     DW_AT_name        : (indirect string, offset: 0x191): long long unsigned int	
 <1><27e>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 5	(signed)
     DW_AT_name        : (indirect string, offset: 0x20c): long long int	
 <1><285>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 16	
     DW_AT_encoding    : 5	(signed)
     DW_AT_name        : (indirect string, offset: 0x16a): __int128_t	
 <1><28c>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 16	
     DW_AT_encoding    : 7	(unsigned)
     DW_AT_name        : (indirect string, offset: 0x1a8): __uint128_t	
 <1><293>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 8	
     DW_AT_encoding    : 3	(complex float)
     DW_AT_name        : (indirect string, offset: 0x1d1): complex float	
 <1><29a>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 16	
     DW_AT_encoding    : 3	(complex float)
     DW_AT_name        : (indirect string, offset: 0x27f): complex double	
 <1><2a1>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 16	
     DW_AT_encoding    : 4	(float)
     DW_AT_name        : (indirect string, offset: 0x159): long double	
 <1><2a8>: Abbrev Number: 3 (DW_TAG_base_type)
     DW_AT_byte_size   : 32	
     DW_AT_encoding    : 3	(complex float)
     DW_AT_name        : (indirect string, offset: 0x151): complex long double	
 <1><2af>: Abbrev Number: 8 (DW_TAG_structure_type)
     DW_AT_byte_size   : 64	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 318	
     DW_AT_sibling     : <38b>	
 <2><2b8>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x0): stdin_unit	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 319	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><2c7>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x2bb): stdout_unit	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 319	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><2d6>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x2af): stderr_unit	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 319	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><2e5>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x1b4): optional_plus	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 319	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
 <2><2f4>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x21a): locus	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 320	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
 <2><303>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x267): separator_len	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 322	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
 <2><312>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x275): separator	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 323	
     DW_AT_type        : <25e>	
     DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
 <2><321>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x2cf): use_stderr	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 325	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
 <2><330>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x1c2): all_unbuffered	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 325	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
 <2><33f>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x1df): unbuffered_preconnected	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 325	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
 <2><34e>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x104): default_recl	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 325	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
 <2><35d>: Abbrev Number: 10 (DW_TAG_member)
     DW_AT_name        : fpe	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 326	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
 <2><36c>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x26): dump_core	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 326	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
 <2><37b>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x30): backtrace	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 326	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
 <1><38b>: Abbrev Number: 11 (DW_TAG_typedef)
     DW_AT_name        : (indirect string, offset: 0x17d): options_t	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 328	
     DW_AT_type        : <2af>	
 <1><397>: Abbrev Number: 8 (DW_TAG_structure_type)
     DW_AT_byte_size   : 48	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 340	
     DW_AT_sibling     : <437>	
 <2><3a0>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x11b): warn_std	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 341	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><3af>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x187): allow_std	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 342	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><3be>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0xe8): pedantic	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 343	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><3cd>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x2c7): convert	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 344	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
 <2><3dc>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x26): dump_core	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 345	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
 <2><3eb>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x30): backtrace	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 346	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
 <2><3fa>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x111): sign_zero	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 347	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
 <2><409>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x9d): record_marker	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 348	
     DW_AT_type        : <20b>	
     DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
 <2><418>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x13c): max_subrecord_length	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 349	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
 <2><427>: Abbrev Number: 9 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0xbf): bounds_check	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 350	
     DW_AT_type        : <240>	
     DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
 <1><437>: Abbrev Number: 11 (DW_TAG_typedef)
     DW_AT_name        : (indirect string, offset: 0x175): compile_options_t	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 352	
     DW_AT_type        : <397>	
 <1><443>: Abbrev Number: 12 (DW_TAG_subprogram)
     DW_AT_external    : 1	
     DW_AT_name        : (indirect string, offset: 0x165): main	
     DW_AT_decl_file   : 1	
     DW_AT_decl_line   : 11	
     DW_AT_prototyped  : 1	
     DW_AT_type        : <240>	
     DW_AT_low_pc      : 0x400620	
     DW_AT_high_pc     : 0x40065d	
     DW_AT_frame_base  : 0x98	(location list)
     DW_AT_sibling     : <487>	
 <2><468>: Abbrev Number: 13 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x1f7): argc	
     DW_AT_decl_file   : 1	
     DW_AT_decl_line   : 10	
     DW_AT_type        : <240>	
     DW_AT_location    : 0xd0	(location list)
 <2><477>: Abbrev Number: 13 (DW_TAG_formal_parameter)
     DW_AT_name        : (indirect string, offset: 0x28e): argv	
     DW_AT_decl_file   : 1	
     DW_AT_decl_line   : 10	
     DW_AT_type        : <487>	
     DW_AT_location    : 0x106	(location list)
 <1><487>: Abbrev Number: 6 (DW_TAG_pointer_type)
     DW_AT_byte_size   : 8	
     DW_AT_type        : <251>	
 <1><48d>: Abbrev Number: 14 (DW_TAG_variable)
     DW_AT_name        : (indirect string, offset: 0xd8): l8_to_l4_offset	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 234	
     DW_AT_MIPS_linkage_name: (indirect string, offset: 0xcc): *_gfortrani_l8_to_l4_offset	
     DW_AT_type        : <240>	
     DW_AT_external    : 1	
     DW_AT_declaration : 1	
 <1><49e>: Abbrev Number: 15 (DW_TAG_variable)
     DW_AT_name        : (indirect string, offset: 0x2a7): options	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 331	
     DW_AT_MIPS_linkage_name: (indirect string, offset: 0xb): *_gfortrani_options	
     DW_AT_type        : <38b>	
     DW_AT_external    : 1	
     DW_AT_declaration : 1	
 <1><4b0>: Abbrev Number: 15 (DW_TAG_variable)
     DW_AT_name        : (indirect string, offset: 0x29f): compile_options	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 355	
     DW_AT_MIPS_linkage_name: (indirect string, offset: 0x293): *_gfortrani_compile_options	
     DW_AT_type        : <437>	
     DW_AT_external    : 1	
     DW_AT_declaration : 1	
 <1><4c2>: Abbrev Number: 15 (DW_TAG_variable)
     DW_AT_name        : (indirect string, offset: 0x207): line	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 389	
     DW_AT_MIPS_linkage_name: (indirect string, offset: 0x1fc): *_gfortran_line	
     DW_AT_type        : <22b>	
     DW_AT_external    : 1	
     DW_AT_declaration : 1	
 <1><4d4>: Abbrev Number: 15 (DW_TAG_variable)
     DW_AT_name        : (indirect string, offset: 0xb6): filename	
     DW_AT_decl_file   : 2	
     DW_AT_decl_line   : 392	
     DW_AT_MIPS_linkage_name: (indirect string, offset: 0xab): *_gfortran_filename	
     DW_AT_type        : <251>	
     DW_AT_external    : 1	
     DW_AT_declaration : 1	
  Compilation Unit @ offset 0x4e7:
   Length:        142
   Version:       2
   Abbrev Offset: 316
   Pointer Size:  8
 <0><4f2>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_stmt_list   : 0x201	
     DW_AT_name        : /tmp/buildd/glibc-2.3.6.ds1/build-tree/amd64-libc/csu/crtn.S	
     DW_AT_comp_dir    : /tmp/buildd/glibc-2.3.6.ds1/build-tree/glibc-2.3.6/csu	
     DW_AT_producer    : GNU AS 2.17	
     DW_AT_language    : 32769	(MIPS assembler)


[-- Attachment #3: intel.txt --]
[-- Type: text/plain, Size: 2895 bytes --]

The section .debug_info contains:

  Compilation Unit @ offset 0x0:
   Length:        127
   Version:       2
   Abbrev Offset: 0
   Pointer Size:  8
 <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_stmt_list   : 0	
     DW_AT_low_pc      : 0x402800	
     DW_AT_high_pc     : 0x40282b	
     DW_AT_name        : ../sysdeps/x86_64/elf/start.S	
     DW_AT_comp_dir    : /tmp/buildd/glibc-2.3.6.ds1/build-tree/glibc-2.3.6/csu	
     DW_AT_producer    : GNU AS 2.17	
     DW_AT_language    : 32769	(MIPS assembler)
  Compilation Unit @ offset 0x83:
   Length:        142
   Version:       2
   Abbrev Offset: 21
   Pointer Size:  8
 <0><8e>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_stmt_list   : 0x7e	
     DW_AT_name        : /tmp/buildd/glibc-2.3.6.ds1/build-tree/amd64-libc/csu/crti.S	
     DW_AT_comp_dir    : /tmp/buildd/glibc-2.3.6.ds1/build-tree/glibc-2.3.6/csu	
     DW_AT_producer    : GNU AS 2.17	
     DW_AT_language    : 32769	(MIPS assembler)
  Compilation Unit @ offset 0x115:
   Length:        179
   Version:       2
   Abbrev Offset: 37
   Pointer Size:  8
 <0><120>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_comp_dir    : /home/fxcoudert/devel/debug2/irun	
     DW_AT_language    : 14	(Fortran 95)
     DW_AT_name        : z.f90	
     DW_AT_producer    : Intel (R) Fortran Compiler Fixes RangesRelative
	
     DW_AT_stmt_list   : 0x11b	
 <1><17f>: Abbrev Number: 2 (DW_TAG_base_type)
     DW_AT_byte_size   : 0	
     DW_AT_encoding    : 5	(signed)
     DW_AT_name        : void	
 <1><187>: Abbrev Number: 3 (DW_TAG_subprogram)
     DW_AT_decl_line   : 1	
     DW_AT_decl_column : 12	
     DW_AT_decl_file   : 1	
     DW_AT_inline      : 0	(not inlined)
     DW_AT_accessibility: 1	(public)
     DW_AT_type        : <17f>	
     DW_AT_prototyped  : 0	
     DW_AT_name        : foo	
     DW_AT_low_pc      : 0x4028f0	
     DW_AT_high_pc     : 0x4028f6	
     DW_AT_external    : 1	
 <1><1a7>: Abbrev Number: 4 (DW_TAG_subprogram)
     DW_AT_decl_line   : 4	
     DW_AT_decl_column : 9	
     DW_AT_decl_file   : 1	
     DW_AT_calling_convention: 2	(program)
     DW_AT_inline      : 0	(not inlined)
     DW_AT_accessibility: 1	(public)
     DW_AT_type        : <17f>	
     DW_AT_prototyped  : 0	
     DW_AT_name        : bar	
     DW_AT_low_pc      : 0x4028f6	
     DW_AT_high_pc     : 0x402910	
     DW_AT_external    : 1	
  Compilation Unit @ offset 0x1cc:
   Length:        142
   Version:       2
   Abbrev Offset: 120
   Pointer Size:  8
 <0><1d7>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_stmt_list   : 0x15f	
     DW_AT_name        : /tmp/buildd/glibc-2.3.6.ds1/build-tree/amd64-libc/csu/crtn.S	
     DW_AT_comp_dir    : /tmp/buildd/glibc-2.3.6.ds1/build-tree/glibc-2.3.6/csu	
     DW_AT_producer    : GNU AS 2.17	
     DW_AT_language    : 32769	(MIPS assembler)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-10-26 14:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-26 10:39 Another Fortran problem François-Xavier Coudert
2007-10-26 12:03 ` Daniel Jacobowitz
2007-10-26 13:05 ` François-Xavier Coudert
2007-10-26 13:14   ` Daniel Jacobowitz
2007-10-26 13:58     ` François-Xavier Coudert
2007-10-26 14:06       ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).