From c34fd85260102e2a68a248e13a4eb99a3dc8548b Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Wed, 26 Oct 2011 17:32:00 +0000 Subject: [PATCH] * regcache.c (registers_changed_ptid): Invalidate thread architecture and frame caches if PTID refers to all threads of a process. --- gdb/ChangeLog | 5 +++++ gdb/regcache.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e7545918678..5d6087205f1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-10-26 Ulrich Weigand + + * regcache.c (registers_changed_ptid): Invalidate thread architecture + and frame caches if PTID refers to all threads of a process. + 2011-10-26 Ulrich Weigand * spu-tdep.c (spu_catch_start): Pass non-NULL breakpoint ops diff --git a/gdb/regcache.c b/gdb/regcache.c index ea8189e67db..f81ac309bb6 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -548,7 +548,6 @@ void registers_changed_ptid (ptid_t ptid) { struct regcache_list *list, **list_link; - int wildcard = ptid_equal (ptid, minus_one_ptid); list = current_regcache; list_link = ¤t_regcache; @@ -569,13 +568,13 @@ registers_changed_ptid (ptid_t ptid) list = *list_link; } - if (wildcard || ptid_equal (ptid, current_thread_ptid)) + if (ptid_match (current_thread_ptid, ptid)) { current_thread_ptid = null_ptid; current_thread_arch = NULL; } - if (wildcard || ptid_equal (ptid, inferior_ptid)) + if (ptid_match (inferior_ptid, ptid)) { /* We just deleted the regcache of the current thread. Need to forget about any frames we have cached, too. */ -- 2.30.2