This addresses one postponed feedback from the early LTO debug time
by simply removing output_die_symbol from output_die as we have no
! die->comdat_type_p symbols left apart from the CU one produced by
LTO debug which I added the guard for.

Bootstrapped and tested on x86_64-unknown-linux-gnu, ok?

Thanks,
Richard.

2017-08-22  Richard Biener  <rguent...@suse.de>

        * dwarf2out.c (output_die_symbol): Remove.
        (output_die): Do not output a DIEs symbol.

Index: gcc/dwarf2out.c
===================================================================
--- gcc/dwarf2out.c     (revision 251273)
+++ gcc/dwarf2out.c     (working copy)
@@ -3472,7 +3472,6 @@ static enum dwarf_form value_format (dw_
 static void output_value_format (dw_attr_node *);
 static void output_abbrev_section (void);
 static void output_die_abbrevs (unsigned long, dw_die_ref);
-static void output_die_symbol (dw_die_ref);
 static void output_die (dw_die_ref);
 static void output_compilation_unit_header (enum dwarf_unit_type);
 static void output_comp_unit (dw_die_ref, int, const unsigned char *);
@@ -9615,27 +9614,6 @@ output_abbrev_section (void)
   dw2_asm_output_data (1, 0, NULL);
 }
 
-/* Output a symbol we can use to refer to this DIE from another CU.  */
-
-static inline void
-output_die_symbol (dw_die_ref die)
-{
-  const char *sym = die->die_id.die_symbol;
-
-  gcc_assert (!die->comdat_type_p);
-
-  if (sym == 0)
-    return;
-
-  if (strncmp (sym, DIE_LABEL_PREFIX, sizeof (DIE_LABEL_PREFIX) - 1) == 0)
-    /* We make these global, not weak; if the target doesn't support
-       .linkonce, it doesn't support combining the sections, so debugging
-       will break.  */
-    targetm.asm_out.globalize_label (asm_out_file, sym);
-
-  ASM_OUTPUT_LABEL (asm_out_file, sym);
-}
-
 /* Return a new location list, given the begin and end range, and the
    expression.  */
 
@@ -9994,15 +9972,6 @@ output_die (dw_die_ref die)
   unsigned long size;
   unsigned ix;
 
-  /* If someone in another CU might refer to us, set up a symbol for
-     them to point to.  */
-  if (! die->comdat_type_p && die->die_id.die_symbol
-      /* Don't output the symbol twice.  For LTO we want the label
-         on the section beginning, not on the actual DIE.  */
-      && (!flag_generate_lto
-         || die->die_tag != DW_TAG_compile_unit))
-    output_die_symbol (die);
-
   dw2_asm_output_data_uleb128 (die->die_abbrev, "(DIE (%#lx) %s)",
                               (unsigned long)die->die_offset,
                               dwarf_tag_name (die->die_tag));

Reply via email to