This is the mail archive of the gdb@sourceware.org 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]

Another Fortran problem...


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: gfortran.txt
Description: Text document

Attachment: intel.txt
Description: Text document


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