aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/remote.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 991a434..eb537fc 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -8415,6 +8415,11 @@ remote_target::process_stop_reply (struct stop_reply *stop_reply,
/* Expedited registers. */
if (!stop_reply->regcache.empty ())
{
+ /* 'w' stop replies don't cary expedited registers (which
+ wouldn't make any sense for a thread that is gone
+ already). */
+ gdb_assert (status->kind () != TARGET_WAITKIND_THREAD_EXITED);
+
struct regcache *regcache
= get_thread_arch_regcache (this, ptid, stop_reply->arch);
@@ -8599,7 +8604,7 @@ remote_target::wait_as (ptid_t ptid, target_waitstatus *status,
again. Keep waiting for events. */
rs->waiting_for_stop_reply = 1;
break;
- case 'N': case 'T': case 'S': case 'X': case 'W':
+ case 'N': case 'T': case 'S': case 'X': case 'W': case 'w':
{
/* There is a stop reply to handle. */
rs->waiting_for_stop_reply = 0;