dwarf2out multiple CU patch

Daniel Berlin dberlin@redhat.com
Mon Aug 28 18:13:00 GMT 2000


Errr, i also just noticed you missed the 
if (flag_eliminate_dwarf2_dups)
break_out_includes part of my patch.
Without this, you are always eliminating the duplicates.
It was then that i noticed we were producing ref_addr's to things inside
the same compile unit, IIRC.

Also, you changed process_die_checksum back to the way you had it, which
also included the compile unit die in the checksum.
This is a bad idea, because it means since the version info goes into the
producer string, you have to compile thigns with the exact same version to
eliminate duplicates (IE if you update your gcc every day, your stuff will
be bloated).

That's why i added the little check so that we didn't checksum the
DW_TAG_compile_unit DIE's.

This might be desired behavior, but i can't really see why, if it is.
--Dan
On Mon, 28 Aug 2000, Jason Merrill wrote:

> Here's a cleaned-up version of the multiple CU patch.  I've left the
> flag in for the moment, off by default, in order to get this code into
> CVS so Daniel can work with it.
> 
> Daniel, when will your gdb changes to support FORM_ref_addr go in?  I
> can't really test this until that happens.
> 
> I left out the olddie_offset stuff because things that get pubnames
> only go in the main CU, so we can just process that one last and leave
> the offsets alone.
> 
> I also left out your changes to the code that decides whether or not
> to use an external reference because I don't see why they are
> necessary.  The current code uses an external reference iff the offset
> of the target is 0, as that indicates that the target is in another
> CU.



More information about the Gcc-patches mailing list