]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Windows gdb: handle_output_debug_string return type
authorPedro Alves <pedro@palves.net>
Mon, 8 May 2023 18:40:50 +0000 (19:40 +0100)
committerPedro Alves <pedro@palves.net>
Fri, 24 Apr 2026 20:28:44 +0000 (21:28 +0100)
handle_output_debug_string returns a Windows thread id, so it should
return a DWORD instead of an int.

Approved-By: Tom Tromey <tom@tromey.com>
Change-Id: Icbd071a1a37de8a0fc8918bd13254a8d40311e32

gdb/nat/windows-nat.h
gdb/windows-nat.c
gdb/windows-nat.h
gdbserver/win32-low.cc
gdbserver/win32-low.h

index 32f055a7a528a3692930b205c5db6815a1ae3d73..97c8c6cc43d4cefc3ef5ae6bd43398a48e319b0e 100644 (file)
@@ -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.
 
index 46385ff87c5f4a1803ef8ece365640f1d82013d6..ff23791e5a844ef1b5e7a8614062829ccc91689a 100644 (file)
@@ -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.  */
index 10c144bf4c6f2fe0fa23a8b712d0b93be0677f1a..a686c5b667940b7d2728ff17502bbb0417ee8f31 100644 (file)
@@ -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;
index d2b76b5d6c98696c4519ea014ce6f8a53b5c6a1d..d6d7acf599dab1a899f8de85740117c986d8f7cf 100644 (file)
@@ -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)
 {
index edd7c757f09b4ec08ff394639aaa74b419e4a848..48ad111ad1a39e8d13a0d7d9f52cafe6972d0dfb 100644 (file)
@@ -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;