dwarf2out multiple CU patch
Jason Merrill
jason@redhat.com
Mon Aug 28 21:46:00 GMT 2000
>>>>> Daniel Berlin <dberlin@redhat.com> writes:
> 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.
I moved the test into dwarf2out_{start,end}_source_file; that way we don't
get the [BE]INCL DIEs in the output. Though I suppose we might as well not
bother with break_out_includes if it won't find anything...
> 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 makes sense. I'll change it to ignore DW_AT_producer.
Index: 2000-08-28 Jason Merrill <jason@redhat.com>
* dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
2000-08-28 Daniel Berlin <dberlin@redhat.com>
* dwarf2out.c (dwarf2out_finish): Don't bother calling
break_out_includes if it won't do anything.
dwarf2out.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/dwarf2out.c,v
retrieving revision 1.199
diff -c -p -r1.199 dwarf2out.c
*** dwarf2out.c 2000/08/29 00:29:24 1.199
--- dwarf2out.c 2000/08/29 02:02:27
*************** attr_checksum (at, ctx)
*** 5054,5060 ****
PROCESS (at->dw_attr);
/* We don't care about differences in file numbering. */
! if (at->dw_attr == DW_AT_decl_file)
return;
switch (AT_class (at))
--- 5054,5063 ----
PROCESS (at->dw_attr);
/* We don't care about differences in file numbering. */
! if (at->dw_attr == DW_AT_decl_file
! /* Or that this was compiled with a different compiler snapshot; if
! the output is the same, that's what matters. */
! || at->dw_attr == DW_AT_producer)
return;
switch (AT_class (at))
*************** dwarf2out_finish ()
*** 10841,10847 ****
/* Generate separate CUs for each of the include files we've seen.
They will go into limbo_die_list. */
! break_out_includes (comp_unit_die);
/* Traverse the DIE's and add add sibling attributes to those DIE's
that have children. */
--- 10844,10851 ----
/* Generate separate CUs for each of the include files we've seen.
They will go into limbo_die_list. */
! if (flag_eliminate_dwarf2_dups)
! break_out_includes (comp_unit_die);
/* Traverse the DIE's and add add sibling attributes to those DIE's
that have children. */
More information about the Gcc-patches
mailing list