From 50838d1be72ddd30e0b5f081933482424ae5a6b0 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 18 Jun 2020 21:28:35 +0100 Subject: Don't write to inferior_ptid in windows-nat.c, part II Writing to inferior_ptid in windows_nat_target::get_windows_debug_event is just incorrect and not necessary. We'll report the event to GDB's core, which then takes care of switching inferior_ptid / current thread. Related (see windows_nat_target::get_windows_debug_event), there's also a "current_windows_thread" global that is just begging to get out of sync with core GDB's current thread. This patch removes it. gdbserver already does not have an equivalent global in win32-low.cc. gdb/ChangeLog: 2020-06-18 Pedro Alves * nat/windows-nat.c (current_windows_thread): Remove. * nat/windows-nat.h (current_windows_thread): Remove. * windows-nat.c (windows_nat_target::stopped_by_sw_breakpoint): Adjust. (display_selectors): Adjust to fetch the current windows_thread_info based on inferior_ptid. (fake_create_process): No longer write to current_windows_thread. (windows_nat_target::get_windows_debug_event): Don't set inferior_ptid or current_windows_thread. (windows_nat_target::wait): Adjust to not rely on current_windows_thread. (do_initial_windows_stuff): Now a method of windows_nat_target. Switch to the last_ptid thread. (windows_nat_target::attach): Adjust. (windows_nat_target::detach): Use switch_to_no_thread instead of writing to inferior_ptid directly. (windows_nat_target::create_inferior): Adjust. --- gdb/nat/windows-nat.c | 1 - gdb/nat/windows-nat.h | 3 --- 2 files changed, 4 deletions(-) (limited to 'gdb/nat') diff --git a/gdb/nat/windows-nat.c b/gdb/nat/windows-nat.c index 709a9d3..be6db97 100644 --- a/gdb/nat/windows-nat.c +++ b/gdb/nat/windows-nat.c @@ -36,7 +36,6 @@ DEBUG_EVENT current_event; ContinueDebugEvent. */ static DEBUG_EVENT last_wait_event; -windows_thread_info *current_windows_thread; DWORD desired_stop_thread_id = -1; std::vector pending_stops; EXCEPTION_RECORD siginfo_er; diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h index 80c652b..f742db2 100644 --- a/gdb/nat/windows-nat.h +++ b/gdb/nat/windows-nat.h @@ -180,9 +180,6 @@ extern enum gdb_signal last_sig; stop. */ extern DEBUG_EVENT current_event; -/* Info on currently selected thread */ -extern windows_thread_info *current_windows_thread; - /* The ID of the thread for which we anticipate a stop event. Normally this is -1, meaning we'll accept an event in any thread. */ -- cgit v1.1