old-cross-binutils/gdb/testsuite/gdb.server
Pedro Alves 80ad801e90 PR server/18081: gdbserver crashes when providing an unexisting binary
$ ./gdbserver :1234 blah
 Process blah created; pid = 16471
 Cannot exec blah: No such file or directory.

 Child exited with status 127
 Killing process(es): 16471
 ../../../../src/binutils-gdb/gdb/gdbserver/linux-low.c:920: A problem internal to GDBserver has been detected.
 kill_wait_lwp: Assertion `res > 0' failed.

GDBserver shouldn't even be trying to kill that process.  GDBserver
kills or detaches from all processes on exit, and due to a missing
mourn_inferior call, GDBserver tries to kill the process that it had
already seen exit.

Tested on x86_64 Fedora 20.  New test included.  I emulated what
Windows outputs by hacking an error call in linux_create_inferior.

gdb/gdbserver/ChangeLog:
2015-05-06  Pedro Alves  <palves@redhat.com>

	PR server/18081
	* server.c (start_inferior): If the process exits, mourn it.

gdb/testsuite/ChangeLog:
2015-05-06  Pedro Alves  <palves@redhat.com>

	PR server/18081
	* gdb.server/non-existing-program.exp: New file.
2015-05-06 18:50:03 +01:00
..
ext-attach.c
ext-attach.exp
ext-run.exp
file-transfer.exp
Makefile.in
no-thread-db.c
no-thread-db.exp
non-existing-program.exp PR server/18081: gdbserver crashes when providing an unexisting binary 2015-05-06 18:50:03 +01:00
server-exec-info.exp Access executable from remote system when first inferior appears 2015-04-17 09:47:30 +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
transfer.txt
wrapper.c
wrapper.exp