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]

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


On Fri, Jun 02, 2006 at 12:29:16PM +1200, Nick Roberts wrote:
> The command "-file-list-exec-source-files" often (always?) prints out each
> file twice:
> 
> -file-list-exec-source-files
> ^done,files=[{file="myprog.c",fullname="/home/nickrob/myprog.c"},{file="myprint.c",fullname="/home/nickrob/myprint.c"},{file="myprint.c",fullname="/home/nickrob/myprint.c"},{file="myprog.c",fullname="/home/nickrob/myprog.c"}]
> 
> Looking at the code I had hoped that one cane from the symbol table and the
> other from the partial symbol table but in fact, when I try it, they both
> come from the partial symbol table.  When the program being debugged has lots
> of source files (1000's) this is very wasteful, so I would like to make this
> command just print out each file once.  Before I do I'd like to ask:
> 
> Why does the partial symbol table have duplicate copies?

I believe, last time I looked at this, that it has something to do
with getting a symbol file from the symbolic dwarf debug information
(.debug_info) and another from the main entry in the line table.

However, that was a long time ago.  You'd have to debug it.

> Is it safe to assume that duplicates will occur consecutively?

No, since we don't know why they occur ;-)  Also, the debug information
may actually have multiple entries for one file; GDB doesn't try to
rejoin them into a single file.  Some compilers do this.

-- 
Daniel Jacobowitz
CodeSourcery


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