From 3ee93972f9dbbb77a7cd4f63c6c7bb66a8b12c71 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 20 Aug 2020 10:07:21 -0400 Subject: [PATCH] gdb: clear regcaches at the start of regcaches selftest It currently does not work to run the `regcaches` selftest while debugging something. This is because we expect that there exists no regcache at the start of the test. If we are debugging something, there might exist some regcaches. Fix it by making the test clear regcaches at the start. While at it, make the test clean up after it self and clear the regcaches at the end too. gdb/ChangeLog: * regcache.c (regcaches_test): Call registers_changed. Change-Id: I9d4f83ecb0ff9721a71e2c5cbd19e6e6d4e6c30c --- gdb/ChangeLog | 4 ++++ gdb/regcache.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c568945bf0b..a6835f0b287 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-08-20 Simon Marchi + + * regcache.c (regcaches_test): Call registers_changed. + 2020-08-20 Tankut Baris Aktemur * infrun.c (process_event_stop_test): Fix typo "breapoint". diff --git a/gdb/regcache.c b/gdb/regcache.c index cd54bc6b5f9..9f560acd3ed 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -1506,7 +1506,8 @@ test_get_thread_arch_aspace_regcache (process_stratum_target *target, static void regcaches_test () { - /* It is empty at the start. */ + /* Ensure the regcaches container is empty at the start. */ + registers_changed (); SELF_CHECK (regcaches_size () == 0); ptid_t ptid1 (1), ptid2 (2), ptid3 (3); @@ -1565,6 +1566,9 @@ regcaches_test () clears REGCACHES. */ registers_changed_ptid (nullptr, minus_one_ptid); SELF_CHECK (regcaches_size () == 0); + + /* Make sure to leave the global regcaches container empty. */ + registers_changed (); } class target_ops_no_register : public test_target_ops -- 2.39.2