Do not put linkage names into .gdb_index

This changes the .gdb_index writer to skip linkage names.  This was
always done historically (though somewhat implicitly).


diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c
index b7a2e21..afe55da 100644
--- a/gdb/dwarf2/index-write.c
+++ b/gdb/dwarf2/index-write.c
@@ -1093,6 +1093,14 @@ write_cooked_index (cooked_index_vector *table,
 {
   for (const cooked_index_entry *entry : table->all_entries ())
     {
+      /* GDB never put linkage names into .gdb_index.  The theory here
+	 is that a linkage name will normally be in the minimal
+	 symbols anyway, so including it in the index is usually
+	 redundant -- and the cases where it would not be redundant
+	 are rare and not worth supporting.  */
+      if ((entry->flags & IS_LINKAGE) != 0)
+	continue;
+
       const auto it = cu_index_htab.find (entry->per_cu);
       gdb_assert (it != cu_index_htab.cend ());