Rename current_inferior as current_thread in gdbserver
GDB has a function named "current_inferior" and gdbserver has a global variable named "current_inferior", but the two are not equivalent; indeed, gdbserver does not have any real equivalent of what GDB calls an inferior. What gdbserver's "current_inferior" is actually pointing to is a structure describing the current thread. This commit renames current_inferior as current_thread in gdbserver to clarify this. It also renames the function "set_desired_inferior" to "set_desired_thread" and renames various local variables from foo_inferior to foo_thread. gdb/gdbserver/ChangeLog: * inferiors.h (current_inferior): Renamed as... (current_thread): New variable. All uses updated. * linux-low.c (get_pc): Renamed saved_inferior as saved_thread. (maybe_move_out_of_jump_pad): Likewise. (cancel_breakpoint): Likewise. (linux_low_filter_event): Likewise. (wait_for_sigstop): Likewise. (linux_resume_one_lwp): Likewise. (need_step_over_p): Likewise. (start_step_over): Likewise. (linux_stabilize_threads): Renamed save_inferior as saved_thread. * linux-x86-low.c (x86_linux_update_xmltarget): Likewise. * proc-service.c (ps_lgetregs): Renamed reg_inferior as reg_thread and save_inferior as saved_thread. * regcache.c (get_thread_regcache): Renamed saved_inferior as saved_thread. (regcache_invalidate_thread): Likewise. * remote-utils.c (prepare_resume_reply): Likewise. * thread-db.c (thread_db_get_tls_address): Likewise. (disable_thread_event_reporting): Likewise. (remove_thread_event_breakpoints): Likewise. * tracepoint.c (gdb_agent_about_to_close): Renamed save_inferior as saved_thread. * target.h (set_desired_inferior): Renamed as... (set_desired_thread): New declaration. All uses updated. * server.c (myresume): Updated comment to reference thread instead of inferior. (handle_serial_event): Likewise. (handle_target_event): Likewise.
This commit is contained in:
parent
635856f584
commit
0bfdf32fa1
28 changed files with 277 additions and 245 deletions
|
@ -268,8 +268,8 @@ start_inferior (char **argv)
|
|||
if (last_status.kind != TARGET_WAITKIND_STOPPED)
|
||||
return signal_pid;
|
||||
|
||||
current_inferior->last_resume_kind = resume_stop;
|
||||
current_inferior->last_status = last_status;
|
||||
current_thread->last_resume_kind = resume_stop;
|
||||
current_thread->last_status = last_status;
|
||||
}
|
||||
while (last_status.value.sig != GDB_SIGNAL_TRAP);
|
||||
|
||||
|
@ -283,8 +283,8 @@ start_inferior (char **argv)
|
|||
if (last_status.kind != TARGET_WAITKIND_EXITED
|
||||
&& last_status.kind != TARGET_WAITKIND_SIGNALLED)
|
||||
{
|
||||
current_inferior->last_resume_kind = resume_stop;
|
||||
current_inferior->last_status = last_status;
|
||||
current_thread->last_resume_kind = resume_stop;
|
||||
current_thread->last_status = last_status;
|
||||
}
|
||||
|
||||
return signal_pid;
|
||||
|
@ -322,8 +322,8 @@ attach_inferior (int pid)
|
|||
&& last_status.value.sig == GDB_SIGNAL_STOP)
|
||||
last_status.value.sig = GDB_SIGNAL_TRAP;
|
||||
|
||||
current_inferior->last_resume_kind = resume_stop;
|
||||
current_inferior->last_status = last_status;
|
||||
current_thread->last_resume_kind = resume_stop;
|
||||
current_thread->last_status = last_status;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -2316,7 +2316,7 @@ handle_v_cont (char *own_buf)
|
|||
cont_thread = resume_info[0].thread;
|
||||
else
|
||||
cont_thread = minus_one_ptid;
|
||||
set_desired_inferior (0);
|
||||
set_desired_thread (0);
|
||||
|
||||
resume (resume_info, n);
|
||||
free (resume_info);
|
||||
|
@ -2370,7 +2370,7 @@ resume (struct thread_resume *actions, size_t num_actions)
|
|||
if (last_status.kind != TARGET_WAITKIND_EXITED
|
||||
&& last_status.kind != TARGET_WAITKIND_SIGNALLED
|
||||
&& last_status.kind != TARGET_WAITKIND_NO_RESUMED)
|
||||
current_inferior->last_status = last_status;
|
||||
current_thread->last_status = last_status;
|
||||
|
||||
/* From the client's perspective, all-stop mode always stops all
|
||||
threads implicitly (and the target backend has already done
|
||||
|
@ -2609,7 +2609,7 @@ handle_v_requests (char *own_buf, int packet_len, int *new_packet_len)
|
|||
return;
|
||||
}
|
||||
|
||||
/* Resume inferior and wait for another event. In non-stop mode,
|
||||
/* Resume thread and wait for another event. In non-stop mode,
|
||||
don't really wait here, but return immediatelly to the event
|
||||
loop. */
|
||||
static void
|
||||
|
@ -2619,7 +2619,7 @@ myresume (char *own_buf, int step, int sig)
|
|||
int n = 0;
|
||||
int valid_cont_thread;
|
||||
|
||||
set_desired_inferior (0);
|
||||
set_desired_thread (0);
|
||||
|
||||
valid_cont_thread = (!ptid_equal (cont_thread, null_ptid)
|
||||
&& !ptid_equal (cont_thread, minus_one_ptid));
|
||||
|
@ -2840,7 +2840,7 @@ handle_status (char *own_buf)
|
|||
/* GDB assumes the current thread is the thread we're
|
||||
reporting the status for. */
|
||||
general_thread = thread->id;
|
||||
set_desired_inferior (1);
|
||||
set_desired_thread (1);
|
||||
|
||||
gdb_assert (tp->last_status.kind != TARGET_WAITKIND_IGNORE);
|
||||
prepare_resume_reply (own_buf, tp->entry.id, &tp->last_status);
|
||||
|
@ -3542,7 +3542,7 @@ process_serial_event (void)
|
|||
last_status.value.integer = 0;
|
||||
last_ptid = pid_to_ptid (pid);
|
||||
|
||||
current_inferior = NULL;
|
||||
current_thread = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3623,7 +3623,7 @@ process_serial_event (void)
|
|||
}
|
||||
|
||||
general_thread = thread_id;
|
||||
set_desired_inferior (1);
|
||||
set_desired_thread (1);
|
||||
}
|
||||
else if (own_buf[1] == 'c')
|
||||
cont_thread = thread_id;
|
||||
|
@ -3655,8 +3655,8 @@ process_serial_event (void)
|
|||
{
|
||||
struct regcache *regcache;
|
||||
|
||||
set_desired_inferior (1);
|
||||
regcache = get_thread_regcache (current_inferior, 1);
|
||||
set_desired_thread (1);
|
||||
regcache = get_thread_regcache (current_thread, 1);
|
||||
registers_to_string (regcache, own_buf);
|
||||
}
|
||||
break;
|
||||
|
@ -3668,8 +3668,8 @@ process_serial_event (void)
|
|||
{
|
||||
struct regcache *regcache;
|
||||
|
||||
set_desired_inferior (1);
|
||||
regcache = get_thread_regcache (current_inferior, 1);
|
||||
set_desired_thread (1);
|
||||
regcache = get_thread_regcache (current_thread, 1);
|
||||
registers_from_string (regcache, &own_buf[1]);
|
||||
write_ok (own_buf);
|
||||
}
|
||||
|
@ -3897,9 +3897,9 @@ handle_serial_event (int err, gdb_client_data client_data)
|
|||
if (process_serial_event () < 0)
|
||||
return -1;
|
||||
|
||||
/* Be sure to not change the selected inferior behind GDB's back.
|
||||
/* Be sure to not change the selected thread behind GDB's back.
|
||||
Important in the non-stop mode asynchronous protocol. */
|
||||
set_desired_inferior (1);
|
||||
set_desired_thread (1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -3936,8 +3936,8 @@ handle_target_event (int err, gdb_client_data client_data)
|
|||
/* We're reporting this thread as stopped. Update its
|
||||
"want-stopped" state to what the client wants, until it
|
||||
gets a new resume action. */
|
||||
current_inferior->last_resume_kind = resume_stop;
|
||||
current_inferior->last_status = last_status;
|
||||
current_thread->last_resume_kind = resume_stop;
|
||||
current_thread->last_status = last_status;
|
||||
}
|
||||
|
||||
if (forward_event)
|
||||
|
@ -3984,9 +3984,9 @@ handle_target_event (int err, gdb_client_data client_data)
|
|||
}
|
||||
}
|
||||
|
||||
/* Be sure to not change the selected inferior behind GDB's back.
|
||||
/* Be sure to not change the selected thread behind GDB's back.
|
||||
Important in the non-stop mode asynchronous protocol. */
|
||||
set_desired_inferior (1);
|
||||
set_desired_thread (1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue