aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <pedro@palves.net>2023-05-08 19:40:50 +0100
committerPedro Alves <pedro@palves.net>2024-05-08 00:39:55 +0100
commitea80c32fa7af28a45919e2277191bae2f2487fe2 (patch)
tree7220e37fa1ad77acdbb9471958dd8c1085a0ed71
parent446babcd70ae2fb4fd3ef2f83efba4b74c38b170 (diff)
downloadgdb-ea80c32fa7af28a45919e2277191bae2f2487fe2.zip
gdb-ea80c32fa7af28a45919e2277191bae2f2487fe2.tar.gz
gdb-ea80c32fa7af28a45919e2277191bae2f2487fe2.tar.bz2
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
-rw-r--r--gdb/nat/windows-nat.h2
-rw-r--r--gdb/windows-nat.c16
-rw-r--r--gdbserver/win32-low.cc2
-rw-r--r--gdbserver/win32-low.h2
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<char> 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;