This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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