Commit 54af9576 by Richard Biener

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  <rguenther@suse.de>

	PR debug/94450
	* dwarf2out.c (dwarf2out_early_finish): Remove code emitting
	DW_TAG_imported_unit.
parent 879bc686
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>
......
......@@ -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)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment