Do not put linkage names into .gdb_index
authorTom Tromey <tromey@adacore.com>
Fri, 22 Apr 2022 17:44:59 +0000 (11:44 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 25 Apr 2022 13:13:14 +0000 (07:13 -0600)
This changes the .gdb_index writer to skip linkage names.  This was
always done historically (though somewhat implicitly).

gdb/dwarf2/index-write.c

index b7a2e214f6b4c9637b6b301ce8e6a846d64d35db..afe55da6c1b188a01c3f98a773a3978e09516c7f 100644 (file)
@@ -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 ());