diff options
author | Tom Tromey <tromey@adacore.com> | 2022-10-14 07:10:08 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2022-10-17 08:01:39 -0600 |
commit | 67e83a0deef78e9e286b663efd5a7144f09dbb95 (patch) | |
tree | ec64f2a66c55ad607d980efbf17383131fef949d /gdb/dwarf2/index-write.c | |
parent | c7f83b0d14e38e4c3f169b4fc538491782e7d915 (diff) | |
download | binutils-67e83a0deef78e9e286b663efd5a7144f09dbb95.zip binutils-67e83a0deef78e9e286b663efd5a7144f09dbb95.tar.gz binutils-67e83a0deef78e9e286b663efd5a7144f09dbb95.tar.bz2 |
Fix regression in c-linkage-name.exp with gdb index
c-linkage-name.exp started failing with the gdb-index target board due
to an earlier patch. The problem here is that some linkage names must
be in the index -- but, based on inspection, not C++ linkage names.
This patch updates the code to exclude only these.
Diffstat (limited to 'gdb/dwarf2/index-write.c')
-rw-r--r-- | gdb/dwarf2/index-write.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c index 4827b59..4f89dfb 100644 --- a/gdb/dwarf2/index-write.c +++ b/gdb/dwarf2/index-write.c @@ -1111,12 +1111,13 @@ 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 + /* GDB never put C++ 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) + if (entry->per_cu->lang () == language_cplus + && (entry->flags & IS_LINKAGE) != 0) continue; const auto it = cu_index_htab.find (entry->per_cu); |