diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2021-12-13 12:22:48 +0100 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2021-12-13 12:22:48 +0100 |
commit | 24583e45efc823c1a9ea009dfddc36f9b74dcbcd (patch) | |
tree | ac00cde441192c880eee0f36a7e4346e0ba53c58 /gdbserver/regcache.cc | |
parent | f24791b72e764ada576901c0e866bf7768773a16 (diff) | |
download | binutils-24583e45efc823c1a9ea009dfddc36f9b74dcbcd.zip binutils-24583e45efc823c1a9ea009dfddc36f9b74dcbcd.tar.gz binutils-24583e45efc823c1a9ea009dfddc36f9b74dcbcd.tar.bz2 |
gdbserver: replace direct assignments to current_thread
Replace the direct assignments to current_thread with
switch_to_thread. Use scoped_restore_current_thread when appropriate.
There is one instance remaining in linux-low.cc's wait_for_sigstop.
This will be handled in a separate patch.
Regression-tested on X86-64 Linux using the native-gdbserver and
native-extended-gdbserver board files.
Diffstat (limited to 'gdbserver/regcache.cc')
-rw-r--r-- | gdbserver/regcache.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gdbserver/regcache.cc b/gdbserver/regcache.cc index 312f14e..304be0d 100644 --- a/gdbserver/regcache.cc +++ b/gdbserver/regcache.cc @@ -49,14 +49,13 @@ get_thread_regcache (struct thread_info *thread, int fetch) if (fetch && regcache->registers_valid == 0) { - struct thread_info *saved_thread = current_thread; + scoped_restore_current_thread restore_thread; - current_thread = thread; + switch_to_thread (thread); /* Invalidate all registers, to prevent stale left-overs. */ memset (regcache->register_status, REG_UNAVAILABLE, regcache->tdesc->reg_defs.size ()); fetch_inferior_registers (regcache, -1); - current_thread = saved_thread; regcache->registers_valid = 1; } @@ -83,11 +82,10 @@ regcache_invalidate_thread (struct thread_info *thread) if (regcache->registers_valid) { - struct thread_info *saved_thread = current_thread; + scoped_restore_current_thread restore_thread; - current_thread = thread; + switch_to_thread (thread); store_inferior_registers (regcache, -1); - current_thread = saved_thread; } regcache->registers_valid = 0; |