X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdbserver%2Fwin32-low.cc;h=8b2a16e86dc6ad66cf7bc3a4e31642921b8224ee;hb=bd70b1f240b24d8c9b08868ca777f5a81d13c0c2;hp=ee7a0ea92a63556c71e6d8936d799d16269945d1;hpb=652aef7792f479564f01deada1a1804b83ccbffa;p=deliverable%2Fbinutils-gdb.git diff --git a/gdbserver/win32-low.cc b/gdbserver/win32-low.cc index ee7a0ea92a..8b2a16e86d 100644 --- a/gdbserver/win32-low.cc +++ b/gdbserver/win32-low.cc @@ -377,7 +377,7 @@ do_initial_child_stuff (HANDLE proch, DWORD pid, int attached) { 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) @@ -393,7 +393,7 @@ do_initial_child_stuff (HANDLE proch, DWORD pid, int attached) resume.kind = resume_continue; resume.sig = 0; - the_target->pt->resume (&resume, 1); + the_target->resume (&resume, 1); } } @@ -1824,10 +1824,16 @@ win32_process_target::qxfer_siginfo (const char *annex, 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); @@ -1840,8 +1846,8 @@ win32_get_tib_address (ptid_t ptid, CORE_ADDR *addr) /* 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; @@ -1851,53 +1857,10 @@ win32_sw_breakpoint_from_kind (int kind, int *size) 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 (); }