[gdb/symtab] Recognize .gdb_index symbol table with empty entries as empty
authorTom de Vries <tdevries@suse.de>
Fri, 6 Aug 2021 19:52:41 +0000 (21:52 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 6 Aug 2021 19:52:41 +0000 (21:52 +0200)
commitcc6b3d766d6694d4c4ee14b75f6529365a443a98
treeb8b6a3f69f731c3e5ecb9ed45fadf86d6caf91de
parentfd986183343387b019080d81838ad9371593b219
[gdb/symtab] Recognize .gdb_index symbol table with empty entries as empty

When reading a .gdb_index that contains a non-empty symbol table with only
empty entries, gdb doesn't recognize it as empty.

Fix this by recognizing that the constant pool is empty, and then setting the
symbol table to empty.

Tested on x86_64-linux.

gdb/ChangeLog:

2021-08-01  Tom de Vries  <tdevries@suse.de>

PR symtab/28159
* dwarf2/read.c (read_gdb_index_from_buffer): Handle symbol table
filled with empty entries.

gdb/testsuite/ChangeLog:

2021-08-01  Tom de Vries  <tdevries@suse.de>

PR symtab/28159
* gdb.dwarf2/dw2-zero-range.exp: Remove kfail.
gdb/dwarf2/read.c
gdb/testsuite/gdb.dwarf2/dw2-zero-range.exp