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]

-file-list-exec-source-files implementation


Hi,

I am working on implementing the -file-list-exec-source-files command
for the MI interface. I wanted to make sure the community liked my ideas
before I really got into it. I looked at sources_info in symtab.c to
find out how to implement the MI call. The only change I think would be
nice over the CLI interface is if the MI command gave the fullpath along 
with the regular path that 'info sources' currently outputs.

I currently have come up with 3 possibilities and wonder what's best.

1. I could make -file-list-exec-source-files always return the fullpath.

2. I could make -file-list-exec-source-files return the fullpath of
each file if a parameter was passed to the function.

The obvious question with these 2 option's is if finding the fullpath
for each file is to costly of an operation to put upon each user of this
function.

3. The other option is to do it the way the CLI does it. It makes the user
do the 'info sources' to find the file of interest. And then do 'list
foo.c:1' and then 'info source'. After that, the CLI outputs the
absolute path to the file foo.c. I could make the user do
'-file-list-exec-source-files' to get the relative paths. Then the user
could do '-file-list-exec-source-file foo.c' to get the absolute path to
that file.

I prefer the first alternative if it is possible to look up the fullpath
to all of the file's that the exe is made up of. This must be scalable
for even the largest executable's that GDB supports.
Does this sound reasonable? I don't really know how costly the operation 
of looking up the fullpath to a file is in GDB. If it is not reasonable,
the third alternative will be the best way to go.

Any suggestions?

Thanks,
Bob Rossi


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