gdbserver: When attaching, add process before lwps
authorAlan Hayward <alan.hayward@arm.com>
Thu, 7 Feb 2019 14:36:34 +0000 (14:36 +0000)
committerAlan Hayward <alan.hayward@arm.com>
Thu, 7 Feb 2019 14:37:45 +0000 (14:37 +0000)
commitdf0da8a2b80315485330c03c18b704b8d7b3e9c2
tree52e46df8286bc7bb660d43987950022d407d9442
parent2012bf013b2ce507b181c0d9049ad946b2a59d8a
gdbserver: When attaching, add process before lwps

The recent BP/WP changes for AArch64 swapping the order in add_lwp()
so that the process was added before the lwp. This was due to the lwp
creation requiring the process data.

This also needs changing in linux_attach().

Also add additional checks to make sure cannot attach to the same
process twice. Add test case for this - do this by splitting
attach.exp into distinct pass and error case sections.

Fixes gdb.server/ext-attach.exp on Aarch64.

gdb/gdbserver/ChangeLog:

* linux-low.c (linux_attach): Add process before lwp.
* server.c (attach_inferior): Check if already attached.

gdb/testsuite/ChangeLog:

* gdb.base/attach.exp: Add double attach test.
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c
gdb/gdbserver/server.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/attach.exp