binutils-gdb/gdb/testsuite/gdb.server
Tom de Vries 6b9374f1e0 [gdb/testsuite] Fix solib-list.exp test-case for exec with debug-info
Since commit a2fedca99c "Implement 'set/show exec-file-mismatch'.", I see the
following regression on openSUSE Leap 15.1:
...
FAIL: gdb.server/solib-list.exp: non-stop 0: target remote \
  (got interactive prompt)
FAIL: gdb.server/solib-list.exp: non-stop 1: target remote \
  (got interactive prompt)
...

The first FAIL in more detail:
...
(gdb) PASS: gdb.server/solib-list.exp: non-stop 0: file binfile
target remote localhost:2346
Remote debugging using localhost:2346
warning: Mismatch between current exec-file /data/gdb_versions/devel/build/\
  gdb/testsuite/outputs/gdb.server/solib-list/solib-list
and automatically determined exec-file /lib64/ld-2.26.so
exec-file-mismatch handling is currently "ask"
Load new symbol table from "/lib64/ld-2.26.so"? (y or n) n
warning: loading /lib64/ld-2.26.so Not confirmed.
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
warning: File transfers from remote targets can be slow. \
  Use "set sysroot" to access files locally instead.
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
Reading symbols from target:/lib64/ld-linux-x86-64.so.2...
Reading /lib64/ld-2.26.so-2.26-lp151.18.7.x86_64.debug from remote target...
Reading /lib64/.debug/ld-2.26.so-2.26-lp151.18.7.x86_64.debug from remote \
  target...
Reading /data/gdb_versions/devel/install/lib64/debug//lib64/\
  ld-2.26.so-2.26-lp151.18.7.x86_64.debug from remote target...
Reading /data/gdb_versions/devel/install/lib64/debug/lib64/\
  /ld-2.26.so-2.26-lp151.18.7.x86_64.debug from remote target...
Reading target:/data/gdb_versions/devel/install/lib64/debug/lib64/\
  /ld-2.26.so-2.26-lp151.18.7.x86_64.debug from remote target...
(No debugging symbols found in target:/lib64/ld-linux-x86-64.so.2)
0x00007ffff7dd7ea0 in ?? ()
(gdb) FAIL: gdb.server/solib-list.exp: non-stop 0: target remote (got \
  interactive prompt)
...

The commit introduces the "Load new symbol table from" question, and
gdb_test_multiple defaults to answering "no" and reporting the
"got interactive prompt" FAIL.

This FAIL is not seen on f.i. debian 10.2.  The difference originates from the
fact that the solib-list executable has debug-info in the openSUSE case, while
it doesn't in the debian case.

We can prevent the failure on openSUSE by stripping the executable from
debug-info:
...
+ exec strip --strip-debug ${binfile}
...

The difference in behaviour is a bug or improvement opportunity in the
exec-file-mismatch, filed as PR25475.

This patch fixes the FAIL by handling the question in the test-case.

Tested on x86_64-linux.

Tested on x86_64-linux with the gdbserver part of the patch introducing the
test-case reverted to ensure that this still FAILs.

gdb/testsuite/ChangeLog:

2020-03-15  Tom de Vries  <tdevries@suse.de>

	* gdb.server/solib-list.exp: Handle
	'Load new symbol table from "/lib64/ld-2.26.so"? (y or n)'.
2020-03-15 15:15:56 +01:00
..
abspath.exp
bkpt-other-inferior.exp Switch the inferior too in switch_to_program_space_and_thread 2020-01-10 20:06:16 +00:00
connect-stopped-target.c
connect-stopped-target.exp
connect-with-no-symbol-file.c
connect-with-no-symbol-file.exp
connect-without-multi-process.c
connect-without-multi-process.exp Avoid another inferior_ptid reference in gdb/remote.c 2020-01-10 20:05:52 +00:00
ext-attach.c
ext-attach.exp
ext-restart.exp
ext-run.exp
ext-wrapper.exp
extended-remote-restart.c
extended-remote-restart.exp Add "info connections" command, "info inferiors" connection number/string 2020-01-10 20:06:14 +00:00
file-transfer.exp
multi-ui-errors.c gdb: Re-enable stdin for all UIs from start_event_loop 2020-01-24 00:11:52 +00:00
multi-ui-errors.exp gdb/testsuite: Avoid leaking a port number into results summary 2020-02-06 16:39:20 +00:00
no-thread-db.c
no-thread-db.exp
non-existing-program.exp
normal.c
reconnect-ctrl-c.c
reconnect-ctrl-c.exp
run-without-local-binary.exp
server-connect.exp
server-exec-info.exp
server-kill-python.exp [gdb/testsuite] Fix typo in gdb.server/server-kill-python.exp 2020-02-01 00:05:42 +01:00
server-kill.c
server-kill.exp
server-mon.exp
server-run.exp
server.c
solib-list-lib.c
solib-list-main.c
solib-list.exp [gdb/testsuite] Fix solib-list.exp test-case for exec with debug-info 2020-03-15 15:15:56 +01:00
stop-reply-no-thread.c
stop-reply-no-thread.exp gdb/remote: Restore support for 'S' stop reply packet 2020-03-02 15:06:35 +00:00
sysroot.c
sysroot.exp [gdb/testsuite] Fix printf regexp in gdb.server/sysroot.exp 2020-03-11 17:57:02 +01:00
transfer.txt
unittest.exp
wrapper.c
wrapper.exp