mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
gdbserver: make thread_target_data a method of thread_info
Make the field private, change the free function to be a method. Change-Id: I05010e7d1bd58ce3895802eb263c029528427758 Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
@@ -28,7 +28,7 @@ struct regcache;
|
||||
struct thread_info : public intrusive_list_node<thread_info>
|
||||
{
|
||||
thread_info (ptid_t id, process_info *process, void *target_data)
|
||||
: id (id), target_data (target_data), m_process (process)
|
||||
: id (id), m_process (process), m_target_data (target_data)
|
||||
{}
|
||||
|
||||
~thread_info ()
|
||||
@@ -46,11 +46,12 @@ struct thread_info : public intrusive_list_node<thread_info>
|
||||
void set_regcache (struct regcache *regcache)
|
||||
{ m_regcache = regcache; }
|
||||
|
||||
void *target_data ()
|
||||
{ return m_target_data; }
|
||||
|
||||
/* The id of this thread. */
|
||||
ptid_t id;
|
||||
|
||||
void *target_data;
|
||||
|
||||
/* The last resume GDB requested on this thread. */
|
||||
enum resume_kind last_resume_kind = resume_continue;
|
||||
|
||||
@@ -94,6 +95,7 @@ struct thread_info : public intrusive_list_node<thread_info>
|
||||
private:
|
||||
process_info *m_process;
|
||||
struct regcache *m_regcache = nullptr;
|
||||
void *m_target_data;
|
||||
};
|
||||
|
||||
/* Return a pointer to the first thread, or NULL if there isn't one. */
|
||||
|
||||
@@ -118,12 +118,6 @@ process_info::remove_thread (thread_info *thread)
|
||||
m_thread_list.erase (m_thread_list.iterator_to (*thread));
|
||||
}
|
||||
|
||||
void *
|
||||
thread_target_data (struct thread_info *thread)
|
||||
{
|
||||
return thread->target_data;
|
||||
}
|
||||
|
||||
void
|
||||
clear_inferiors (void)
|
||||
{
|
||||
|
||||
@@ -154,8 +154,6 @@ void switch_to_process (process_info *proc);
|
||||
|
||||
void clear_inferiors (void);
|
||||
|
||||
void *thread_target_data (struct thread_info *);
|
||||
|
||||
/* Set the inferior current working directory. If CWD is empty, unset
|
||||
the directory. */
|
||||
void set_inferior_cwd (std::string cwd);
|
||||
|
||||
@@ -715,7 +715,7 @@ extern linux_process_target *the_linux_target;
|
||||
static inline lwp_info *
|
||||
get_thread_lwp (thread_info *thr)
|
||||
{
|
||||
return static_cast<lwp_info *> (thread_target_data (thr));
|
||||
return static_cast<lwp_info *> (thr->target_data ());
|
||||
}
|
||||
|
||||
/* Information about a signal that is to be delivered to a thread. */
|
||||
|
||||
@@ -50,7 +50,7 @@ static struct x86_debug_reg_state debug_reg_state;
|
||||
static void
|
||||
update_debug_registers (thread_info *thread)
|
||||
{
|
||||
windows_thread_info *th = (windows_thread_info *) thread_target_data (thread);
|
||||
auto th = static_cast<windows_thread_info *> (thread->target_data ());
|
||||
|
||||
/* The actual update is done later just before resuming the lwp,
|
||||
we just mark that the registers need updating. */
|
||||
@@ -83,8 +83,8 @@ x86_dr_low_set_control (unsigned long control)
|
||||
static DWORD64
|
||||
win32_get_current_dr (int dr)
|
||||
{
|
||||
windows_thread_info *th
|
||||
= (windows_thread_info *) thread_target_data (current_thread);
|
||||
auto th
|
||||
= static_cast<windows_thread_info *> (current_thread->target_data ());
|
||||
|
||||
win32_require_context (th);
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ gdbserver_windows_process::thread_rec
|
||||
if (thread == NULL)
|
||||
return NULL;
|
||||
|
||||
windows_thread_info *th = (windows_thread_info *) thread_target_data (thread);
|
||||
auto th = static_cast<windows_thread_info *> (thread->target_data ());
|
||||
if (disposition != DONT_INVALIDATE_CONTEXT)
|
||||
win32_require_context (th);
|
||||
return th;
|
||||
@@ -178,7 +178,7 @@ child_add_thread (DWORD pid, DWORD tid, HANDLE h, void *tlb)
|
||||
static void
|
||||
delete_thread_info (thread_info *thread)
|
||||
{
|
||||
windows_thread_info *th = (windows_thread_info *) thread_target_data (thread);
|
||||
auto th = static_cast<windows_thread_info *> (thread->target_data ());
|
||||
|
||||
thread->process ()->remove_thread (thread);
|
||||
delete th;
|
||||
@@ -394,7 +394,7 @@ do_initial_child_stuff (HANDLE proch, DWORD pid, int attached)
|
||||
static void
|
||||
continue_one_thread (thread_info *thread, int thread_id)
|
||||
{
|
||||
windows_thread_info *th = (windows_thread_info *) thread_target_data (thread);
|
||||
auto th = static_cast<windows_thread_info *> (thread->target_data ());
|
||||
|
||||
if (thread_id == -1 || thread_id == th->tid)
|
||||
{
|
||||
@@ -923,7 +923,7 @@ gdbserver_windows_process::handle_unload_dll ()
|
||||
static void
|
||||
suspend_one_thread (thread_info *thread)
|
||||
{
|
||||
windows_thread_info *th = (windows_thread_info *) thread_target_data (thread);
|
||||
auto th = static_cast<windows_thread_info *> (thread->target_data ());
|
||||
|
||||
th->suspend ();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user