This is the mail archive of the gdb@sources.redhat.com 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]

Re: [MI] -file-list-exec-source-files


On Tue, Feb 17, 2004 at 02:12:38PM -0500, Daniel Jacobowitz wrote:

On Tue, Feb 17, 2004 at 02:10:05PM -0500, Bob Rossi wrote:

> I have one last question that didn't get answered, could the psymtab be
> modified to contain the dirname?


Probably, but the dirname -> fullname conversion may be expensive - it involves a lot of stat() calls.


As a first cut, don't worry about performance (or more correctly scaleability). Just correctness (especially of the symtab interface).


2. -file-list-exec-fetch-fullname [filename]

This will be a new MI command.

   This will return a fullname given a filename.
   If the symtab is read in, it calls source.c:symtab_to_filename.
   If the symtab is not read in, it reads it in and calls the above
   function.

   This function is necessary because all of the other MI commands still
   output just the filename and not the fullname. For example, breakpoints,
   stack, ...

Er, isn't that a bug in the other commands?


3. -file-list-exec-source-files [force_fullnames]

This will implement an existing unimplemented MI command.

By default, this will return 1. filename for each psymtab, with no fullname
2. filename/fullname for each symtab


If the option "force_fullnames" is passed, it will have GDB convert all
of the psymtabs to symtabs, thus printing out the filename/fullname for all symtabs. The overhead of doing this is probably high, and
undesirable by default.


   If the front end wants to be more efficient, it could show the user the
   "filenames" and then do the "fullname" lookup just on that file. Thus,
   only reading in one symtab.

This specification is too heavily dependant on GDB's current underlying implementation - symtab and psymtab are internal details and do not belong in this interface specification.


I have one last question that didn't get answered, could the psymtab be
modified to contain the dirname? I was digging through this code, but it
seems a little hard core. Would it be difficult to just parse the
dirname out of the debug info? The reason I ask is because, if this is
possible, then I would no longer care about making the "force_fullname"
optional, I would just always do it, since the symtabs would not have to
be read, thus, taking away all of the overhead.  This would defiantly be
desirable.

Andrew




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