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 Mon, Feb 23, 2004 at 08:55:27AM -0500, Daniel Jacobowitz wrote:
> On Mon, Feb 23, 2004 at 08:13:35AM -0500, Bob Rossi wrote:
> > On Tue, Feb 17, 2004 at 02:33:27PM -0500, Daniel Jacobowitz wrote:
> > > On Tue, Feb 17, 2004 at 02:30:01PM -0500, Bob Rossi wrote:
> > > > 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.
> > > > 
> > > > I could definatly use some advice getting the dirname into the psymtab.
> > > > I don't mind spending time implementing it if I could get a little
> > > > pointer in the right direction. It seems I would have to change both the
> > > > stabs reader and the dwarf2 reader. Is that correct?
> > > 
> > > Yes, I think so.  Dwarf2 should be easy.  Stabs will be a little
> > > harder.  Take a look at patch_subfile_names.
> > 
> > Thanks, I think I got the Stabs version working.
> > Do you have a heads up for the Dwarf2 version?
> > 
> > Funny enough, Stabs was much easier for me to get done than Dwarf2.
> > I am  currently looking at the function dwarf2_build_psymtabs_hard.
> > Does this sound right?
> > 
> > As far as I know, this will be the last step to the patch I'm
> > generating. Also, I will only have Stabs and Dwarf-2 working. Anyone
> > know of another debug format I should be looking into?
> > 
> > Any help would be appreciated,
> 
> I'd think dwarf2 would be downright easy in comparison.  All you want
> is the comp_unit_die in dwarf2_build_psymtabs_hard.  read_partial_die
> does not currently save DW_AT_comp_dir, the compilation directory, but
> making it do so would be easy.

Well, I got dwarf2 working. Thanks for the tips. I did have one other
question though. As a test, I compiled GDB with stabs ( GDB.stabs ), and 
another GDB with dwarf2 ( GDB.dwarf2 ) debug info. When I run my patched 
GDB against these with my new command I get,

./gdb -i=mi ./gdb.stabs
-file-list-exec-source-files

   I get 1245 files, and after running uniq on them I get 662 files. These
   include both headers and source files.

When I do the same thing with gdb.dwarf2,
./gdb -i=mi ./gdb.dwarf2
-file-list-exec-source-files

   I get 286 files. They are all source files, no headers.

The question is, why would I get no header files when I use dwarf2? This
also is the same output of the CLI command 'info sources'. Is there any
way I can add the headers to the output of my command? It's certainly
possible the user could set a breakpoint in one of them, so they user
should be able to select the header's from a list, which is the output
of this command.

Thanks,
Bob Rossi


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