diff options
-rw-r--r-- | gdb/nat/windows-nat.h | 10 | ||||
-rw-r--r-- | gdb/windows-nat.c | 2 | ||||
-rw-r--r-- | gdbserver/win32-low.cc | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h index 86ad8d0..26b1eae 100644 --- a/gdb/nat/windows-nat.h +++ b/gdb/nat/windows-nat.h @@ -42,13 +42,16 @@ struct pending_stop target_waitstatus status; }; +struct windows_process_info; /* Thread information structure used to track extra information about each thread. */ struct windows_thread_info { - windows_thread_info (DWORD tid_, HANDLE h_, CORE_ADDR tlb) - : tid (tid_), + windows_thread_info (windows_process_info *proc_, + DWORD tid_, HANDLE h_, CORE_ADDR tlb) + : proc (proc_), + tid (tid_), h (h_), thread_local_base (tlb) { @@ -67,6 +70,9 @@ struct windows_thread_info the next call. */ const char *thread_name (); + /* The process this thread belongs to. */ + windows_process_info *proc; + /* The Win32 thread identifier. */ DWORD tid; diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 0064444..1608c47 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -613,7 +613,7 @@ windows_nat_target::add_thread (ptid_t ptid, HANDLE h, void *tlb, if (windows_process.wow64_process) base += 0x2000; #endif - th = new windows_thread_info (ptid.lwp (), h, base); + th = new windows_thread_info (&windows_process, ptid.lwp (), h, base); windows_process.thread_list.emplace_back (th); /* Add this new thread to the list of threads. diff --git a/gdbserver/win32-low.cc b/gdbserver/win32-low.cc index 5560091..985c6a0 100644 --- a/gdbserver/win32-low.cc +++ b/gdbserver/win32-low.cc @@ -167,7 +167,7 @@ child_add_thread (DWORD pid, DWORD tid, HANDLE h, void *tlb) if (windows_process.wow64_process) base += 2 * 4096; /* page size = 4096 */ #endif - th = new windows_thread_info (tid, h, base); + th = new windows_thread_info (&windows_process, tid, h, base); add_thread (ptid, th); |