I've backported this patch from trunk r213765. These sections were originally intended as targets for .gdb_index entries that needed to point to type units. Because of the limitations of the .debug_gnu_pubnames/pubtypes sections with split DWARF, we were not able to pass along enough information to the gold linker to generate those index entries properly, and they had to point to the CU instead. GDB had to deal with that, and was updated a while ago to no longer depend on the skeleton TU sections at all. This allows us to reduce object file sizes with split DWARF by about 30%.
Committed to the google/gcc-4_9 branch at r213768. -cary gcc/ * dwarf2out.c (get_skeleton_type_unit): Remove. (output_skeleton_debug_sections): Remove skeleton type units. (output_comdat_type_unit): Likewise. (dwarf2out_finish): Likewise.