+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
+ into methods of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target ops.
+ (class process_target): Add the target ops.
+ (pause_all): Update the macro and rename to...
+ (target_pause_all): ... this.
+ (unpause_all): Update the macro and rename to...
+ (target_unpause_all): ... this.
+ * target.cc (process_target::pause_all): Define.
+ (process_target::unpause_all): Define.
+
+ Update the derived classes and callers below.
+
+ * server.cc (handle_status): Update.
+ * tracepoint.cc (clear_installed_tracepoints): Update.
+ (cmd_qtdp): Update.
+ (cmd_qtstart): Update.
+ (stop_tracing): Update.
+ (cmd_qtstatus): Update.
+ (upload_fast_traceframes): Update.
+ (run_inferior_command): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_pause_all): Turn into ...
+ (linux_process_target::pause_all): ... this.
+ (linux_unpause_all): Turn into ...
+ (linux_process_target::unpause_all): ... this.
+ (linux_process_target::prepare_to_access_memory): Update.
+ (linux_process_target::done_accessing_memory): 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 get_tib_address 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_get_tib_address'.
+ * target.cc (process_target::get_tib_address): Define.
+ (process_target::supports_get_tib_address): Define.
+
+ Update the derived classes and callers below.
+
+ * server.cc (handle_query): Update.
+ * linux-low.cc (win32_target_ops): Update.
+ * lynx-low.cc (lynx_target_ops): Update.
+ * nto-low.cc (nto_target_ops): Update.
+ * win32-low.cc (win32_target_ops): Update.
+ (win32_process_target::supports_get_tib_address): Define.
+ (win32_get_tib_address): Turn into ...
+ (win32_process_target::get_tib_address): ... 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 thread_stopped 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_thread_stopped'.
+ (target_thread_stopped): Update the macro.
+ * target.cc (process_target::thread_stopped): Define.
+ (process_target::supports_thread_stopped): Define.
+ (prepare_to_access_memory): Update.
+
+ Update the derived classes and callers below.
+
+ * server.cc (queue_stop_reply_callback): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::supports_thread_stopped): Define.
+ (linux_thread_stopped): Turn into ...
+ (linux_process_target::thread_stopped): ... 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 read_pc and write_pc ops into
+ methods of process_target.
+
+ * target.h (struct process_stratum_target): Remove the target ops.
+ (class process_target): Add the target ops.
+ * target.cc (process_target::read_pc): Define.
+ (process_target::write_pc): Define.
+
+ Update the derived classes and callers below.
+
+ * regcache.cc (regcache_read_pc): Update.
+ (regcache_write_pc): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_read_pc): Turn into ...
+ (linux_process_target::read_pc): ... this.
+ (linux_write_pc): Turn into ...
+ (linux_process_target::write_pc): ... 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_tracepoints 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_tracepoints): Update the macro.
+ * target.cc (process_target::supports_tracepoints): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_supports_tracepoints): Turn into ...
+ (linux_process_target::supports_tracepoints): ... 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 process_qsupported 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_process_qsupported): Update the macro.
+ * target.cc (process_target::process_qsupported): Define.
+
+ Update the derived classes and callers below.
+
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_qsupported): Turn into ...
+ (linux_process_target::process_qsupported): ... 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 read_loadmap 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_read_loadmap'.
+ * target.cc (process_target::read_loadmap): Define.
+ (process_target::supports_read_loadmap): Define.
+
+ Update the derived classes and callers below.
+
+ * server.cc (handle_qxfer_fdpic): Update.
+ (handle_query): Update.
+ * linux-low.cc (linux_target_ops): Update.
+ (linux_process_target::supports_read_loadmap): Define.
+ (linux_read_loadmap): Turn into ...
+ (linux_process_target::read_loadmap): ... 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 core_of_thread op into a method of