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] |
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] |