Remove usages of find_inferior in linux-mips-low.c

Replace with for_each_thread with pid filtering.  This allows
simplifying the callback a little bit.

gdb/gdbserver/ChangeLog:

	* linux-mips-low.c (update_watch_registers_callback): Return
	void, remove pid_p parameter, don't check for pid.
	(mips_insert_point, mips_remove_point): Use for_each_thread.
This commit is contained in:
Simon Marchi 2017-12-02 20:36:33 -05:00
parent c91bb56b06
commit da25033cd9
2 changed files with 19 additions and 24 deletions

View File

@ -1,3 +1,9 @@
2017-12-02 Simon Marchi <simon.marchi@polymtl.ca>
* linux-mips-low.c (update_watch_registers_callback): Return
void, remove pid_p parameter, don't check for pid.
(mips_insert_point, mips_remove_point): Use for_each_thread.
2017-12-02 Simon Marchi <simon.marchi@polymtl.ca>
* lynx.low (lynx_delete_thread_callback): Remove.

View File

@ -289,29 +289,21 @@ mips_breakpoint_at (CORE_ADDR where)
return 0;
}
/* Mark the watch registers of lwp, represented by ENTRY, as changed,
if the lwp's process id is *PID_P. */
/* Mark the watch registers of lwp, represented by ENTRY, as changed. */
static int
update_watch_registers_callback (thread_info *thread, void *pid_p)
static void
update_watch_registers_callback (thread_info *thread)
{
struct lwp_info *lwp = get_thread_lwp (thread);
int pid = *(int *) pid_p;
/* Only update the threads of this process. */
if (pid_of (thread) == pid)
{
/* The actual update is done later just before resuming the lwp,
we just mark that the registers need updating. */
lwp->arch_private->watch_registers_changed = 1;
/* The actual update is done later just before resuming the lwp,
we just mark that the registers need updating. */
lwp->arch_private->watch_registers_changed = 1;
/* If the lwp isn't stopped, force it to momentarily pause, so
we can update its watch registers. */
if (!lwp->stopped)
linux_stop_lwp (lwp);
}
return 0;
/* If the lwp isn't stopped, force it to momentarily pause, so
we can update its watch registers. */
if (!lwp->stopped)
linux_stop_lwp (lwp);
}
/* This is the implementation of linux_target_ops method
@ -471,7 +463,6 @@ mips_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
struct process_info *proc = current_process ();
struct arch_process_info *priv = proc->priv->arch_private;
struct pt_watch_regs regs;
int pid;
long lwpid;
enum target_hw_bp_type watch_type;
uint32_t irw;
@ -502,8 +493,7 @@ mips_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
priv->watch_mirror = regs;
/* Only update the threads of this process. */
pid = pid_of (proc);
find_inferior (&all_threads, update_watch_registers_callback, &pid);
for_each_thread (proc->pid, update_watch_registers_callback);
return 0;
}
@ -519,7 +509,6 @@ mips_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
struct arch_process_info *priv = proc->priv->arch_private;
int deleted_one;
int pid;
enum target_hw_bp_type watch_type;
struct mips_watchpoint **pw;
@ -553,8 +542,8 @@ mips_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
&priv->watch_mirror);
/* Only update the threads of this process. */
pid = pid_of (proc);
find_inferior (&all_threads, update_watch_registers_callback, &pid);
for_each_thread (proc->pid, update_watch_registers_callback);
return 0;
}