{
struct target_waitstatus status;
- the_target->pt->wait (minus_one_ptid, &status, 0);
+ the_target->wait (minus_one_ptid, &status, 0);
/* Note win32_wait doesn't return thread events. */
if (status.kind != TARGET_WAITKIND_LOADED)
resume.kind = resume_continue;
resume.sig = 0;
- the_target->pt->resume (&resume, 1);
+ the_target->resume (&resume, 1);
}
}
return len;
}
+bool
+win32_process_target::supports_get_tib_address ()
+{
+ return true;
+}
+
/* Write Windows OS Thread Information Block address. */
-static int
-win32_get_tib_address (ptid_t ptid, CORE_ADDR *addr)
+int
+win32_process_target::get_tib_address (ptid_t ptid, CORE_ADDR *addr)
{
win32_thread_info *th;
th = thread_rec (ptid, 0);
/* Implementation of the target_ops method "sw_breakpoint_from_kind". */
-static const gdb_byte *
-win32_sw_breakpoint_from_kind (int kind, int *size)
+const gdb_byte *
+win32_process_target::sw_breakpoint_from_kind (int kind, int *size)
{
*size = the_low_target.breakpoint_len;
return the_low_target.breakpoint;
static win32_process_target the_win32_target;
-static process_stratum_target win32_target_ops = {
- NULL, /* supports_fork_events */
- NULL, /* supports_vfork_events */
- NULL, /* supports_exec_events */
- NULL, /* handle_new_gdb_connection */
- NULL, /* handle_monitor_command */
- NULL, /* core_of_thread */
- NULL, /* read_loadmap */
- NULL, /* process_qsupported */
- NULL, /* supports_tracepoints */
- NULL, /* read_pc */
- NULL, /* write_pc */
- NULL, /* thread_stopped */
- win32_get_tib_address,
- NULL, /* pause_all */
- NULL, /* unpause_all */
- NULL, /* stabilize_threads */
- NULL, /* install_fast_tracepoint_jump_pad */
- NULL, /* emit_ops */
- NULL, /* supports_disable_randomization */
- NULL, /* get_min_fast_tracepoint_insn_len */
- NULL, /* qxfer_libraries_svr4 */
- NULL, /* support_agent */
- NULL, /* enable_btrace */
- NULL, /* disable_btrace */
- NULL, /* read_btrace */
- NULL, /* read_btrace_conf */
- NULL, /* supports_range_stepping */
- NULL, /* pid_to_exec_file */
- NULL, /* multifs_open */
- NULL, /* multifs_unlink */
- NULL, /* multifs_readlink */
- NULL, /* breakpoint_kind_from_pc */
- win32_sw_breakpoint_from_kind,
- NULL, /* thread_name */
- NULL, /* breakpoint_kind_from_current_state */
- NULL, /* supports_software_single_step */
- NULL, /* supports_catch_syscall */
- NULL, /* get_ipa_tdesc_idx */
- NULL, /* thread_handle */
- &the_win32_target,
-};
-
/* Initialize the Win32 backend. */
void
initialize_low (void)
{
- set_target_ops (&win32_target_ops);
+ set_target_ops (&the_win32_target);
the_low_target.arch_setup ();
}