The following fixes PR86457.  I also removed some leftover tests
of dwarf2out_as_loc_support in favor of output_asm_line_debug_info.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

Richard.

2018-07-10  Richard Biener  <rguent...@suse.de>

        PR debug/86457
        * dwarf2out.c (init_sections_and_labels): Use
        output_asm_line_debug_info consistently.
        (dwarf2out_early_finish): Likewise.
        (dwarf2out_finish): Remove DW_AT_stmt_list from early generated
        type units.

Index: gcc/dwarf2out.c
===================================================================
--- gcc/dwarf2out.c     (revision 262538)
+++ gcc/dwarf2out.c     (working copy)
@@ -28483,7 +28483,7 @@ init_sections_and_labels (bool early_lto
       debug_str_section = get_section (DEBUG_LTO_STR_SECTION,
                                       DEBUG_STR_SECTION_FLAGS
                                       | SECTION_EXCLUDE, NULL);
-      if (!dwarf_split_debug_info && !dwarf2out_as_loc_support)
+      if (!dwarf_split_debug_info && !output_asm_line_debug_info ())
        debug_line_str_section
          = get_section (DEBUG_LTO_LINE_STR_SECTION,
                         DEBUG_STR_SECTION_FLAGS | SECTION_EXCLUDE, NULL);
@@ -31125,9 +31125,9 @@ dwarf2out_finish (const char *)
          if (*slot != HTAB_EMPTY_ENTRY)
            continue;
 
-         /* Add a pointer to the line table for the main compilation unit
-            so that the debugger can make sense of DW_AT_decl_file
-            attributes.  */
+         /* Remove the pointer to the line table.  */
+         remove_AT (ctnode->root_die, DW_AT_stmt_list);
+
          if (debug_info_level >= DINFO_LEVEL_TERSE)
            reset_dies (ctnode->root_die);
 
@@ -31819,7 +31819,7 @@ dwarf2out_early_finish (const char *file
 
   /* When emitting DWARF5 .debug_line_str, move DW_AT_name and
      DW_AT_comp_dir into .debug_line_str section.  */
-  if (!dwarf2out_as_loc_support
+  if (!output_asm_line_debug_info ()
       && dwarf_version >= 5
       && DWARF5_USE_DEBUG_LINE_STR)
     {

Reply via email to