This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: [MI] -file-list-exec-source-files
I have decided on an interface. Please respond to let me know if this is
acceptable, and I will implement it. (Although I already have most of it
implemented)
1. -file-list-exec-source-file
This will remain the same. It only tells the front end the current
filename,fullname and line number.
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, ...
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.
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.
Thanks,
Bob Rossi