From 54af95767e887d63dc332731738e642536d87a48 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 2 Apr 2020 16:45:28 +0200 Subject: debug/94450 - remove DW_TAG_imported_unit generated in LTRANS units 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 PR debug/94450 * dwarf2out.c (dwarf2out_early_finish): Remove code emitting DW_TAG_imported_unit. --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 18 ------------------ 2 files changed, 6 insertions(+), 18 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 671411e..8a30281 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-04-02 Richard Biener + + PR debug/94450 + * dwarf2out.c (dwarf2out_early_finish): Remove code emitting + DW_TAG_imported_unit. + 2020-04-02 Maciej W. Rozycki * doc/install.texi (Specific) diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 378a273..d68367e 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -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) { -- cgit v1.1