This is the mail archive of the gdb-patches@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: linker debug info editing


On Fri, Mar 10, 2006 at 11:50:01AM -0800, James E Wilson wrote:
> On Fri, 2006-03-10 at 04:49, Alan Modra wrote:
> > This is a first pass at debug info editing to remove bogus entries for
> > link-once functions.
> 
> There is an equivalent gcc solution we could consider.  Create a
> separate compilation unit die for each linkonce function.  We could use
> section groups to tie the debug info to the linkonce function, so that
> the debug info disappears along with the function.

You have to finish enabling COMDAT support everywhere, in order to do
this; we (CodeSourcery) tried when it was contributed, but kept
encountering oddball problems on different platforms.

> We already have a similar scheme in use for header files, that mirrors
> the BINCL/EINCL stabs support.  This was one of the new features that
> went into the DWARF3 standard.  Unfortunately, this code is not the
> default yet.  You have to specify -feliminate-dwarf2-dups to get it.  I
> think there was some gdb work that needed to be done to complete the
> project, and us gcc developers aren't very good at volunteering to do
> gdb work.

I made the required changes, a year and a half ago or thereabouts.

> If we do need link time editing of dwarf2 debug info, there is a lot of
> useful stuff that could be done here, such as eliminating duplicate
> debug_abbrev entries.  This is probably more complicated than what you
> are attempting here though, but it could perhaps be added later on top
> of your work.

There's quite a lot of compression that we could do at link time if
we're going to process DIEs at all.  I think this would be a worthwhile
thing to do, and it requires something like Alan's done (although I
haven't looked at the patch yet).

-- 
Daniel Jacobowitz
CodeSourcery


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