[gdb/symtab] Fix duplicate CUs in create_cus_from_debug_names_list
authorTom de Vries <tdevries@suse.de>
Fri, 5 Feb 2021 08:14:25 +0000 (09:14 +0100)
committerTom de Vries <tdevries@suse.de>
Fri, 5 Feb 2021 08:14:25 +0000 (09:14 +0100)
commitd3b54e63f4866551953a03f512049741b0e776c4
treea9a06d6a6e6d973a2404fca6177894919ecb73ff
parentfc9a13fbdd7005c93f9d16d33f861594008fc440
[gdb/symtab] Fix duplicate CUs in create_cus_from_debug_names_list

When running test-case gdb.dwarf2/clang-debug-names.exp, I run into the
following warning:
...
(gdb) file clang-debug-names^M
Reading symbols from clang-debug-names...^M
warning: Section .debug_aranges in clang-debug-names has duplicate \
  debug_info_offset 0xc7, ignoring .debug_aranges.^M
...

This is caused by a missing return in commit 3ee6bb113af "[gdb/symtab] Fix
incomplete CU list assert in .debug_names".

Fix this by adding the missing return, such that we have instead this warning:
...
(gdb) file clang-debug-names^M
Reading symbols from clang-debug-names...^M
warning: Section .debug_aranges in clang-debug-names \
  entry at offset 0 debug_info_offset 0 does not exists, \
  ignoring .debug_aranges.^M
...
which is a known problem filed as PR25969 - "Ignoring .debug_aranges with
clang .debug_names".

Tested on x86_64-linux.

gdb/ChangeLog:

2021-02-05  Tom de Vries  <tdevries@suse.de>

PR symtab/27307
* dwarf2/read.c (create_cus_from_debug_names_list): Add missing
return.

gdb/testsuite/ChangeLog:

2021-02-05  Tom de Vries  <tdevries@suse.de>

PR symtab/27307
* gdb.dwarf2/clang-debug-names.exp: Check file command warnings.
gdb/ChangeLog
gdb/dwarf2/read.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dwarf2/clang-debug-names.exp