From ea80c32fa7af28a45919e2277191bae2f2487fe2 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 8 May 2023 19:40:50 +0100 Subject: Windows gdb: handle_output_debug_string return type handle_output_debug_string returns a Windows thread id, so it should return a DWORD instead of an int. Change-Id: Icbd071a1a37de8a0fc8918bd13254a8d40311e32 --- gdb/nat/windows-nat.h | 2 +- gdb/windows-nat.c | 16 ++++++++-------- gdbserver/win32-low.cc | 2 +- gdbserver/win32-low.h | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h index 9e8c87e..7d33634 100644 --- a/gdb/nat/windows-nat.h +++ b/gdb/nat/windows-nat.h @@ -196,7 +196,7 @@ struct windows_process_info a Cygwin signal. Otherwise just print the string as a warning. This function must be supplied by the embedding application. */ - virtual int handle_output_debug_string (struct target_waitstatus *ourstatus) = 0; + virtual DWORD handle_output_debug_string (struct target_waitstatus *ourstatus) = 0; /* Handle a DLL load event. diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 3a3dad5..4ffbeaa 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -93,7 +93,7 @@ struct windows_per_inferior : public windows_process_info windows_thread_info *find_thread (ptid_t ptid) override; windows_thread_info *thread_rec (ptid_t ptid, thread_disposition_type disposition) override; - int handle_output_debug_string (struct target_waitstatus *ourstatus) override; + DWORD handle_output_debug_string (struct target_waitstatus *ourstatus) override; void handle_load_dll (const char *dll_name, LPVOID base) override; void handle_unload_dll () override; bool handle_access_violation (const EXCEPTION_RECORD *rec) override; @@ -996,11 +996,11 @@ signal_event_command (const char *args, int from_tty) /* See nat/windows-nat.h. */ -int +DWORD windows_per_inferior::handle_output_debug_string (struct target_waitstatus *ourstatus) { - int retval = 0; + DWORD thread_id = 0; gdb::unique_xmalloc_ptr s = (target_read_string @@ -1041,19 +1041,19 @@ windows_per_inferior::handle_output_debug_string if (gotasig) { ourstatus->set_stopped (gotasig); - retval = strtoul (p, &p, 0); - if (!retval) - retval = current_event.dwThreadId; + thread_id = strtoul (p, &p, 0); + if (thread_id == 0) + thread_id = current_event.dwThreadId; else x = (LPCVOID) (uintptr_t) strtoull (p, NULL, 0); } DEBUG_EVENTS ("gdb: cygwin signal %d, thread 0x%x, CONTEXT @ %p", - gotasig, retval, x); + gotasig, thread_id, x); } #endif - return retval; + return thread_id; } static int diff --git a/gdbserver/win32-low.cc b/gdbserver/win32-low.cc index 5a57eed..5d3ad38 100644 --- a/gdbserver/win32-low.cc +++ b/gdbserver/win32-low.cc @@ -642,7 +642,7 @@ win32_process_target::attach (unsigned long pid) /* See nat/windows-nat.h. */ -int +DWORD gdbserver_windows_process::handle_output_debug_string (struct target_waitstatus *ourstatus) { diff --git a/gdbserver/win32-low.h b/gdbserver/win32-low.h index c725c18..8162d97 100644 --- a/gdbserver/win32-low.h +++ b/gdbserver/win32-low.h @@ -178,7 +178,7 @@ struct gdbserver_windows_process : public windows_nat::windows_process_info windows_nat::windows_thread_info *thread_rec (ptid_t ptid, windows_nat::thread_disposition_type disposition) override; - int handle_output_debug_string (struct target_waitstatus *ourstatus) override; + DWORD handle_output_debug_string (struct target_waitstatus *ourstatus) override; void handle_load_dll (const char *dll_name, LPVOID base) override; void handle_unload_dll () override; bool handle_access_violation (const EXCEPTION_RECORD *rec) override; -- cgit v1.1