From f084d335110408aa08ea06c7cb217ae19697db3d Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Thu, 24 Jan 2019 18:55:20 +0000 Subject: [PATCH] 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(). Fixes gdb.server/ext-attach.exp on Aarch64. (This regression was hidden due to the racy nature of the gdb.server tests - now they are no longer racy it'll be easier to spot. Also checked X86). gdb/gdbserver/ChangeLog: 2019-01-25 Alan Hayward * linux-low.c (linux_attach): Add process before lwp. --- gdb/gdbserver/linux-low.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 44016d23105..c6d94172356 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -1188,6 +1188,8 @@ linux_attach (unsigned long pid) ptid_t ptid = ptid_t (pid, pid, 0); int err; + proc = linux_add_process (pid, 1); + /* Attach to PID. We will check for other threads soon. */ err = linux_attach_lwp (ptid); @@ -1198,8 +1200,6 @@ linux_attach (unsigned long pid) error ("Cannot attach to process %ld: %s", pid, reason.c_str ()); } - proc = linux_add_process (pid, 1); - /* Don't ignore the initial SIGSTOP if we just attached to this process. It will be collected by wait shortly. */ initial_thread = find_thread_ptid (ptid_t (pid, pid, 0)); -- 2.30.2