[binutils-gdb] Windows gdb: handle_output_debug_string return type

Pedro Alves via Gdb-cvs <[email protected]>
Newsgroups gmane.comp.gdb.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=651baaff57f41771981566c69ce92afaa024eda7

commit 651baaff57f41771981566c69ce92afaa024eda7
Author: Pedro Alves <[email protected]>
Date:   Mon May 8 19:40:50 2023 +0100

    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.
    
    Approved-By: Tom Tromey <[email protected]>
    Change-Id: Icbd071a1a37de8a0fc8918bd13254a8d40311e32

Diff:
---
 gdb/nat/windows-nat.h  |  2 +-
 gdb/windows-nat.c      | 14 +++++++-------
 gdb/windows-nat.h      |  2 +-
 gdbserver/win32-low.cc |  2 +-
 gdbserver/win32-low.h  |  2 +-
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h
index 32f055a7a52..97c8c6cc43d 100644
--- a/gdb/nat/windows-nat.h
+++ b/gdb/nat/windows-nat.h
@@ -202,7 +202,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 46385ff87c5..ff23791e5a8 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -627,11 +627,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
@@ -672,19 +672,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;
 }
 
 /* See nat/windows-nat.h.  */
diff --git a/gdb/windows-nat.h b/gdb/windows-nat.h
index 10c144bf4c6..a686c5b6679 100644
--- a/gdb/windows-nat.h
+++ b/gdb/windows-nat.h
@@ -50,7 +50,7 @@ struct windows_per_inferior : public windows_nat::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;
diff --git a/gdbserver/win32-low.cc b/gdbserver/win32-low.cc
index d2b76b5d6c9..d6d7acf599d 100644
--- a/gdbserver/win32-low.cc
+++ b/gdbserver/win32-low.cc
@@ -608,7 +608,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 edd7c757f09..48ad111ad1a 100644
--- a/gdbserver/win32-low.h
+++ b/gdbserver/win32-low.h
@@ -182,7 +182,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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.