[gdb/testsuite] Fix gdb.base/gold-gdb-index.exp
authorTom de Vries <tdevries@suse.de>
Wed, 14 Jul 2021 09:37:19 +0000 (11:37 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 14 Jul 2021 09:37:19 +0000 (11:37 +0200)
commitbe36c6e3374821fe5699556bbfa2280e3a4696df
treee09ee12055e325b11b3569badf38ecc2deb9e36d
parent90d7916ac136613b8118f6429c3436664a700a2e
[gdb/testsuite] Fix gdb.base/gold-gdb-index.exp

When running test-case gdb.base/gold-gdb-index.exp on openSUSE Tumbleweed,
I run into:
...
FAIL: gdb.base/gold-gdb-index.exp: maint info symtabs
...

This is due to a dummy .gdb_index:
...
Contents of the .gdb_index section:

Version 7

CU table:

TU table:

Address table:

Symbol table:
...

The dummy .gdb_index is ignored when loading the symbols, and instead partial
symbols are used.  Consequently, we get the same result as if we'd removed
-Wl,--gdb-index from the compilation.

Presumably, gold fails to generate a proper .gdb_index because it lacks
DWARF5 support.

Anyway, without a proper .gdb_index we can't test the gdb behaviour we're
trying to excercise.  Fix this by detecting whether we actually used a
.gdb_index for symbol loading.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2021-07-14  Tom de Vries  <tdevries@suse.de>

* lib/gdb.exp (have_index): New proc.
* gdb.base/gold-gdb-index.exp: Use have_index.
gdb/testsuite/gdb.base/gold-gdb-index.exp
gdb/testsuite/lib/gdb.exp