+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's get_ipa_tdesc_idx op into a method
+ of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_get_ipa_tdesc_idx): Update the macro.
+ * target.cc (process_target::get_ipa_tdesc_idx): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_get_ipa_tdesc_idx): Turn into ...
+ (linux_process_target::get_ipa_tdesc_idx): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's supports_catch_syscall op into a
+ method of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_supports_catch_syscall): Update the macro.
+ * target.cc (process_target::supports_catch_syscall): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_supports_catch_syscall): Turn into ...
+ (linux_process_target::supports_catch_syscall): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's supports_software_single_step op
+ into a method of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_supports_software_single_step): Update the macro.
+ * target.cc (process_target::supports_software_single_step): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_supports_software_single_step): Turn into ...
+ (linux_process_target::supports_software_single_step): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's thread_name and thread_handle ops
+ into methods of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target ops.
+ (class process_target): Add the target ops.
+ (target_thread_name): Update the macro.
+ (target_thread_handle): Update the macro.
+ * target.cc (process_target::thread_name): Define.
+ (process_target::thread_handle): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::thread_name): Define.
+ (linux_process_target::thread_handle): Define.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's breakpoint_kind_from_pc,
+ sw_breakpoint_from_kind, and breakpoint_kind_from_current_state
+ ops into methods of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_breakpoint_kind_from_pc): Update the macro.
+ (target_breakpoint_kind_from_current_state): Update the macro.
+ (default_breakpoint_kind_from_pc): Remove declaration.
+ * target.cc (default_breakpoint_kind_from_pc): Turn into ...
+ (process_target::breakpoint_kind_from_pc): ... this.
+ (process_target::breakpoint_kind_from_current_state): Define.
+
+ Update the derived classes and callers below.
+
+ * mem-break.cc (bp_size): Update.
+ (bp_opcode): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_wait_1): Update.
+ (linux_breakpoint_kind_from_pc): Turn into ...
+ (linux_process_target::breakpoint_kind_from_pc): ... this.
+ (linux_sw_breakpoint_from_kind): Turn into ...
+ (linux_process_target::sw_breakpoint_from_kind): ... this.
+ (linux_breakpoint_kind_from_current_state): Turn into ...
+ (linux_process_target::breakpoint_kind_from_current_state): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ (lynx_process_target::sw_breakpoint_from_kind): Define.
+ * lynx-low.h (class lynx_process_target): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ (nto_sw_breakpoint_from_kind): Turn into ...
+ (nto_process_target::sw_breakpoint_from_kind): ... this.
+ * nto-low.h (class nto_process_target): Update.
+ * win32-low.cc (win32_target_ops): Update.
+ (win32_sw_breakpoint_from_kind): Turn into ...
+ (win32_process_target::sw_breakpoint_from_kind): ... this.
+ * win32-low.h (class win32_process_target): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's multifs_open, multifs_readlink,
+ multifs_unlink ops into methods of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target ops.
+ (class process_target): Add the target ops. Also add
+ 'supports_multifs'.
+ * target.cc: Include "fcntl.h", "unistd.h", "sys/types.h", and
+ "sys/stat.h".
+ (process_target::supports_multifs): Define.
+ (process_target::multifs_open): Define.
+ (process_target::multifs_readlink): Define.
+ (process_target::multifs_unlink): Define.
+
+ Update the derived classes and callers below.
+
+ * hostio.cc (handle_setfs): Update.
+ (handle_open): Update.
+ (handle_unlink): Update.
+ (handle_readlink): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::supports_multifs): Define.
+ (linux_process_target::multifs_open): Define.
+ (linux_process_target::multifs_readlink): Define.
+ (linux_process_target::multifs_unlink): Define.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's pid_to_exec_file op into a method
+ of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op. Also add
+ 'supports_pid_to_exec_file'.
+ * target.cc (process_target::pid_to_exec_file): Define.
+ (process_target::supports_pid_to_exec_file): Define.
+
+ Update the derived classes and callers below.
+
+ * server.cc (handle_qxfer_exec_file): Update.
+ (handle_query): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::supports_pid_to_exec_file): Define.
+ (linux_process_target::pid_to_exec_file): Define.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's supports_range_stepping op into a
+ method of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_supports_range_stepping): Update the macro.
+ * target.cc (process_target::supports_range_stepping): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_supports_range_stepping): Turn into ...
+ (linux_process_target::supports_range_stepping): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's btrace-related ops (enable_btrace,
+ disable_btrace, read_btrace, read_btrace_conf) into methods of
+ process_target.
+
+ * target.h (struct process_stratum_target): Remove the target ops.
+ (class process_target): Add the target ops.
+ (target_enable_btrace): Update.
+ (target_disable_btrace): Update.
+ (target_read_btrace): Update.
+ (target_read_btrace_conf): Update.
+ * target.cc (process_target::enable_btrace): Define.
+ (process_target::disable_btrace): Define.
+ (process_target::read_btrace): Define.
+ (process_target::read_btrace_conf): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target:enable_btrace): Define as a wrapper around
+ linux_enable_btrace.
+ (linux_low_disable_btrace): Turn into ...
+ (linux_process_target::disable_btrace): ... this.
+ (linux_low_read_btrace): Turn into ...
+ (linux_process_target::read_btrace): ... this.
+ (linux_low_btrace_conf): Turn into ...
+ (linux_process_target::read_btrace_conf): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's supports_agent op into a method of
+ process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_supports_agent): Update the macro.
+ * target.cc (process_target::supports_agent): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_supports_agent): Turn into ...
+ (linux_process_target::supports_agent): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's qxfer_libraries_svr4 op into a
+ method of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op. Also add
+ 'supports_qxfer_libraries_svr4'.
+ * target.cc (process_target::qxfer_libraries_svr4): Define.
+ (process_target::supports_qxfer_libraries_svr4): Define.
+
+ Update the derived classes and callers below.
+
+ * server.cc (handle_qxfer_libraries_svr4): Update.
+ (handle_query): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::supports_qxfer_libraries_svr4): Define.
+ (linux_qxfer_libraries_svr4): Turn into ...
+ (linux_process_target::qxfer_libraries_svr4): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's supports_disable_randomization op
+ into a method of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_supports_disable_randomization): Update the macro.
+ * target.cc (process_target::supports_disable_randomization): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_supports_disable_randomization): Turn into ...
+ (linux_process_target::supports_disable_randomization): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's emit_ops op into a method of
+ process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_emit_ops): Update the macro.
+ * target.cc (process_target::emit_ops): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_emit_ops): Turn into ...
+ (linux_process_target::emit_ops): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's install_fast_tracepoint_jump_pad
+ and get_min_fast_tracepoint_insn_len ops into methods of
+ process_target.
+
+ * target.h (struct process_stratum_target): Remove the target ops.
+ (class process_target): Add the target ops. Also add
+ 'supports_fast_tracepoints'.
+ (target_supports_fast_tracepoints): Update the macro.
+ (target_get_min_fast_tracepoint_insn_len): Update the macro.
+ (install_fast_tracepoint_jump_pad): Update and rename the macro
+ to ...
+ (target_install_fast_tracepoint_jump_pad): ... this.
+ * target.cc (process_target::supports_fast_tracepoints): Define.
+ (process_target::install_fast_tracepoint_jump_pad): Define.
+ (process_target::get_min_fast_tracepoint_insn_len): Define.
+
+ Update the derived classes and callers below.
+
+ * tracepoint.cc (install_fast_tracepoint): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::supports_fast_tracepoints): Define.
+ (linux_install_fast_tracepoint_jump_pad): Turn into ...
+ (linux_process_target::install_fast_tracepoint_jump_pad): ... this.
+ (linux_get_min_fast_tracepoint_insn_len): Turn into ...
+ (linux_process_target::get_min_fast_tracepoint_insn_len): ... this.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn process_stratum_target's stabilize_threads op into a
+ method of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target op.
+ (class process_target): Add the target op.
+ (target_stabilize_threads): Update the macro.
+ * target.cc (process_target::stabilize_threads): Define.
+
+ Update the derived classes and callers below.
+
+ * server.cc (handle_status): Update.
+ * tracepoint.cc (cmd_qtdp): Update.
+ (cmd_qtstart): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_stabilize_threads): Turn into ...
+ (linux_process_target::stabilize_threads): ... this.
+ (linux_wait_1): Update.
+ * linux-low.h (class linux_process_target): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+
2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Turn process_stratum_target's pause_all and unpause_all ops