Another Fortran problem...

François-Xavier Coudert fxcoudert@gmail.com
Fri Oct 26 10:39:00 GMT 2007


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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gfortran.txt
URL: <http://sourceware.org/pipermail/gdb/attachments/20071026/77a126ef/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: intel.txt
URL: <http://sourceware.org/pipermail/gdb/attachments/20071026/77a126ef/attachment-0001.txt>


More information about the Gdb mailing list