[binutils-gdb] Fix windows_nat_target::fake_create_process ptid
Pedro Alves
palves@sourceware.org
Mon Mar 25 19:35:31 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ccf3148e3133f016a8e1484e85e5e4d8c271c4f0
commit ccf3148e3133f016a8e1484e85e5e4d8c271c4f0
Author: Pedro Alves <pedro@palves.net>
Date: Fri Mar 22 19:28:55 2024 +0000
Fix windows_nat_target::fake_create_process ptid
While working on Windows non-stop mode, I managed to introduce a bug
that led to fake_create_process being called. That then resulted in
GDB crashes later on, because fake_create_process added a thread with
an incorrect ptid for this target. It is putting dwThreadId in the
tid field of the ptid instead of on the lwp field. This is fixed by
this patch.
Change-Id: Iaee5d2deaa57c501f7e6909f8ac242af9b183215
Diff:
---
gdb/windows-nat.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index ee38b985efa..b123a66ef0f 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -1371,8 +1371,8 @@ windows_nat_target::fake_create_process ()
throw_winerror_with_name (_("OpenProcess call failed"), err);
/* We can not debug anything in that case. */
}
- add_thread (ptid_t (windows_process.current_event.dwProcessId, 0,
- windows_process.current_event.dwThreadId),
+ add_thread (ptid_t (windows_process.current_event.dwProcessId,
+ windows_process.current_event.dwThreadId, 0),
windows_process.current_event.u.CreateThread.hThread,
windows_process.current_event.u.CreateThread.lpThreadLocalBase,
true /* main_thread_p */);
More information about the Gdb-cvs
mailing list