Fix .debug_rnglists generation with -gdwarf-5 -gsplit-dwarf.
authorMark Wielaard <mark@klomp.org>
Thu, 23 Nov 2017 16:56:05 +0000 (16:56 +0000)
committerMark Wielaard <mark@gcc.gnu.org>
Thu, 23 Nov 2017 16:56:05 +0000 (16:56 +0000)
commit3d4b2e49158f7d803a49e23f3268aaaca283c471
tree20b0036bfb2a306e60a4b61ef1fb2ab48adec8fd
parentac9effeda3bb29c0adcd8834b45b6e5613413049
Fix .debug_rnglists generation with -gdwarf-5 -gsplit-dwarf.

Early debug broke generation of .debug_rnglists when using both -gdwarf5
and -gsplit-dwarf. It introduces a generation for init_sections_and_labels,
but doesn't account for the generation of up to 4 unique ranges labels,
two created in init_sections_and_labels and two in output_rnglists.
Fix this by passing generation to output_rnglists and creating 4 unique
labels per generation.

Without this fix using -gdwarf-5 -gsplit-dwarf could result in:
  Error: symbol `.Ldebug_ranges2' is already defined

gcc/ChangeLog:

       * dwarf2out.c (init_sections_and_labels): Use generation to create
       unique ranges_section_label and ranges_base_label. Return generation.
       (output_rnglists): Add generation argument. Use generation to create
       unique ranges labels.
       (dwarf2out_finish): Get generation from init_sections_and_labels
       and pass generation to output_rnglists.

From-SVN: r255107
gcc/ChangeLog
gcc/dwarf2out.c