gdb, testsuite: enforce lazy binding for gdb.btrace/rn-dl-bind.exp
authorMarkus Metzger <markus.t.metzger@intel.com>
Wed, 13 Jan 2021 15:41:43 +0000 (16:41 +0100)
committerMarkus Metzger <markus.t.metzger@intel.com>
Wed, 3 Mar 2021 08:18:58 +0000 (09:18 +0100)
commit823337810468cc5775d0ebd645399756c86453d3
tree072afd01c4f758c4f6cf1bb40a89f0bde1d7e08b
parent32c5299909162c116728eff2580fc5c3e707af6d
gdb, testsuite: enforce lazy binding for gdb.btrace/rn-dl-bind.exp

In gdb.btrace/rn-dl-bind.exp we test that we can reverse-step over
recorded dynamic linking.  The test covers specific behaviour to support
_dl_runtime_resolve calling the resolved function by returning to it.
This would normally mess up stepping as we'd end up with backtraces that
contain the same functions but different frame ids.

Since GDB needs to recognize a return from _dl_runtime_resolve, the test
only passes when debug information for _dl_runtime_resolve is available.

The test requires that symbols are bound lazily.  Otherwise, we won't
record dynamic linking and the test will be fairly pointless.

Recent GCC pass -z now by default to bind symbols eagerly.  Add -z lazy to
the test's ldflags to enforce lazy binding.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.btrace/rn-dl-bind.exp