debug/94450 - remove DW_TAG_imported_unit generated in LTRANS units
authorRichard Biener <rguenther@suse.de>
Thu, 2 Apr 2020 14:45:28 +0000 (16:45 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 2 Apr 2020 14:48:31 +0000 (16:48 +0200)
This removes the DW_TAG_imported_unit we generate for each referenced
early debug unit in LTRANS units.  They are more harmful than they
do good and the semantics can be read in a way making it even wrong.

2020-04-02  Richard Biener  <rguenther@suse.de>

PR debug/94450
* dwarf2out.c (dwarf2out_early_finish): Remove code emitting
DW_TAG_imported_unit.

gcc/ChangeLog
gcc/dwarf2out.c

index 671411e5db3b4f60c94b3422054c3c3845f822fe..8a302811d6c1b547af2057861ee711e96cbb703c 100644 (file)
@@ -1,3 +1,9 @@
+2020-04-02  Richard Biener  <rguenther@suse.de>
+
+       PR debug/94450
+       * dwarf2out.c (dwarf2out_early_finish): Remove code emitting
+       DW_TAG_imported_unit.
+
 2020-04-02  Maciej W. Rozycki  <macro@wdc.com>
 
        * doc/install.texi (Specific) <riscv32-*-elf, riscv32-*-linux>
index 378a27394e8bf9be9733cb15b9cc0dd9c49ac205..d68367eee3e363e17e0f5931fb1f9ab3a5f56d6d 100644 (file)
@@ -32040,24 +32040,6 @@ dwarf2out_early_finish (const char *filename)
      sure to adjust the phase after annotating the LTRANS CU DIE.  */
   if (in_lto_p)
     {
-      /* Force DW_TAG_imported_unit to be created now, otherwise
-        we might end up without it or ordered after DW_TAG_inlined_subroutine
-        referencing DIEs from it.  */
-      if (! flag_wpa && flag_incremental_link != INCREMENTAL_LINK_LTO)
-       {
-         unsigned i;
-         tree tu;
-         if (external_die_map)
-           FOR_EACH_VEC_SAFE_ELT (all_translation_units, i, tu)
-             if (sym_off_pair *desc = external_die_map->get (tu))
-               {
-                 dw_die_ref import = new_die (DW_TAG_imported_unit,
-                                              comp_unit_die (), NULL_TREE);
-                 add_AT_external_die_ref (import, DW_AT_import,
-                                          desc->sym, desc->off);
-               }
-       }
-
       early_dwarf_finished = true;
       if (dump_file)
        {