proc = add_process (pid, attached);
proc->tdesc = lynx_tdesc;
- proc->private = xcalloc (1, sizeof (*proc->private));
- proc->private->last_wait_event_ptid = null_ptid;
+ proc->priv = XCNEW (struct process_info_private);
+ proc->priv->last_wait_event_ptid = null_ptid;
return proc;
}
unexpected signals (Eg SIG61) when we resume the inferior
using a different thread. */
if (ptid_equal (ptid, minus_one_ptid))
- ptid = current_process()->private->last_wait_event_ptid;
+ ptid = current_process()->priv->last_wait_event_ptid;
/* The ptid might still be minus_one_ptid; this can happen between
the moment we create the inferior or attach to a process, and
if (ptid_equal (ptid, minus_one_ptid))
ptid = thread_to_gdb_id (current_thread);
- regcache_invalidate ();
+ regcache_invalidate_pid (ptid_get_pid (ptid));
errno = 0;
lynx_ptrace (request, ptid, 1, signal, 0);
ret = lynx_waitpid (pid, &wstat);
new_ptid = lynx_ptid_build (ret, ((union wait *) &wstat)->w_tid);
- find_process_pid (ret)->private->last_wait_event_ptid = new_ptid;
+ find_process_pid (ret)->priv->last_wait_event_ptid = new_ptid;
/* If this is a new thread, then add it now. The reason why we do
this here instead of when handling new-thread events is because
lynx_mourn (struct process_info *proc)
{
/* Free our private data. */
- free (proc->private);
- proc->private = NULL;
+ free (proc->priv);
+ proc->priv = NULL;
clear_inferiors ();
}
static void
lynx_request_interrupt (void)
{
- ptid_t inferior_ptid = thread_to_gdb_id (current_thread);
+ ptid_t inferior_ptid = thread_to_gdb_id (get_first_thread ());
kill (lynx_ptid_get_pid (inferior_ptid), SIGINT);
}
static struct target_ops lynx_target_ops = {
lynx_create_inferior,
+ NULL, /* arch_setup */
lynx_attach,
lynx_kill,
lynx_detach,
NULL, /* supports_z_point_type */
NULL, /* insert_point */
NULL, /* remove_point */
+ NULL, /* stopped_by_sw_breakpoint */
+ NULL, /* supports_stopped_by_sw_breakpoint */
+ NULL, /* stopped_by_hw_breakpoint */
+ NULL, /* supports_stopped_by_hw_breakpoint */
+ target_can_do_hardware_single_step,
NULL, /* stopped_by_watchpoint */
NULL, /* stopped_data_address */
NULL, /* read_offsets */
NULL, /* async */
NULL, /* start_non_stop */
NULL, /* supports_multi_process */
+ NULL, /* supports_fork_events */
+ NULL, /* supports_vfork_events */
+ NULL, /* supports_exec_events */
+ NULL, /* handle_new_gdb_connection */
NULL, /* handle_monitor_command */
};