forked from Imagelibrary/binutils-gdb
Don't write to inferior_ptid in btrace_fetch
gdb/ChangeLog: 2020-06-18 Pedro Alves <palves@redhat.com> * btrace.c (btrace_fetch): Use switch_to_thread instead of writing to inferior_ptid.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2020-06-18 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* btrace.c (btrace_fetch): Use switch_to_thread instead of writing
|
||||
to inferior_ptid.
|
||||
|
||||
2020-06-18 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* bsd-kvm.c (bsd_kvm_target::close): Use switch_to_no_thread
|
||||
|
||||
11
gdb/btrace.c
11
gdb/btrace.c
@@ -1910,11 +1910,12 @@ btrace_fetch (struct thread_info *tp, const struct btrace_cpu *cpu)
|
||||
if (btinfo->replay != NULL)
|
||||
return;
|
||||
|
||||
/* With CLI usage, TP->PTID always equals INFERIOR_PTID here. Now that we
|
||||
can store a gdb.Record object in Python referring to a different thread
|
||||
than the current one, temporarily set INFERIOR_PTID. */
|
||||
scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
|
||||
inferior_ptid = tp->ptid;
|
||||
/* With CLI usage, TP is always the current thread when we get here.
|
||||
However, since we can also store a gdb.Record object in Python
|
||||
referring to a different thread than the current one, we need to
|
||||
temporarily set the current thread. */
|
||||
scoped_restore_current_thread restore_thread;
|
||||
switch_to_thread (tp);
|
||||
|
||||
/* We should not be called on running or exited threads. */
|
||||
gdb_assert (can_access_registers_thread (tp));
|
||||
|
||||
Reference in New Issue
Block a user