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 Sun, Feb 15, 2004 at 10:45:25PM -0500, Bob Rossi wrote:
> On Sun, Feb 15, 2004 at 10:30:08PM -0500, Daniel Jacobowitz wrote:
> > On Thu, Feb 12, 2004 at 08:29:46PM -0500, Bob Rossi wrote:
> > > So, I have 2 solutions,
> > >  1. Modify the psytmab to also have the 'dirname'. Which seems
> > >  difficult. Although I do think this is the best solution. (Not knowing
> > >  to much about psymtabs and symtabs)
> > >  
> > >  2. Change -file-list-exec-source-file to receive an optional filename,
> > >  which when doing this causes GDB to read in the symtab associated with
> > >  the psymtab. Then the fullname can be retrieved.
> > 
> > The question is whether this information is available without having to
> > read full symtabs.  Is this the dirname referenced in debug
> > information, or the dirname in which GDB has actually found the file?
> > I'm guessing that it's the latter, since so few debug readers bother to
> > fill in the former.  If so we would have to search the directory path
> > for every file when generating psymtabs, which isn't acceptable.  It
> > would take a fearsomely long time.
> 
> Thanks for the response.
> 
> Actually, I'm pretty sure it's the former.
> It's symtab->dirname, which seems to get filled in from the debug info.
> It looks like symtab->dirname gets set around buildsym.c:975.
> Is it bad to count on this feature if so few debug readers support the feature?
> It seems that at least "stabs" supports this feature.

Ah, both stabs and dwarf2 do.  Stabs does it in a mighty twisty way,
see patch_subfile_names.

> Currently, as far as I know, it's the only way things like annotate
> 1,2 and 3 work. That's the only reliable way GDB gets the absolute path
> to the source file, is that correct? If there is another method GDB
> figures out the absolute path to the source file, I would be interested
> in hearing it.

The directory search path, for instance - see source.c.  There's no
guarantee the source is where you left it.  Making an IDE rely on the
guessed-from-debug-info path is just going to get the situation
confused.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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