HELP: Debugger Symbol Tables of SUN's F90 compiler

wismuell@informatik.tu-muenchen.de (Roland Wismueller)
15 May 1998 22:40:29 -0400

          From comp.compilers

Related articles
HELP: Debugger Symbol Tables of SUN's F90 compiler wismuell@informatik.tu-muenchen.de (1998-05-15)
| List of all articles for this month |

From: wismuell@informatik.tu-muenchen.de (Roland Wismueller)
Newsgroups: comp.compilers
Date: 15 May 1998 22:40:29 -0400
Organization: Technische Universitaet Muenchen, Germany
Keywords: debug, question, Fortran

Dear All,


I am involved in a project done together with the University of
Vienna, where we have to build a debugger for the Vienna HPF+
Compilation System. This compiler translates a HPF+ program into a
parallel FORTRAN90 program using MPI for communication. The F90
program then is translated using SUN's F90 compiler for Sparc Solaris
(more exactly: f90 -V says 'f90: SC4.0 11 Sep 1995 FORTRAN 90 1.1'.
Now, for implementing the debugger, we have to read the debugging
symbol table generated by the compiler.


I have experience in writing debuggers, and we already have a symbol
table reader that is able to read most UNIX formats, so I don't need
general information. But the SUN F90 compiler shows an unusual
behaviour, when it compiles and links more than one F90 file. In this
case, the debugging symbols are not stored in the executable file, but
rather only in the object files. I can read the symbols from each
object file, but there are (at least) two remaining problems:


  * In the executable file, there must be some link to the object files
    (actually,
      the full path names are stored in the string table). The question is how to
      find and access this information in the executable file.


  * The addresses of static symbols (i.e. most Fortran variables) that
      are stored
      in the object file are relative to the beginning this file's data segment.
      However, the linker will combine the data segments of all object files, so
      I will need to add an offset to these addresses. So there must be some
      information in the executable file telling the debugger the segment offsets
      for each object file. But where/how is this information stored?


I would greatly appreciate any hints that could help me!!


Many Thanks,


Roland Wismueller


------------------------------------------------------------------------------
          Dr. Roland Wismueller Office: S 2031
LRR-TUM, Institut fuer Informatik Phone: +49-89-289-28243 Fax: ...-28232
Technische Universitaet Muenchen email: wismuell@in.tum.de
        D-80290 Muenchen, Germany WWW: http://www.in.tum.de/~wismuell
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.