diff options
author | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-09-15 00:27:53 -0400 |
---|---|---|
committer | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-09-26 12:50:25 -0400 |
commit | 75352e283fb2b265d14c750859156943f6eb2693 (patch) | |
tree | d0468abb84ef47c1ca35c27d788d5f9a6a12d739 /gdb/gdbserver | |
parent | 5007d765ae09c10c7f3b18bb16841b9d2d59e181 (diff) | |
download | gdb-75352e283fb2b265d14c750859156943f6eb2693.zip gdb-75352e283fb2b265d14c750859156943f6eb2693.tar.gz gdb-75352e283fb2b265d14c750859156943f6eb2693.tar.bz2 |
Use "switch_to_thread" more thoroughly on gdbserver
This is a technical debt that I left when I ported "switch_to_thread"
to gdbserver. It's a simple patch that converts occurences of:
current_thread = find_thread_ptid (ptid);
to:
switch_to_thread (ptid);
This patch also converts a simple "if" to a "gdb_assert" on
gdbserver's version of "switch_to_thread":
gdb_assert (ptid != minus_one_ptid);
This change makes the code more similar to what GDB already does.
Regtested on BuildBot.
gdb/gdbserver/ChangeLog:
2017-09-26 Sergio Durigan Junior <sergiodj@redhat.com>
* gdbthread.h: Include "common-gdbthread.h".
* inferiors.c (switch_to_thread): Use "gdb_assert" instead of
"if" when validating the ptid.
* remote-utils.c: Include "gdbthread.h".
(prepare_resume_reply): Use "switch_to_thread".
* target.c (done_accessing_memory): Likewise.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/gdbserver/gdbthread.h | 1 | ||||
-rw-r--r-- | gdb/gdbserver/inferiors.c | 4 | ||||
-rw-r--r-- | gdb/gdbserver/remote-utils.c | 3 | ||||
-rw-r--r-- | gdb/gdbserver/target.c | 2 |
5 files changed, 15 insertions, 4 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index a628b96..63fb653 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,12 @@ +2017-09-26 Sergio Durigan Junior <sergiodj@redhat.com> + + * gdbthread.h: Include "common-gdbthread.h". + * inferiors.c (switch_to_thread): Use "gdb_assert" instead of + "if" when validating the ptid. + * remote-utils.c: Include "gdbthread.h". + (prepare_resume_reply): Use "switch_to_thread". + * target.c (done_accessing_memory): Likewise. + 2017-09-25 Andreas Arnez <arnez@linux.vnet.ibm.com> * configure.srv (s390*-*-linux*): Add s390-gs-linux64.o and diff --git a/gdb/gdbserver/gdbthread.h b/gdb/gdbserver/gdbthread.h index 04cc47b..a864f95 100644 --- a/gdb/gdbserver/gdbthread.h +++ b/gdb/gdbserver/gdbthread.h @@ -19,6 +19,7 @@ #ifndef GDB_THREAD_H #define GDB_THREAD_H +#include "common-gdbthread.h" #include "inferiors.h" struct btrace_target_info; diff --git a/gdb/gdbserver/inferiors.c b/gdb/gdbserver/inferiors.c index 72f0412..3a45959 100644 --- a/gdb/gdbserver/inferiors.c +++ b/gdb/gdbserver/inferiors.c @@ -442,6 +442,6 @@ make_cleanup_restore_current_thread (void) void switch_to_thread (ptid_t ptid) { - if (!ptid_equal (ptid, minus_one_ptid)) - current_thread = find_thread_ptid (ptid); + gdb_assert (ptid != minus_one_ptid); + current_thread = find_thread_ptid (ptid); } diff --git a/gdb/gdbserver/remote-utils.c b/gdb/gdbserver/remote-utils.c index 25b7e41..7616046 100644 --- a/gdb/gdbserver/remote-utils.c +++ b/gdb/gdbserver/remote-utils.c @@ -23,6 +23,7 @@ #include "tdesc.h" #include "dll.h" #include "rsp-low.h" +#include "gdbthread.h" #include <ctype.h> #if HAVE_SYS_IOCTL_H #include <sys/ioctl.h> @@ -1188,7 +1189,7 @@ prepare_resume_reply (char *buf, ptid_t ptid, saved_thread = current_thread; - current_thread = find_thread_ptid (ptid); + switch_to_thread (ptid); regp = current_target_desc ()->expedite_regs; diff --git a/gdb/gdbserver/target.c b/gdb/gdbserver/target.c index 7f5bed7..94224a8 100644 --- a/gdb/gdbserver/target.c +++ b/gdb/gdbserver/target.c @@ -138,7 +138,7 @@ done_accessing_memory (void) /* Restore the previous selected thread. */ general_thread = prev_general_thread; - current_thread = find_thread_ptid (general_thread); + switch_to_thread (general_thread); } int |