gdbserver/linux-low: turn 'siginfo_fixup' into a method
[deliverable/binutils-gdb.git] / gdbserver / ChangeLog
index 05620affa925509c84f6f7be9c92367f3277baf3..6ca38f07e52e087e0b9674c69f657026f21083cd 100644 (file)
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'siginfo_fixup' linux target op into a method of
+       linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the op.
+       (class linux_process_target) <siginfo_fixup>
+       <low_siginfo_fixup>: Declare.
+       * linux-low.cc (siginfo_fixup): Turn into...
+       (linux_process_target::siginfo_fixup): ...this.
+       (linux_process_target::low_siginfo_fixup): Define.
+       * linux-x86-low.cc (class x86_target) <low_siginfo_fixup>: Declare.
+       (x86_siginfo_fixup): Turn into...
+       (x86_target::low_siginfo_fixup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (class aarch64_target):
+       <low_siginfo_fixup>: Declare.
+       (aarch64_linux_siginfo_fixup): Turn into...
+       (aarch64_target::low_siginfo_fixup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-arm-low.cc (the_low_target): Remove the op field.
+       * linux-bfin-low.cc (the_low_target): Ditto.
+       * linux-crisv32-low.cc (the_low_target): Ditto.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-mips-low.cc (the_low_target): Ditto.
+       * linux-ppc-low.cc (the_low_target): Ditto.
+       * linux-s390-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'collect_ptrace_register' and 'supply_ptrace_register'
+       linux target ops into methods of linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the ops.
+       (class linux_process_target) <low_collect_ptrace_register>
+       <low_store_ptrace_register>: Declare.
+       * linux-low.cc (linux_process_target::low_collect_ptrace_register)
+       (linux_process_target::low_supply_ptrace_register): Define.
+
+       Update the callers below.
+
+       (linux_process_target::fetch_register)
+       (linux_process_target::store_register)
+
+       * linux-x86-low.cc (the_low_target): Remove the op fields.
+       * linux-aarch64-low.cc (the_low_target): Ditto.
+       * linux-arm-low.cc (the_low_target): Ditto.
+       * linux-bfin-low.cc (the_low_target): Ditto.
+       * linux-crisv32-low.cc (the_low_target): Ditto.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-sparc-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+       * linux-mips-low.cc (class mips_target)
+       <low_collect_ptrace_register>
+       <low_supply_ptrace_register>: Declare.
+       (mips_collect_ptrace_register): Turn into ...
+       (mips_target::low_collect_ptrace_register): ...this.
+       (mips_supply_ptrace_register): Turn into...
+       (mips_target::low_supply_ptrace_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-ppc-low.cc (class ppc_target)
+       <low_collect_ptrace_register>
+       <low_supply_ptrace_register>: Declare.
+       (ppc_collect_ptrace_register): Turn into ...
+       (ppc_target::low_collect_ptrace_register): ...this.
+       (ppc_supply_ptrace_register): Turn into ...
+       (ppc_target::low_supply_ptrace_register): ...this.
+       (ppc_fill_gregset): Update for the calls to
+       low_collect_ptrace_register.
+       (the_low_target): Remove the op fields.
+       * linux-s390-low.cc (class s390_target)
+       <low_collect_ptrace_register>
+       <low_supply_ptrace_register>: Declare.
+       (s390_collect_ptrace_register): Turn into ...
+       (s390_target::low_collect_ptrace_register): ...this.
+       (s390_supply_ptrace_register): Turn into ...
+       (s390_target::low_supply_ptrace_register): ...this.
+       (s390_fill_gregset): Update for the calls to
+       low_collect_ptrace_register.
+       (the_low_target): Remove the op fields.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'stopped_by_watchpoint' and 'stopped_data_address' linux
+       target ops into methods of linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the ops.
+       (class linux_process_target) <check_stopped_by_watchpoint>
+       <low_stopped_by_watchpoint>
+       <low_stopped_data_address>: Declare.
+       * linux-low.cc (check_stopped_by_watchpoint): Turn into...
+       (linux_process_target::check_stopped_by_watchpoint): ...this.
+       (linux_process_target::low_stopped_by_watchpoint): Define.
+       (linux_process_target::low_stopped_data_address): Define.
+       * linux-x86-low.cc (class x86_target) <low_stopped_by_watchpoint>
+       <low_stopped_data_address>: Declare.
+       (x86_stopped_by_watchpoint): Turn into...
+       (x86_target::low_stopped_by_watchpoint): ...this.
+       (x86_stopped_data_address): Turn into...
+       (x86_target::low_stopped_data_address): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <low_stopped_by_watchpoint>
+       <low_stopped_data_address>: Declare.
+       (aarch64_stopped_by_watchpoint): Turn into...
+       (aarch64_target::low_stopped_by_watchpoint): ...this.
+       (aarch64_stopped_data_address): Turn into...
+       (aarch64_target::low_stopped_data_address): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-arm-low.cc (class arm_target) <low_stopped_by_watchpoint>
+       <low_stopped_data_address>: Declare.
+       (arm_stopped_by_watchpoint): Turn into...
+       (arm_target::low_stopped_by_watchpoint): ...this.
+       (arm_stopped_data_address): Turn into...
+       (arm_target::low_stopped_data_address): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-crisv32-low.cc (class crisv32_target)
+       <low_stopped_by_watchpoint>
+       <low_stopped_data_address>: Declare.
+       (cris_stopped_by_watchpoint): Turn into...
+       (crisv32_target::low_stopped_by_watchpoint): ...this.
+       (cris_stopped_data_address): Turn into...
+       (crisv32_target::low_stopped_data_address): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-mips-low.cc (class mips_target) <low_stopped_by_watchpoint>
+       <low_stopped_data_address>: Declare.
+       (mips_stopped_by_watchpoint): Turn into...
+       (mips_target::low_stopped_by_watchpoint): ...this.
+       (mips_stopped_data_address): Turn into...
+       (mips_target::low_stopped_data_address): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-bfin-low.cc (the_low_target): Remove the op fields.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-ppc-low.cc (the_low_target): Ditto.
+       * linux-s390-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-sparc-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'insert_point' and 'remove_point' linux target ops into
+       methods of linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the ops.
+       (class linux_process_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       * linux-low.cc (linux_process_target::low_insert_point)
+       (linux_process_target::low_remove_point): Define.
+       (linux_process_target::insert_point)
+       (linux_process_target::remove_point): Update for calls to
+       low_insert_point and low_remove_point.
+       * linux-x86-low.cc (class x86_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       (x86_insert_point): Turn into...
+       (x86_target::low_insert_point): ...this.
+       (x86_remove_point): Turn into...
+       (x86_target::low_remove_point): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-aarch64-low.cc (class aarch64_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       (aarch64_insert_point): Turn into...
+       (aarch64_target::low_insert_point): ...this.
+       (aarch64_remove_point): Turn into...
+       (aarch64_target::low_remove_point): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-arm-low.cc (class arm_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       (arm_insert_point): Turn into...
+       (arm_target::low_insert_point): ...this.
+       (arm_remove_point): Turn into...
+       (arm_target::low_remove_point): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-crisv32-low.cc (class crisv32_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       (crisv32_insert_point): Turn into...
+       (crisv32_target::low_insert_point): ...this.
+       (crisv32_remove_point): Turn into...
+       (crisv32_target::low_remove_point): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-mips-low.cc (class mips_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       (mips_insert_point): Turn into...
+       (mips_target::low_insert_point): ...this.
+       (mips_remove_point): Turn into...
+       (mips_target::low_remove_point): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-ppc-low.cc (class ppc_target) <low_insert_point>
+       <low_remove_point>: Declare.
+       (ppc_insert_point): Turn into...
+       (ppc_target::low_insert_point): ...this.
+       (ppc_remove_point): Turn into...
+       (ppc_target::low_remove_point): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-bfin-low.cc (the_low_target): Remove the op fields.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-s390-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-sparc-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Remove the 'supports_z_point_type' linux target op and let the
+       concrete linux target define it by overriding the op declared in
+       process_stratum_target.
+
+       * linux-low.cc (linux_process_target::supports_z_point_type):
+       Remove.
+       * linux-low.h (struct linux_target_ops): Remove the op.
+       (class linux_process_target) <supports_z_point_type>: Remove.
+       * linux-x86-low.cc (class x86_target) <supports_z_point_type>:
+       Declare.
+       (x86_supports_z_point_type): Turn into...
+       (x86_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <supports_z_point_type>: Declare.
+       (aarch64_supports_z_point_type): Turn into...
+       (aarch64_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-arm-low.cc (class arm_target) <supports_z_point_type>:
+       Declare.
+       (arm_supports_z_point_type): Turn into...
+       (arm_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-crisv32-low.cc (class crisv32_target)
+       <supports_z_point_type>: Declare.
+       (cris_supports_z_point_type): Turn into...
+       (crisv32_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-mips-low.cc (class mips_target) <supports_z_point_type>:
+       Declare.
+       (mips_supports_z_point_type): Turn into...
+       (mips_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ppc-low.cc (class ppc_target) <supports_z_point_type>:
+       Declare.
+       (ppc_supports_z_point_type): Turn into...
+       (ppc_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-s390-low.cc (class s390_target) <supports_z_point_type>:
+       Declare.
+       (s390_supports_z_point_type): Turn into...
+       (s390_target::supports_z_point_type): ...this.
+       (the_low_target): Remove the op field.
+       * linux-bfin-low.cc (the_low_target): Remove the op field.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-sparc-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'breakpoint_at' linux target op into a method of
+       linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the op.
+       (class linux_process_target) <low_breakpoint_at>: Declare.
+
+       Update the callers below:
+
+       * linux-low.cc (linux_process_target::save_stop_reason)
+       (linux_process_target::thread_still_has_status_pending)
+       (linux_process_target::wait_1)
+
+       * linux-x86-low.cc (class x86_target)
+       <low_breakpoint_at>: Declare.
+       (x86_breakpoint_at): Turn into...
+       (x86_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <low_breakpoint_at>: Declare.
+       (aarch64_breakpoint_at): Turn into...
+       (aarch64_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-arm-low.cc (class arm_target)
+       <low_breakpoint_at>: Declare.
+       (arm_target::low_breakpoint_at): Define.
+       (the_low_target): Remove the op field.
+       * linux-bfin-low.cc (class bfin_target)
+       <low_breakpoint_at>: Declare.
+       (bfin_breakpoint_at): Turn into...
+       (bfin_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-cris-low.cc (class cris_target)
+       <low_breakpoint_at>: Declare.
+       (cris_breakpoint_at): Turn into...
+       (cris_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-crisv32-low.cc (class crisv32_target)
+       <low_breakpoint_at>: Declare.
+       (crisv32_breakpoint_at): Turn into...
+       (crisv32_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ia64-low.cc (class ia64_target)
+       <low_breakpoint_at>: Declare.
+       (ia64_target::low_breakpoint_at): Define.
+       * linux-m32r-low.cc (class m32r_target)
+       <low_breakpoint_at>: Declare.
+       (m32r_breakpoint_at): Turn into...
+       (m32r_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-m68k-low.cc (class m68k_target)
+       <low_breakpoint_at>: Declare.
+       (m68k_breakpoint_at): Turn into...
+       (m68k_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-mips-low.cc (class mips_target)
+       <low_breakpoint_at>: Declare.
+       (mips_breakpoint_at): Turn into...
+       (mips_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-nios2-low.cc (class nios2_target)
+       <low_breakpoint_at>: Declare.
+       (nios2_breakpoint_at): Turn into...
+       (nios2_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ppc-low.cc (class ppc_target)
+       <low_breakpoint_at>: Declare.
+       (ppc_breakpoint_at): Turn into...
+       (ppc_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-riscv-low.cc (class riscv_target)
+       <low_breakpoint_at>: Declare.
+       (riscv_breakpoint_at): Turn into...
+       (riscv_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-s390-low.cc (class s390_target)
+       <low_breakpoint_at>: Declare.
+       (s390_breakpoint_at): Turn into...
+       (s390_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sh-low.cc (class sh_target)
+       <low_breakpoint_at>: Declare.
+       (sh_breakpoint_at): Turn into...
+       (sh_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sparc-low.cc (class sparc_target)
+       <low_breakpoint_at>: Declare.
+       (sparc_breakpoint_at): Turn into...
+       (sparc_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tic6x-low.cc (class tic6x_target)
+       <low_breakpoint_at>: Declare.
+       (tic6x_breakpoint_at): Turn into...
+       (tic6x_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tile-low.cc (class tile_target)
+       <low_breakpoint_at>: Declare.
+       (tile_breakpoint_at): Turn into...
+       (tile_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+       * linux-xtensa-low.cc (class xtensa_target)
+       <low_breakpoint_at>: Declare.
+       (xtensa_breakpoint_at): Turn into...
+       (xtensa_target::low_breakpoint_at): ...this.
+       (the_low_target): Remove the op field.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'decr_pc_after_break' linux_target_ops field into
+       a method of linux_process_target.
+
+       * linux-low.h (struct linux_target_ops)
+       <decr_pc_after_break>: Remove.
+       (class linux_process_target) <low_decr_pc_after_break>: New method
+       declaration.
+       * linux-low.cc (linux_process_target::low_decr_pc_after_break):
+       New method implementation.
+
+       Update the users below.
+
+       (linux_process_target::save_stop_reason)
+       (linux_process_target::wait_1)
+       * linux-x86-low.cc (class x86_target) <low_decr_pc_after_break>:
+       New declaration.
+       (x86_target::low_decr_pc_after_break): New method implementation.
+       (the_low_target): Remove the field.
+       * linux-bfin-low.cc (class bfin_target) <low_decr_pc_after_break>:
+       New declaration.
+       (bfin_target::low_decr_pc_after_break): New method implementation.
+       (the_low_target): Remove the field.
+       * linux-m68k-low.cc (class m68k_target) <low_decr_pc_after_break>:
+       New declaration.
+       (m68k_target::low_decr_pc_after_break): New method implementation.
+       (the_low_target): Remove the field.
+       * linux-s390-low.cc (class s390_target) <low_decr_pc_after_break>:
+       New declaration.
+       (s390_target::low_decr_pc_after_break): New method implementation.
+       (the_low_target): Remove the field.
+       * linux-aarch64-low.cc (the_low_target): Remove the field.
+       * linux-arm-low.cc (the_low_target): Remove the field.
+       * linux-cris-low.cc (the_low_target): Remove the field.
+       * linux-crisv32-low.cc (the_low_target): Remove the field.
+       * linux-m32r-low.cc (the_low_target): Remove the field.
+       * linux-mips-low.cc (the_low_target): Remove the field.
+       * linux-nios2-low.cc (the_low_target): Remove the field.
+       * linux-ppc-low.cc (the_low_target): Remove the field.
+       * linux-riscv-low.cc (the_low_target): Remove the field.
+       * linux-sh-low.cc (the_low_target): Remove the field.
+       * linux-sparc-low.cc (the_low_target): Remove the field.
+       * linux-tic6x-low.cc (the_low_target): Remove the field.
+       * linux-tile-low.cc (the_low_target): Remove the field.
+       * linux-xtensa-low.cc (the_low_target): Remove the field.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Remove the 'supports_software_single_step' linux target op and let
+       the concrete linux target define it by overriding the op in
+       process_stratum_target.
+       Turn the 'get_next_pcs' linux target op into a method of
+       linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the ops.
+       (class linux_process_target) <supports_software_single_step>:
+       Remove.
+       <low_get_next_pcs>: Declare.
+       * linux-low.cc (can_software_single_step): Remove.
+       (linux_process_target::low_get_next_pcs): Define.
+       (linux_process_target::supports_software_single_step): Remove.
+
+       Update the callers below.
+
+       (linux_process_target::handle_extended_wait)
+       (linux_process_target::wait_1)
+       (linux_process_target::install_software_single_step_breakpoints)
+       (linux_process_target::single_step)
+       (linux_process_target::thread_needs_step_over)
+       (linux_process_target::proceed_one_lwp)
+       (linux_process_target::supports_range_stepping)
+
+       * linux-x86-low.cc (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (the_low_target): Ditto.
+       * linux-bfin-low.cc (the_low_target): Ditto.
+       * linux-cris-low.cc (the_low_target): Ditto.
+       * linux-crisv32-low.cc (the_low_target): Ditto.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-mips-low.cc (the_low_target): Ditto.
+       * linux-nios2-low.cc (the_low_target): Ditto.
+       * linux-ppc-low.cc (the_low_target): Ditto.
+       * linux-riscv-low.cc (the_low_target): Ditto.
+       * linux-s390-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-sparc-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+       * linux-arm-low.cc (class arm_target) <low_get_next_pcs>
+       <supports_software_single_step>: Declare.
+       (arm_target::supports_software_single_step): Define.
+       (arm_gdbserver_get_next_pcs): Turn into...
+       (arm_target::low_get_next_pcs): ...this.
+       (the_low_target): Remove the op field.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Remove the 'sw_breakpoint_from_kind' linux target op, and let
+       the concrete linux target define it by overriding the op
+       in process_stratum_target.
+
+       * linux-low.cc (linux_process_target::sw_breakpoint_from_kind):
+       Remove.
+       * linux-low.h (struct linux_target_ops): Remove the op.
+       (class linux_process_target) <sw_breakpoint_from_kind>: Remove.
+       * linux-x86-low.cc (class x86_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (x86_sw_breakpoint_from_kind): Turn into...
+       (x86_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <sw_breakpoint_from_kind>: Declare.
+       (aarch64_sw_breakpoint_from_kind): Turn into...
+       (aarch64_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-arm-low.cc (class arm_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (arm_target::sw_breakpoint_from_kind): Define.
+       (the_low_target): Remove the op field.
+       * linux-bfin-low.cc (class bfin_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (bfin_sw_breakpoint_from_kind): Turn into...
+       (bfin_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-cris-low.cc (class cris_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (cris_sw_breakpoint_from_kind): Turn into...
+       (cris_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-crisv32-low.cc (class crisv32_target)
+       <sw_breakpoint_from_kind>: Declare.
+       (cris_sw_breakpoint_from_kind): Turn into...
+       (crisv32_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ia64-low.cc (class ia64_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (ia64_target::sw_breakpoint_from_kind): Define.
+       * linux-m32r-low.cc (class m32r_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (m32r_sw_breakpoint_from_kind): Turn into...
+       (m32r_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-m68k-low.cc (class m68k_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (m68k_sw_breakpoint_from_kind): Turn into...
+       (m68k_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-mips-low.cc (class mips_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (mips_sw_breakpoint_from_kind): Turn into...
+       (mips_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-nios2-low.cc (class nios2_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (nios2_sw_breakpoint_from_kind): Turn into...
+       (nios2_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ppc-low.cc (class ppc_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (ppc_sw_breakpoint_from_kind): Turn into...
+       (ppc_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-riscv-low.cc (class riscv_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (riscv_sw_breakpoint_from_kind): Turn into...
+       (riscv_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-s390-low.cc (class s390_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (s390_sw_breakpoint_from_kind): Turn into...
+       (s390_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sh-low.cc (class sh_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (sh_sw_breakpoint_from_kind): Turn into...
+       (sh_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sparc-low.cc (class sparc_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (sparc_sw_breakpoint_from_kind): Turn into...
+       (sparc_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tic6x-low.cc (class tic6x_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (tic6x_sw_breakpoint_from_kind): Turn into...
+       (tic6x_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tile-low.cc (class tile_target) <sw_breakpoint_from_kind>:
+       Declare.
+       (tile_sw_breakpoint_from_kind): Turn into...
+       (tile_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+       * linux-xtensa-low.cc (class xtensa_target)
+       <sw_breakpoint_from_kind>: Declare.
+       (xtensa_sw_breakpoint_from_kind): Turn into...
+       (xtensa_target::sw_breakpoint_from_kind): ...this.
+       (the_low_target): Remove the op field.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Remove the 'breakpoint_kind_from_pc' and
+       'breakpoint_kind_from_current_state' linux target ops, and let the
+       concrete linux target define them by overriding the ops of
+       process_stratum_target.
+
+       * linux-low.cc (linux_process_target::breakpoint_kind_from_pc):
+       Remove.
+       (linux_process_target::breakpoint_kind_from_current_state): Remove.
+       * linux-low.h (struct linux_target_ops): Remove ops.
+       (class linux_process_target) <breakpoint_kind_from_pc>: Remove.
+       <breakpoint_kind_from_current_state>: Remove.
+       * linux-x86-low.cc (the_low_target): Remove the op fields.
+       * linux-bfin-low.cc (the_low_target): Ditto.
+       * linux-cris-low.cc (the_low_target): Ditto.
+       * linux-crisv32-low.cc (the_low_target): Ditto.
+       * linux-m32r-low.cc (the_low_target): Ditto.
+       * linux-m68k-low.cc (the_low_target): Ditto.
+       * linux-mips-low.cc (the_low_target): Ditto.
+       * linux-nios2-low.cc (the_low_target): Ditto.
+       * linux-ppc-low.cc (the_low_target): Ditto.
+       * linux-s390-low.cc (the_low_target): Ditto.
+       * linux-sh-low.cc (the_low_target): Ditto.
+       * linux-sparc-low.cc (the_low_target): Ditto.
+       * linux-tic6x-low.cc (the_low_target): Ditto.
+       * linux-tile-low.cc (the_low_target): Ditto.
+       * linux-xtensa-low.cc (the_low_target): Ditto.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <breakpoint_kind_from_pc>
+       <breakpoint_kind_from_current_state>: Declare.
+       (aarch64_breakpoint_kind_from_pc): Turn into...
+       (aarch64_target::breakpoint_kind_from_pc): ...this.
+       (aarch64_breakpoint_kind_from_current_state): Turn into...
+       (aarch64_target::breakpoint_kind_from_current_state): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-arm-low.cc (class arm_target):
+       <breakpoint_kind_from_pc>
+       <breakpoint_kind_from_current_state>: Declare.
+       (arm_target::breakpoint_kind_from_pc): Define.
+       (arm_target::breakpoint_kind_from_current_state): Define.
+       (the_low_target): Remove the op fields.
+       * linux-riscv-low.cc (class riscv_target):
+       <breakpoint_kind_from_pc>: Declare.
+       (riscv_breakpoint_kind_from_pc): Turn into...
+       (riscv_target::breakpoint_kind_from_pc): ...this.
+       (the_low_target): Remove the op fields.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'get_pc' and 'set_pc' linux target ops into methods
+       of linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the ops.
+       (class linux_process_target) <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       * linux-low.cc (supports_breakpoints): Turn into...
+       (linux_process_target::low_supports_breakpoints): ...this.
+       (linux_process_target::low_get_pc): Define.
+       (linux_process_target::low_set_pc): Define.
+
+       Update the callers below.
+
+       (linux_process_target::get_pc)
+       (linux_process_target::save_stop_reason)
+       (linux_process_target::maybe_move_out_of_jump_pad)
+       (linux_process_target::wait_1)
+       (linux_process_target::resume_one_lwp_throw)
+       (linux_process_target::resume)
+       (linux_process_target::proceed_all_lwps)
+       (linux_process_target::read_pc)
+       (linux_process_target::write_pc)
+
+       * linux-x86-low.cc (class linux_process_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (x86_target::low_supports_breakpoints): Define.
+       (x86_get_pc): Turn into...
+       (x86_target::low_get_pc): ...this.
+       (x86_set_pc): Turn into...
+       (x86_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-arm-low.cc (class arm_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (arm_target::low_supports_breakpoints)
+       (arm_target::low_get_pc)
+       (arm_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-bfin-low.cc (class bfin_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (bfin_target::low_supports_breakpoints)
+       (bfin_target::low_get_pc)
+       (bfin_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-cris-low.cc (class cris_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (cris_target::low_supports_breakpoints)
+       (cris_target::low_get_pc)
+       (cris_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-crisv32-low.cc (class crisv32_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (crisv32_target::low_supports_breakpoints)
+       (crisv32_target::low_get_pc)
+       (crisv32_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-m32r-low.cc (class m32r_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (m32r_target::low_supports_breakpoints)
+       (m32r_target::low_get_pc)
+       (m32r_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-m68k-low.cc (class m68k_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (m68k_target::low_supports_breakpoints)
+       (m68k_target::low_get_pc)
+       (m68k_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-nios2-low.cc (class nios2_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (nios2_target::low_supports_breakpoints)
+       (nios2_target::low_get_pc)
+       (nios2_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-sh-low.cc (class sh_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (sh_target::low_supports_breakpoints)
+       (sh_target::low_get_pc)
+       (sh_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-xtensa-low.cc (class xtensa_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (xtensa_target::low_supports_breakpoints)
+       (xtensa_target::low_get_pc)
+       (xtensa_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-sparc-low.cc (class sparc_target)
+       <low_supports_breakpoints>
+       <low_get_pc>: Declare.
+       (sparc_target::low_supports_breakpoints)
+       (sparc_target::low_get_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-tile-low.cc (class tile_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (tile_target::low_supports_breakpoints)
+       (tile_target::low_get_pc)
+       (tile_target::low_set_pc): Define.
+       (the_low_target): Remove the op fields.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (aarch64_target::low_supports_breakpoints): Define.
+       (aarch64_get_pc): Turn into...
+       (aarch64_target::low_get_pc): ...this.
+       (aarch64_set_pc): Turn into...
+       (aarch64_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-mips-low.cc (class mips_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (mips_target::low_supports_breakpoints): Define.
+       (mips_get_pc): Turn into...
+       (mips_target::low_get_pc): ...this.
+       (mips_set_pc): Turn into...
+       (mips_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-ppc-low.cc (class ppc_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (ppc_target::low_supports_breakpoints): Define.
+       (ppc_get_pc): Turn into...
+       (ppc_target::low_get_pc): ...this.
+       (ppc_set_pc): Turn into...
+       (ppc_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-riscv-low.cc (class riscv_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (riscv_target::low_supports_breakpoints): Define.
+       (riscv_get_pc): Turn into...
+       (riscv_target::low_get_pc): ...this.
+       (riscv_set_pc): Turn into...
+       (riscv_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-s390-low.cc (class s390_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (s390_target::low_supports_breakpoints): Define.
+       (s390_get_pc): Turn into...
+       (s390_target::low_get_pc): ...this.
+       (s390_set_pc): Turn into...
+       (s390_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-tic6x-low.cc (class tic6x_target)
+       <low_supports_breakpoints>
+       <low_get_pc>
+       <low_set_pc>: Declare.
+       (tic6x_target::low_supports_breakpoints): Define.
+       (tic6x_get_pc): Turn into...
+       (tic6x_target::low_get_pc): ...this.
+       (tic6x_set_pc): Turn into...
+       (tic6x_target::low_set_pc): ...this.
+       (the_low_target): Remove the op fields.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn some more static methods in linux-low into private methods
+       of linux_process_target.
+
+       * linux-low.cc (get_pc): Turn into...
+       (linux_process_target::get_pc): ...this.
+       (save_stop_reason): Turn into...
+       (linux_process_target::save_stop_reason): ...this.
+       (thread_still_has_status_pending_p): Turn into...
+       (linux_process_target::thread_still_has_status_pending): ...this.
+       (status_pending_p_callback): Turn into...
+       (linux_process_target::status_pending_p_callback): ...this.
+       (resume_stopped_resumed_lwps): Turn into...
+       (linux_process_target::resume_stopped_resumed_lwps): ...this.
+       (install_software_single_step_breakpoints): Turn into...
+       (linux_process_target::install_software_single_step_breakpoints):
+       ...this.
+       (single_step): Turn into...
+       (linux_process_target::single_step): ...this.
+       (linux_resume_one_lwp_throw): Turn into...
+       (linux_process_target::resume_one_lwp_throw): ...this.
+       (linux_resume_one_lwp): Turn into...
+       (linux_process_target::resume_one_lwp): ...this.
+       (resume_status_pending_p): Turn into...
+       (linux_process_target::resume_status_pending): ...this.
+       (need_step_over_p): Turn into...
+       (linux_process_target::thread_needs_step_over): ...this.
+       (linux_resume_one_thread): Turn into...
+       (linux_process_target::resume_one_thread): ...this.
+       (proceed_one_lwp): Turn into...
+       (linux_process_target::proceed_one_lwp): ...this.
+       (unsuspend_and_proceed_one_lwp): Turn into...
+       (linux_process_target::unsuspend_and_proceed_one_lwp): ...this.
+
+       Update the calls/references to the above functions below.
+
+       (linux_process_target::handle_extended_wait)
+       (linux_process_target::filter_event)
+       (linux_process_target::wait_for_event_filtered)
+       (linux_process_target::wait_1)
+       (linux_process_target::move_out_of_jump_pad)
+       (linux_process_target::start_step_over)
+       (linux_process_target::resume)
+       (linux_process_target::proceed_all_lwps)
+       (regsets_store_inferior_registers)
+       (linux_process_target::store_register)
+
+       * linux-low.h (class linux_process_target)
+       <get_pc>
+       <save_stop_reason>
+       <thread_still_has_status_pending>
+       <status_pending_p_callback>
+       <resume_stopped_resumed_lwps>
+       <install_software_single_step_breakpoints>
+       <single_step>
+       <resume_one_lwp_throw>
+       <resume_one_lwp>
+       <resume_status_pending>
+       <thread_needs_step_over>
+       <resume_one_thread>
+       <proceed_one_lwp>
+       <unsuspend_and_proceed_one_lwp>: Declare.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'fetch_register' linux target op into a method of
+       linux_process_target.
+
+       * linux-low.h (struct linux_target_ops) <fetch_register>: Remove.
+       (class linux_process_target) <low_fetch_register>: Declare.
+       * linux-x86-low.cc (the_low_target)
+       * linux-aarch64-low.cc (the_low_target)
+       * linux-arm-low.cc (the_low_target)
+       * linux-bfin-low.cc (the_low_target)
+       * linux-cris-low.cc (the_low_target)
+       * linux-crisv32-low.cc (the_low_target)
+       * linux-m32r-low.cc (the_low_target)
+       * linux-m68k-low.cc (the_low_target)
+       * linux-nios2-low.cc (the_low_target)
+       * linux-ppc-low.cc (the_low_target)
+       * linux-s390-low.cc (the_low_target)
+       * linux-sh-low.cc (the_low_target)
+       * linux-sparc-low.cc (the_low_target)
+       * linux-tic6x-low.cc (the_low_target)
+       * linux-tile-low.cc (the_low_target)
+       * linux-xtensa-low.cc (the_low_target): Remove the op field.
+       * linux-ia64-low.cc (class ia64_target) <low_fetch_register>:
+       Declare.
+       (ia64_fetch_register): Turn into...
+       (ia64_target::low_fetch_register): ...this.
+       (the_low_target): Remove the op field.
+       * linux-mips-low.cc (class mips_target) <low_fetch_register>:
+       Declare.
+       (mips_fetch_register): Turn into...
+       (mips_target::low_fetch_register): ...this.
+       (the_low_target): Remove the op field.
+       * linux-riscv-low.cc (class riscv_target) <low_fetch_register>:
+       Declare.
+       (riscv_fetch_register): Turn into...
+       (riscv_target::low_fetch_register): ...this.
+       (the_low_target): Remove the op field.
+
+       Update the callers below.
+
+       * linux-low.cc (linux_process_target::fetch_registers)
+       (linux_process_target::low_fetch_register)
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'cannot_fetch_register' and 'cannot_store_register'
+       linux target ops into methods of linux_process_target.
+
+       * linux-low.h (struct linux_target_ops): Remove the low target ops.
+       (class linux_process_target) <fetch_register>
+       <store_register>
+       <usr_fetch_inferior_registers>
+       <usr_store_inferior_registers>
+       <low_cannot_fetch_register>
+       <low_cannot_fetch_register> Declare.
+       * linux-low.cc (fetch_register): Turn into...
+       (linux_process_target::fetch_register): ...this.
+       (store_register): Turn into ...
+       (linux_process_target::store_register): ...this.
+       (usr_fetch_inferior_registers): Turn into...
+       (linux_process_target::usr_fetch_inferior_registers): ...this.
+       (usr_store_inferior_registers): Turn into...
+       (linux_process_target::usr_store_inferior_registers): ...this.
+       * linux-x86-low.cc (class x86_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (x86_cannot_store_register): Turn into...
+       (x86_target::low_cannot_store_register): ...this.
+       (x86_cannot_fetch_register): Turn into...
+       (x86_target::low_cannot_fetch_register): ...this.
+       (the_low_target): Remove the target op fields.
+       * linux-aarch64-low.cc (class aarch64_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (aarch64_target::low_cannot_fetch_register)
+       (aarch64_target::low_cannot_store_register): Define.
+       (the_low_target): Remove the op fields.
+       * linux-arm-low.cc (class arm_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (arm_cannot_fetch_register): Turn into...
+       (arm_target::low_cannot_fetch_register): ...this.
+       (arm_cannot_store_register): Turn into...
+       (arm_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-bfin-low.cc (class bfin_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (bfin_cannot_fetch_register): Turn into...
+       (bfin_target::low_cannot_fetch_register): ...this.
+       (bfin_cannot_store_register): Turn into...
+       (bfin_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-cris-low.cc (class cris_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (cris_cannot_fetch_register): Turn into...
+       (cris_target::low_cannot_fetch_register): ...this.
+       (cris_cannot_store_register): Turn into...
+       (cris_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-crisv32-low.cc (class crisv32_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (crisv32_target::low_cannot_fetch_register)
+       (crisv32_target::low_cannot_store_register): Define.
+       (the_low_target): Remove the op fields.
+       * linux-ia64-low.cc (class ia64_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (ia64_cannot_fetch_register): Turn into...
+       (ia64_target::low_cannot_fetch_register): ...this.
+       (ia64_cannot_store_register): Turn into...
+       (ia64_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-m32r-low.cc (class m32r_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (m32r_cannot_fetch_register): Turn into...
+       (m32r_target::low_cannot_fetch_register): ...this.
+       (m32r_cannot_store_register): Turn into...
+       (m32r_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-m68k-low.cc (class m68k_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (m68k_cannot_fetch_register): Turn into...
+       (m68k_target::low_cannot_fetch_register): ...this.
+       (m68k_cannot_store_register): Turn into...
+       (m68k_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-mips-low.cc (class mips_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (mips_cannot_fetch_register): Turn into...
+       (mips_target::low_cannot_fetch_register): ...this.
+       (mips_cannot_store_register): Turn into...
+       (mips_target::low_cannot_store_register): ...this.
+       (get_usrregs_info): Inline at the call sites in
+       low_cannot_fetch_register and low_cannot_store_register,
+       and remove.
+       (the_low_target): Remove the op fields.
+       * linux-nios2-low.cc (class nios2_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (nios2_cannot_fetch_register): Turn into...
+       (nios2_target::low_cannot_fetch_register): ...this.
+       (nios2_cannot_store_register): Turn into...
+       (nios2_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-ppc-low.cc (class ppc_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (ppc_cannot_fetch_register): Turn into...
+       (ppc_target::low_cannot_fetch_register): ...this.
+       (ppc_cannot_store_register): Turn into...
+       (ppc_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-riscv-low.cc (class riscv_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (riscv_target::low_cannot_fetch_register)
+       (riscv_target::low_cannot_store_register): Define.
+       (the_low_target): Remove the op fields.
+       * linux-s390-low.cc (class s390_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (s390_cannot_fetch_register): Turn into...
+       (s390_target::low_cannot_fetch_register): ...this.
+       (s390_cannot_store_register): Turn into...
+       (s390_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-sh-low.cc (class sh_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (sh_cannot_fetch_register): Turn into...
+       (sh_target::low_cannot_fetch_register): ...this.
+       (sh_cannot_store_register): Turn into...
+       (sh_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-sparc-low.cc (class sparc_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (sparc_cannot_fetch_register): Turn into...
+       (sparc_target::low_cannot_fetch_register): ...this.
+       (sparc_cannot_store_register): Turn into...
+       (sparc_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-tic6x-low.cc (class tic6x_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (tic6x_cannot_fetch_register): Turn into...
+       (tic6x_target::low_cannot_fetch_register): ...this.
+       (tic6x_cannot_store_register): Turn into...
+       (tic6x_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-tile-low.cc (class tile_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (tile_cannot_fetch_register): Turn into...
+       (tile_target::low_cannot_fetch_register): ...this.
+       (tile_cannot_store_register): Turn into...
+       (tile_target::low_cannot_store_register): ...this.
+       (the_low_target): Remove the op fields.
+       * linux-xtensa-low.cc (class xtensa_target)
+       <low_cannot_fetch_register>
+       <low_cannot_store_register>: Declare.
+       (xtensa_target::low_cannot_fetch_register)
+       (xtensa_target::low_cannot_store_register): Define.
+       (the_low_target): Remove the op fields.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'regs_info' linux target op into a method of
+       linux_process_target.
+
+       * linux-low.h (struct linux_target_ops) <regs_info>: Remove.
+       (class linux_process_target) <get_regs_info>: Define.
+
+       Update the callers below.
+
+       * linux-low.cc (linux_process_target::fetch_registers)
+       (linux_process_target::store_registers)
+       * proc-service.cc (gregset_info)
+
+       * linux-x86-low.cc (class x86_target) <get_regs_info>: Declare.
+       (x86_linux_regs_info): Turn into ...
+       (x86_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (class aarch64_target) <get_regs_info>:
+       Declare.
+       (aarch64_regs_info): Turn into ...
+       (aarch64_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-arm-low.cc (class arm_target) <get_regs_info>: Declare.
+       (arm_regs_info): Turn into ...
+       (arm_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-bfin-low.cc (class bfin_target) <get_regs_info>: Declare.
+       (bfin_regs_info): Turn into ...
+       (bfin_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-cris-low.cc (class cris_target) <get_regs_info>: Declare.
+       (cris_regs_info): Turn into ...
+       (cris_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-crisv32-low.cc (class crisv32_target) <get_regs_info>:
+       Declare.
+       (crisv32_regs_info): Turn into ...
+       (crisv32_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ia64-low.cc (class ia64_target) <get_regs_info>: Declare.
+       (ia64_regs_info): Turn into ...
+       (ia64_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-m32r-low.cc (class m32r_target) <get_regs_info>: Declare.
+       (m32r_regs_info): Turn into ...
+       (m32r_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-m68k-low.cc (class m68k_target) <get_regs_info>: Declare.
+       (m68k_regs_info): Turn into ...
+       (m68k_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-mips-low.cc (class mips_target) <get_regs_info>: Declare.
+       (mips_regs_info): Turn into ...
+       (mips_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       (get_usrregs_info): Update the call to the op.
+       * linux-nios2-low.cc (class nios2_target) <get_regs_info>: Declare.
+       (nios2_regs_info): Turn into ...
+       (nios2_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ppc-low.cc (class ppc_target) <get_regs_info>: Declare.
+       (ppc_regs_info): Turn into ...
+       (ppc_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-riscv-low.cc (class riscv_target) <get_regs_info>: Declare.
+       (riscv_regs_info): Turn into ...
+       (riscv_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-s390-low.cc (class s390_target) <get_regs_info>: Declare.
+       (s390_regs_info): Turn into ...
+       (s390_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       (s390_collect_ptrace_register)
+       (s390_supply_ptrace_register)
+       (s390_fill_gregset): Update the call to the op.
+       * linux-sh-low.cc (class sh_target) <get_regs_info>: Declare.
+       (sh_regs_info): Turn into ...
+       (sh_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sparc-low.cc (class sparc_target) <get_regs_info>: Declare.
+       (sparc_regs_info): Turn into ...
+       (sparc_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tic6x-low.cc (class tic6x_target) <get_regs_info>: Declare.
+       (tic6x_regs_info): Turn into ...
+       (tic6x_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tile-low.cc (class tile_target) <get_regs_info>: Declare.
+       (tile_regs_info): Turn into ...
+       (tile_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+       * linux-xtensa-low.cc (class xtensa_target) <get_regs_info>:
+       Declare.
+       (xtensa_regs_info): Turn into ...
+       (xtensa_target::get_regs_info): ...this.
+       (the_low_target): Remove the op field.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn the 'arch_setup' linux target op into a method of
+       linux_process_target.
+
+       * linux-low.h (struct linux_target_ops) <arch_setup>: Delete.
+       (class linux_process_target) <arch_setup_thread>
+       <low_arch_setup>: New declarations.
+       * linux-low.cc (linux_arch_setup): Delete.
+       (linux_arch_setup_thread): Turn into...
+       (linux_process_target::arch_setup_thread): ... this.
+
+       Update the callers below.
+
+       (linux_process_target::handle_extended_wait)
+       (linux_process_target::post_create_inferior)
+       (linux_process_target::filter_event)
+
+       * linux-x86-low.cc (class x86_target) <low_arch_setup>: New
+       declaration.
+       (x86_linux_update_xmltarget): Turn into...
+       (x86_target::update_xmltarget): ...this.
+       (x86_linux_process_qsupported): Update the call to
+       x86_linux_update_xmltarget.
+       (x86_arch_setup): Turn into ...
+       (x86_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-aarch64-low.cc (class aarch64_target) <low_arch_setup>: New
+       declaration.
+       (aarch64_arch_setup): Turn into ...
+       (aarch64_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-arm-low.cc (class arm_target) <low_arch_setup>: New
+       declaration.
+       (arm_arch_setup): Turn into ...
+       (arm_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-bfin-low.cc (class bfin_target) <low_arch_setup>: New
+       declaration.
+       (bfin_arch_setup): Turn into ...
+       (bfin_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-cris-low.cc (class cris_target) <low_arch_setup>: New
+       declaration.
+       (cris_arch_setup): Turn into ...
+       (cris_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-crisv32-low.cc (class crisv32_target) <low_arch_setup>: New
+       declaration.
+       (crisv32_arch_setup): Turn into ...
+       (crisv32_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ia64-low.cc (class ia64_target) <low_arch_setup>: New
+       declaration.
+       (ia64_arch_setup): Turn into ...
+       (ia64_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-m32r-low.cc (class m32r_target) <low_arch_setup>: New
+       declaration.
+       (m32r_arch_setup): Turn into ...
+       (m32r_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-m68k-low.cc (class m68k_target) <low_arch_setup>: New
+       declaration.
+       (m68k_arch_setup): Turn into ...
+       (m68k_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-mips-low.cc (class mips_target) <low_arch_setup>: New
+       declaration.
+       (mips_arch_setup): Turn into ...
+       (mips_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-nios2-low.cc (class nios2_target) <low_arch_setup>: New
+       declaration.
+       (nios2_arch_setup): Turn into ...
+       (nios2_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-ppc-low.cc (class ppc_target) <low_arch_setup>: New
+       declaration.
+       (ppc_arch_setup): Turn into ...
+       (ppc_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-riscv-low.cc (class riscv_target) <low_arch_setup>: New
+       declaration.
+       (riscv_arch_setup): Turn into ...
+       (riscv_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-s390-low.cc (class s390_target) <low_arch_setup>: New
+       declaration.
+       (s390_arch_setup): Turn into ...
+       (s390_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sh-low.cc (class sh_target) <low_arch_setup>: New
+       declaration.
+       (sh_arch_setup): Turn into ...
+       (sh_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-sparc-low.cc (class sparc_target) <low_arch_setup>: New
+       declaration.
+       (sparc_arch_setup): Turn into ...
+       (sparc_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tic6x-low.cc (class tic6x_target) <low_arch_setup>: New
+       declaration.
+       (tic6x_arch_setup): Turn into ...
+       (tic6x_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-tile-low.cc (class tile_target) <low_arch_setup>: New
+       declaration.
+       (tile_arch_setup): Turn into ...
+       (tile_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+       * linux-xtensa-low.cc (class xtensa_target) <low_arch_setup>: New
+       declaration.
+       (xtensa_arch_setup): Turn into ...
+       (xtensa_target::low_arch_setup): ...this.
+       (the_low_target): Remove the op field.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * linux-low.h (the_linux_target): New extern declaration.
+       * linux-low.cc (initialize_low): Use 'the_linux_target' to set
+       'the_target'.
+       (the_linux_target): Remove.
+       * linux-x86-low.cc (class x86_target): New class.
+       (the_x86_target): New static object.
+       (the_linux_target): Define as pointer to the_x86_target.
+       * linux-aarch64-low.cc (class aarch64_target): New class.
+       (the_aarch64_target): New static object.
+       (the_linux_target): Define as pointer to the_aarch64_target.
+       * linux-arm-low.cc (class arm_target): New class.
+       (the_arm_target): New static object.
+       (the_linux_target): Define as pointer to the_arm_target.
+       * linux-bfin-low.cc (class bfin_target): New class.
+       (the_bfin_target): New static object.
+       (the_linux_target): Define as pointer to the_bfin_target.
+       * linux-cris-low.cc (class cris_target): New class.
+       (the_cris_target): New static object.
+       (the_linux_target): Define as pointer to the_cris_target.
+       * linux-crisv32-low.cc (class crisv32_target): New class.
+       (the_crisv32_target): New static object.
+       (the_linux_target): Define as pointer to the_crisv32_target.
+       * linux-ia64-low.cc (class ia64_target): New class.
+       (the_ia64_target): New static object.
+       (the_linux_target): Define as pointer to the_ia64_target.
+       * linux-m32r-low.cc (class m32r_target): New class.
+       (the_m32r_target): New static object.
+       (the_linux_target): Define as pointer to the_m32r_target.
+       * linux-m68k-low.cc (class m68k_target): New class.
+       (the_m68k_target): New static object.
+       (the_linux_target): Define as pointer to the_m68k_target.
+       * linux-mips-low.cc (class mips_target): New class.
+       (the_mips_target): New static object.
+       (the_linux_target): Define as pointer to the_mips_target.
+       * linux-nios2-low.cc (class nios2_target): New class.
+       (the_nios2_target): New static object.
+       (the_linux_target): Define as pointer to the_nios2_target.
+       * linux-ppc-low.cc (class ppc_target): New class.
+       (the_ppc_target): New static object.
+       (the_linux_target): Define as pointer to the_ppc_target.
+       * linux-riscv-low.cc (class riscv_target): New class.
+       (the_riscv_target): New static object.
+       (the_linux_target): Define as pointer to the_riscv_target.
+       * linux-s390-low.cc (class s390_target): New class.
+       (the_s390_target): New static object.
+       (the_linux_target): Define as pointer to the_s390_target.
+       * linux-sh-low.cc (class sh_target): New class.
+       (the_sh_target): New static object.
+       (the_linux_target): Define as pointer to the_sh_target.
+       * linux-sparc-low.cc (class sparc_target): New class.
+       (the_sparc_target): New static object.
+       (the_linux_target): Define as pointer to the_sparc_target.
+       * linux-tic6x-low.cc (class tic6x_target): New class.
+       (the_tic6x_target): New static object.
+       (the_linux_target): Define as pointer to the_tic6x_target.
+       * linux-tile-low.cc (class tile_target): New class.
+       (the_tile_target): New static object.
+       (the_linux_target): Define as pointer to the_tile_target.
+       * linux-xtensa-low.cc (class xtensa_target): New class.
+       (the_xtensa_target): New static object.
+       (the_linux_target): Define as pointer to the_xtensa_target.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn some static functions in linux-low.cc into private methods of
+       linux_process_target.
+
+       * linux-low.cc (handle_extended_wait): Turn into ...
+       (linux_process_target::handle_extended_wait): ...this.  Call
+       'mourn' on 'this' object instead of 'the_target'.
+       (maybe_move_out_of_jump_pad): Turn into...
+       (linux_process_target::maybe_move_out_of_jump_pad): ...this.
+       (linux_low_filter_event): Turn into...
+       (linux_process_target::filter_event): ...this.
+       (linux_wait_for_event_filtered): Turn into...
+       (linux_process_target::wait_for_event_filtered): ...this.
+       (linux_wait_for_event): Turn into...
+       (linux_process_target::wait_for_event): ...this.
+       (linux_wait_1): Turn into...
+       (linux_process_target::wait_1): ...this.
+       (wait_for_sigstop): Turn into...
+       (linux_process_target::wait_for_sigstop): ...this.
+       (move_out_of_jump_pad_callback): Turn into...
+       (linux_process_target::move_out_of_jump_pad): ...this.
+       (stop_all_lwps): Turn into...
+       (linux_process_target::stop_all_lwps): ...this.
+       (start_step_over): Turn into...
+       (linux_process_target::start_step_over): ...this.
+       (complete_ongoing_step_over): Turn into...
+       (linux_process_target::complete_ongoing_step_over): ...this.
+       (proceed_all_lwps): Turn into...
+       (linux_process_target::proceed_all_lwps): ...this.
+       (unstop_all_lwps): Turn into...
+       (linux_process_target::unstop_all_lwps): ...this.
+
+       * linux-low.h (class linux_process_target)
+       <handle_extended_wait>
+       <maybe_move_out_of_jump_pad>
+       filter_event>
+       <wait_for_event_filtered>
+       <wait_for_event>
+       <wait_1>
+       <wait_for_sigstop>
+       <move_out_of_jump_pad>
+       <stop_all_lwps>
+       <start_step_over>
+       <complete_ongoing_step_over>
+       <proceed_all_lwps>
+       <unstop_all_lwps>: Declare.
+
+       Update the callers below.
+
+       * linux-low.cc (linux_process_target::attach): Update.
+       (linux_process_target::stabilize_threads): Ditto.
+       (linux_process_target::wait): Ditto.
+
+2020-04-02  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * linux-low.h (struct linux_target_ops): Update the comment for
+       'cannot_store_register' to return 0 or 1.
+       * linux-ppc-low.cc (ppc_cannot_store_register): Return 1 instead
+       of 2.
+
+2020-03-20  Simon Marchi  <simon.marchi@efficios.com>
+
+       * config.in: Re-generate.
+       * configure: Re-generate.
+
+2020-03-17  Kamil Rytarowski  <n54@gmx.com>
+
+       * regcache.cc (find_register_by_number): Update.
+       * tdesc.cc (init_target_desc): Likewise.
+       * tdesc.h (target_desc::reg_defs): Likewise.
+
+2020-03-12  Tom Tromey  <tom@tromey.com>
+
+       * configure: Rebuild.
+       * configure.ac (GDBSERVER_DEPFILES): Remove srv_selftest_objs.
+       (WIN32APILIBS): New subst.
+       * Makefile.in (SFILES, OBS, TAGS, GDBREPLAY_OBS): Remove
+       gdbsupport files.
+       (gdbsupport/%.o): Remove target.
+       (GDBSUPPORT_BUILDDIR, GDBSUPPORT): New variables.
+       (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Add GDBSUPPORT.
+       (WIN32APILIBS): New variable.
+       (gdbserver$(EXEEXT)): Add WIN32APILIBS.
+       (gdbreplay$(EXEEXT)): Likewise.
+
+2020-03-12  Tom Tromey  <tom@tromey.com>
+
+       * config.in, configure: Rebuild.
+       * configure.ac: Call ZW_GNU_GETTEXT_SISTER_DIR.
+       * acinclude.m4: Include gettext-sister.m4.
+       * Makefile.in (top_builddir, INTL, INTL_DEPS, INTL_CFLAGS): New
+       variables.
+       (INCLUDE_CFLAGS): Add INTL_CFLAGS.
+       (gdbserver$(EXEEXT), gdbreplay$(EXEEXT)): Use INTL_DEPS, INTL.
+
+2020-03-12  Simon Marchi  <simon.marchi@efficios.com>
+
+       * acinclude.m4: Update path to selftest.m4.
+
+2020-03-12  Simon Marchi  <simon.marchi@efficios.com>
+
+       * configure.ac: Don't source bfd/development.sh, move
+       GDB_AC_COMMON higher.
+       * configure: Re-generate.
+
+2020-03-12  Simon Marchi  <simon.marchi@efficios.com>
+
+       * configure: Re-generate.
+
+2020-03-11  Simon Marchi  <simon.marchi@efficios.com>
+
+       * configure: Re-generate.
+
+2020-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * .dir-locals.el: New file.
+
+2020-03-05  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * .gitattributes: New file.
+
+2020-03-02  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * remote-utils.cc (prepare_resume_reply): Add ability to convert T
+       reply into an S reply.
+       * server.cc (disable_packet_T): New global.
+       (captured_main): Set new global when appropriate.
+       * server.h (disable_packet_T): Declare.
+
+2020-02-21  Tom Tromey  <tom@tromey.com>
+
+       * Makefile.in (mostlyclean): New target.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * target.h (struct process_stratum_target): Remove.
+       (class process_target): Rename to ...
+       (class process_stratum_target): ... this.
+       * linux-low.h (class linux_process_target): Derive from
+       'process_stratum_target'.
+       * linux-low.cc (linux_target_ops): Remove.
+       (initialize_low): Set the_target to the singleton instance of
+       linux_process_target.
+       * lynx-low.h (class lynx_process_target): Derive from
+       'process_stratum_target'.
+       * lynx-low.cc (lynx_target_ops): Remove.
+       (initialize_low): Set the_target to the singleton instance of
+       lynx_process_target.
+       * nto-low.h (class nto_process_target): Derive from
+       'process_stratum_target'.
+       * nto-low.cc (nto_target_ops): Remove.
+       (initialize_low): Set the_target to the singleton instance of
+       nto_process_target.
+       * win32-low.h (class win32_process_target): Derive from
+       'process_stratum_target'.
+       * win32-low.cc (win32_target_ops): Remove.
+       (initialize_low): Set the_target to the singleton instance of
+       win32_process_target.
+
+       Replace 'the_target->pt' with 'the_target' in the uses below.
+
+       * hostio.cc (hostio_error)
+       (handle_setfs)
+       (handle_open)
+       (handle_unlink)
+       (handle_readlink)
+       * linux-aarch32-low.cc (arm_breakpoint_at)
+       * linux-aarch64-low.cc (aarch64_breakpoint_at)
+       * linux-arm-low.cc (arm_sigreturn_next_pc)
+       (arm_get_hwcap)
+       (arm_get_syscall_trapinfo)
+       * linux-cris-low.cc (cris_breakpoint_at)
+       * linux-crisv32-low.cc (cris_breakpoint_at)
+       * linux-low.cc (handle_extended_wait)
+       (linux_wait_1)
+       (linux_read_memory)
+       (linux_process_target::breakpoint_kind_from_pc)
+       (linux_get_auxv)
+       * linux-m32r-low.cc (m32r_breakpoint_at)
+       * linux-mips-low.cc (mips_breakpoint_at)
+       * linux-nios2-low.cc (nios2_breakpoint_at)
+       * linux-ppc-low.cc (ppc_breakpoint_at)
+       * linux-s390-low.cc (s390_get_hwcap)
+       * linux-sh-low.cc (sh_breakpoint_at)
+       * linux-sparc-low.cc (sparc_fill_gregset_to_stack)
+       (sparc_store_gregset_from_stack)
+       (sparc_breakpoint_at)
+       * linux-tic6x-low.cc (tic6x_breakpoint_at)
+       * linux-tile-low.cc (tile_breakpoint_at)
+       * linux-x86-low.cc (x86_breakpoint_at)
+       * linux-xtensa-low.cc (xtensa_breakpoint_at)
+       * mem-break.cc (bp_size)
+       (bp_opcode)
+       (insert_memory_breakpoint)
+       (set_raw_breakpoint_at)
+       (delete_raw_breakpoint)
+       (z_type_supported)
+       (uninsert_raw_breakpoint)
+       (reinsert_raw_breakpoint)
+       (validate_inserted_breakpoint)
+       * regcache.cc (regcache_read_pc)
+       (regcache_write_pc)
+       * remote-utils.cc (putpkt_binary_1)
+       (input_interrupt)
+       (getpkt)
+       (prepare_resume_reply)
+       * server.cc (handle_general_set)
+       (handle_detach)
+       (handle_qxfer_auxv)
+       (handle_qxfer_exec_file)
+       (handle_qxfer_libraries_svr4)
+       (handle_qxfer_osdata)
+       (handle_qxfer_siginfo)
+       (handle_qxfer_fdpic)
+       (handle_query)
+       (resume)
+       (handle_v_requests)
+       (queue_stop_reply_callback)
+       (captured_main)
+       * target.cc (prepare_to_access_memory)
+       (done_accessing_memory)
+       (read_inferior_memory)
+       (target_write_memory)
+       (target_stop_and_wait)
+       (target_wait)
+       (target_mourn_inferior)
+       (target_continue_no_signal)
+       (target_continue)
+       (target_supports_multi_process)
+       (kill_inferior)
+       * target.h
+       (target_create_inferior)
+       (target_post_create_inferior)
+       (myattach)
+       (target_supports_fork_events)
+       (target_supports_vfork_events)
+       (target_supports_exec_events)
+       (target_handle_new_gdb_connection)
+       (detach_inferior)
+       (mythread_alive)
+       (fetch_inferior_registers)
+       (store_inferior_registers)
+       (join_inferior)
+       (target_supports_non_stop)
+       (target_async)
+       (target_process_qsupported)
+       (target_supports_catch_syscall)
+       (target_get_ipa_tdesc_idx)
+       (target_supports_tracepoints)
+       (target_supports_fast_tracepoints)
+       (target_get_min_fast_tracepoint_insn_len)
+       (target_thread_stopped)
+       (target_pause_all)
+       (target_unpause_all)
+       (target_stabilize_threads)
+       (target_install_fast_tracepoint_jump_pad)
+       (target_emit_ops)
+       (target_supports_disable_randomization)
+       (target_supports_agent)
+       (target_enable_btrace)
+       (target_disable_btrace)
+       (target_read_btrace)
+       (target_read_btrace_conf)
+       (target_supports_range_stepping)
+       (target_supports_stopped_by_sw_breakpoint)
+       (target_stopped_by_sw_breakpoint)
+       (target_supports_stopped_by_hw_breakpoint)
+       (target_supports_hardware_single_step)
+       (target_stopped_by_hw_breakpoint)
+       (target_breakpoint_kind_from_pc)
+       (target_breakpoint_kind_from_current_state)
+       (target_supports_software_single_step)
+       (target_core_of_thread)
+       (target_thread_name)
+       (target_thread_handle)
+       * win32-low.cc (do_initial_child_stuff)
+
+       Rename target op default definitions listed below.
+
+       * target.cc (process_target::post_create_inferior): Rename as ...
+       (process_stratum_target::post_create_inferior): ... this.
+       (process_target::prepare_to_access_memory): Rename as ...
+       (process_stratum_target::prepare_to_access_memory): ... this.
+       (process_target::done_accessing_memory): Rename as ...
+       (process_stratum_target::done_accessing_memory): ... this.
+       (process_target::look_up_symbols): Rename as ...
+       (process_stratum_target::look_up_symbols): ... this.
+       (process_target::supports_read_auxv): Rename as ...
+       (process_stratum_target::supports_read_auxv): ... this.
+       (process_target::read_auxv): Rename as ...
+       (process_stratum_target::read_auxv): ... this.
+       (process_target::supports_z_point_type): Rename as ...
+       (process_stratum_target::supports_z_point_type): ... this.
+       (process_target::insert_point): Rename as ...
+       (process_stratum_target::insert_point): ... this.
+       (process_target::remove_point): Rename as ...
+       (process_stratum_target::remove_point): ... this.
+       (process_target::stopped_by_sw_breakpoint): Rename as ...
+       (process_stratum_target::stopped_by_sw_breakpoint): ... this.
+       (process_target::supports_stopped_by_sw_breakpoint): Rename as ...
+       (process_stratum_target::supports_stopped_by_sw_breakpoint): ... this.
+       (process_target::stopped_by_hw_breakpoint): Rename as ...
+       (process_stratum_target::stopped_by_hw_breakpoint): ... this.
+       (process_target::supports_stopped_by_hw_breakpoint): Rename as ...
+       (process_stratum_target::supports_stopped_by_hw_breakpoint): ... this.
+       (process_target::supports_hardware_single_step): Rename as ...
+       (process_stratum_target::supports_hardware_single_step): ... this.
+       (process_target::stopped_by_watchpoint): Rename as ...
+       (process_stratum_target::stopped_by_watchpoint): ... this.
+       (process_target::stopped_data_address): Rename as ...
+       (process_stratum_target::stopped_data_address): ... this.
+       (process_target::supports_read_offsets): Rename as ...
+       (process_stratum_target::supports_read_offsets): ... this.
+       (process_target::read_offsets): Rename as ...
+       (process_stratum_target::read_offsets): ... this.
+       (process_target::supports_get_tls_address): Rename as ...
+       (process_stratum_target::supports_get_tls_address): ... this.
+       (process_target::get_tls_address): Rename as ...
+       (process_stratum_target::get_tls_address): ... this.
+       (process_target::hostio_last_error): Rename as ...
+       (process_stratum_target::hostio_last_error): ... this.
+       (process_target::supports_qxfer_osdata): Rename as ...
+       (process_stratum_target::supports_qxfer_osdata): ... this.
+       (process_target::qxfer_osdata): Rename as ...
+       (process_stratum_target::qxfer_osdata): ... this.
+       (process_target::supports_qxfer_siginfo): Rename as ...
+       (process_stratum_target::supports_qxfer_siginfo): ... this.
+       (process_target::qxfer_siginfo): Rename as ...
+       (process_stratum_target::qxfer_siginfo): ... this.
+       (process_target::supports_non_stop): Rename as ...
+       (process_stratum_target::supports_non_stop): ... this.
+       (process_target::async): Rename as ...
+       (process_stratum_target::async): ... this.
+       (process_target::start_non_stop): Rename as ...
+       (process_stratum_target::start_non_stop): ... this.
+       (process_target::supports_multi_process): Rename as ...
+       (process_stratum_target::supports_multi_process): ... this.
+       (process_target::supports_fork_events): Rename as ...
+       (process_stratum_target::supports_fork_events): ... this.
+       (process_target::supports_vfork_events): Rename as ...
+       (process_stratum_target::supports_vfork_events): ... this.
+       (process_target::supports_exec_events): Rename as ...
+       (process_stratum_target::supports_exec_events): ... this.
+       (process_target::handle_new_gdb_connection): Rename as ...
+       (process_stratum_target::handle_new_gdb_connection): ... this.
+       (process_target::handle_monitor_command): Rename as ...
+       (process_stratum_target::handle_monitor_command): ... this.
+       (process_target::core_of_thread): Rename as ...
+       (process_stratum_target::core_of_thread): ... this.
+       (process_target::supports_read_loadmap): Rename as ...
+       (process_stratum_target::supports_read_loadmap): ... this.
+       (process_target::read_loadmap): Rename as ...
+       (process_stratum_target::read_loadmap): ... this.
+       (process_target::process_qsupported): Rename as ...
+       (process_stratum_target::process_qsupported): ... this.
+       (process_target::supports_tracepoints): Rename as ...
+       (process_stratum_target::supports_tracepoints): ... this.
+       (process_target::read_pc): Rename as ...
+       (process_stratum_target::read_pc): ... this.
+       (process_target::write_pc): Rename as ...
+       (process_stratum_target::write_pc): ... this.
+       (process_target::supports_thread_stopped): Rename as ...
+       (process_stratum_target::supports_thread_stopped): ... this.
+       (process_target::thread_stopped): Rename as ...
+       (process_stratum_target::thread_stopped): ... this.
+       (process_target::supports_get_tib_address): Rename as ...
+       (process_stratum_target::supports_get_tib_address): ... this.
+       (process_target::get_tib_address): Rename as ...
+       (process_stratum_target::get_tib_address): ... this.
+       (process_target::pause_all): Rename as ...
+       (process_stratum_target::pause_all): ... this.
+       (process_target::unpause_all): Rename as ...
+       (process_stratum_target::unpause_all): ... this.
+       (process_target::stabilize_threads): Rename as ...
+       (process_stratum_target::stabilize_threads): ... this.
+       (process_target::supports_fast_tracepoints): Rename as ...
+       (process_stratum_target::supports_fast_tracepoints): ... this.
+       (process_target::get_min_fast_tracepoint_insn_len): Rename as ...
+       (process_stratum_target::get_min_fast_tracepoint_insn_len): ... this.
+       (process_target::emit_ops): Rename as ...
+       (process_stratum_target::emit_ops): ... this.
+       (process_target::supports_disable_randomization): Rename as ...
+       (process_stratum_target::supports_disable_randomization): ... this.
+       (process_target::supports_qxfer_libraries_svr4): Rename as ...
+       (process_stratum_target::supports_qxfer_libraries_svr4): ... this.
+       (process_target::qxfer_libraries_svr4): Rename as ...
+       (process_stratum_target::qxfer_libraries_svr4): ... this.
+       (process_target::supports_agent): Rename as ...
+       (process_stratum_target::supports_agent): ... this.
+       (process_target::enable_btrace): Rename as ...
+       (process_stratum_target::enable_btrace): ... this.
+       (process_target::disable_btrace): Rename as ...
+       (process_stratum_target::disable_btrace): ... this.
+       (process_target::read_btrace): Rename as ...
+       (process_stratum_target::read_btrace): ... this.
+       (process_target::read_btrace_conf): Rename as ...
+       (process_stratum_target::read_btrace_conf): ... this.
+       (process_target::supports_range_stepping): Rename as ...
+       (process_stratum_target::supports_range_stepping): ... this.
+       (process_target::supports_pid_to_exec_file): Rename as ...
+       (process_stratum_target::supports_pid_to_exec_file): ... this.
+       (process_target::pid_to_exec_file): Rename as ...
+       (process_stratum_target::pid_to_exec_file): ... this.
+       (process_target::supports_multifs): Rename as ...
+       (process_stratum_target::supports_multifs): ... this.
+       (process_target::multifs_open): Rename as ...
+       (process_stratum_target::multifs_open): ... this.
+       (process_target::multifs_unlink): Rename as ...
+       (process_stratum_target::multifs_unlink): ... this.
+       (process_target::multifs_readlink): Rename as ...
+       (process_stratum_target::multifs_readlink): ... this.
+       (process_target::breakpoint_kind_from_pc): Rename as ...
+       (process_stratum_target::breakpoint_kind_from_pc): ... this.
+       (process_target::breakpoint_kind_from_current_state): Rename as ...
+       (process_stratum_target::breakpoint_kind_from_current_state): ... this.
+       (process_target::thread_name): Rename as ...
+       (process_stratum_target::thread_name): ... this.
+       (process_target::thread_handle): Rename as ...
+       (process_stratum_target::thread_handle): ... this.
+       (process_target::supports_software_single_step): Rename as ...
+       (process_stratum_target::supports_software_single_step): ... this.
+       (process_target::supports_catch_syscall): Rename as ...
+       (process_stratum_target::supports_catch_syscall): ... this.
+       (process_target::get_ipa_tdesc_idx): Rename as ...
+       (process_stratum_target::get_ipa_tdesc_idx): ... this.
+
+2020-02-20  Pedro Alves  <palves@redhat.com>
+
+       * target.cc (set_target_ops): Simply copy the given target pointer
+       instead of creating a copy of the pointed object.
+
+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
+       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
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+       (target_core_of_thread): Update the macro.
+       * target.cc (process_target::core_of_thread): Define.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_process_target::core_of_thread): 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 handle_monitor_command 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_handle_monitor_command): Update the macro.
+       * target.cc (process_target::handle_monitor_command): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_process_target::handle_monitor_command): 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 handle_new_gdb_connection 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_handle_new_gdb_connection): Update the macro.
+       * target.cc (process_target::handle_new_gdb_connection): Define.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_handle_new_gdb_connection): Turn into ...
+       (linux_process_target::handle_new_gdb_connection): ... 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_fork_events,
+       supports_vfork_events, and supports_exec_events ops into methods
+       of process_target.
+
+       * target.h (struct process_stratum_target): Remove the target ops.
+       (class process_target): Add the target ops.
+       (target_supports_fork_events): Update the macro.
+       (target_supports_vfork_events): Update the macro.
+       (target_supports_exec_events): Update the macro.
+       * target.cc (process_target::supports_fork_events): Define.
+       (process_target::supports_vfork_events): Define.
+       (process_target::supports_exec_events): Define.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_supports_fork_events): Turn into ...
+       (linux_process_target::supports_fork_events): ... this.
+       (linux_supports_vfork_events): Turn into ...
+       (linux_process_target::supports_vfork_events): ... this.
+       (linux_supports_exec_events): Turn into ...
+       (linux_process_target::supports_exec_events): ... 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_multi_process 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.cc (process_target::supports_multi_process): Define.
+       (target_supports_multi_process): Update.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_supports_multi_process): Turn into ...
+       (linux_process_target::supports_multi_process): ... 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_non_stop, async, and
+       start_non_stop ops into methods of process_target.
+
+       * target.h (struct process_stratum_target): Remove the target ops.
+       (class process_target): Add the target ops.
+       (target_supports_non_stop): Update the macro.
+       (target_async): Update the macro.
+       (start_non_stop): Remove declaration.
+       * target.cc (process_target::supports_non_stop): Define.
+       (process_target::async): Define.
+       (process_target::start_non_stop): Define.
+       (start_non_stop): Remove.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_qxfer_siginfo): Update.
+       (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_supports_non_stop): Turn into ...
+       (linux_process_target::supports_non_stop): ... this.
+       (linux_async): Turn into ...
+       (linux_process_target::async): ... this.
+       (linux_start_non_stop): Turn into ...
+       (linux_process_target::start_non_stop): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_supports_non_stop): Remove; rely on the default behavior
+       instead.
+       * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn process_stratum_target's qxfer_siginfo 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_siginfo'.
+       * target.cc (process_target::qxfer_siginfo): Define.
+       (process_target::supports_qxfer_siginfo): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_qxfer_siginfo): Update.
+       (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_process_target::supports_qxfer_siginfo): Define.
+       (linux_xfer_siginfo): Turn into ...
+       (linux_process_target::qxfer_siginfo): ... 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_osdata 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_osdata'.
+       * target.cc (process_target::qxfer_osdata): Define.
+       (process_target::supports_qxfer_osdata): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_qxfer_osdata): Update.
+       (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_process_target::supports_qxfer_osdata): Define.
+       (linux_qxfer_osdata): Turn into ...
+       (linux_process_target::qxfer_osdata): ... 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 hostio_last_error 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.cc: Add "hostio.h" to includes.
+       (process_target::hostio_last_error): Define.
+
+       Update the derived classes and callers below.
+
+       * hostio.cc (hostio_error): Update.
+       * linux-low.cc: Remove "hostio.h" from includes.
+       (linux_target_ops): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       * win32-low.h (class win32_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (wince_hostio_last_error): Turn into ...
+       (win32_process_target::hostio_last_error): ... this.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn process_stratum_target's get_tls_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_tls_address'.
+       * target.cc (process_target::get_tls_address): Define.
+       (process_target::supports_get_tls_address): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_process_target::supports_get_tls_address): Define.
+       (linux_process_target::get_tls_address): 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 read_offsets 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_offsets'.
+       * target.cc (process_target::read_offsets): Define.
+       (process_target::supports_read_offsets): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_query): Update.
+       * linux-low.cc (SUPPORTS_READ_OFFSETS): New #define directive.
+       (linux_target_ops): Update.
+       (linux_process_target::supports_read_offsets): Define.
+       (linux_read_offsets): Turn into ...
+       (linux_process_target::read_offsets): ... 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 stopped_by_watchpoint and
+       stopped_data_address 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::stopped_by_watchpoint): Define.
+       (process_target::stopped_data_address): Define.
+
+       Update the derived classes and callers below.
+
+       * remote-utils.cc (prepare_resume_reply): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_stopped_by_watchpoint): Turn into ...
+       (linux_process_target::stopped_by_watchpoint): ... this.
+       (linux_stopped_data_address): Turn into ...
+       (linux_process_target::stopped_data_address): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_stopped_by_watchpoint): Turn into ...
+       (nto_process_target::stopped_by_watchpoint): ... this.
+       (nto_stopped_data_address): Turn into ...
+       (nto_process_target::stopped_data_address): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_stopped_by_watchpoint): Turn into ...
+       (win32_process_target::stopped_by_watchpoint): ... this.
+       (win32_stopped_data_address): Turn into ...
+       (win32_process_target::stopped_data_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 supports_hardware_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_hardware_single_step): Update the macro.
+       (target_can_do_hardware_single_step): Remove declaration.
+       * target.cc (process_target::supports_hardware_single_step): Define.
+       (target_can_do_hardware_single_step): Remove.
+
+       Update the derived classes and callers below.
+
+       * linux-low.h (class linux_process_target): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_supports_hardware_single_step): Turn into ...
+       (linux_process_target::supports_hardware_single_step): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_process_target::supports_hardware_single_step): Define.
+       * nto-low.h (class nto_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_process_target::supports_hardware_single_step): Define.
+       * win32-low.h (class win32_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_process_target::supports_hardware_single_step): Define.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn process_stratum_target's {supports_}stopped_by_hw_breakpoint
+       ops into methods of process_target.
+
+       * target.h (struct process_stratum_target): Remove the target ops.
+       (class process_target): Add the target ops.
+       (target_stopped_by_hw_breakpoint): Update the macro.
+       (target_supports_stopped_by_hw_breakpoint): Update the macro.
+       * target.cc (process_target::stopped_by_hw_breakpoint): Define.
+       (process_target::supports_stopped_by_hw_breakpoint): Define.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_stopped_by_hw_breakpoint): Turn into ...
+       (linux_process_target::stopped_by_hw_breakpoint): ... this.
+       (linux_supports_stopped_by_hw_breakpoint): Turn into ...
+       (linux_process_target::supports_stopped_by_hw_breakpoint): ... 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_}stopped_by_sw_breakpoint
+       ops into methods of process_target.
+
+       * target.h (struct process_stratum_target): Remove the target ops.
+       (class process_target): Add the target ops.
+       (target_stopped_by_sw_breakpoint): Update the macro.
+       (target_supports_stopped_by_sw_breakpoint): Update the macro.
+       * target.cc (process_target::stopped_by_sw_breakpoint): Define.
+       (process_target::supports_stopped_by_sw_breakpoint): Define.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_stopped_by_sw_breakpoint): Turn into ...
+       (linux_process_target::stopped_by_sw_breakpoint): ... this.
+       (linux_supports_stopped_by_sw_breakpoint): Turn into ...
+       (linux_process_target::supports_stopped_by_sw_breakpoint): ... 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 insert_point and remove_point 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::insert_point): Define.
+       (process_target::remove_point): Define.
+
+       Update the derived classes and callers below.
+
+       * mem-break.cc (set_raw_breakpoint_at): Update.
+       (delete_raw_breakpoint): Update.
+       (uninsert_raw_breakpoint): Update.
+       (reinsert_raw_breakpoint): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_insert_point): Turn into ...
+       (linux_process_target::insert_point): ... this.
+       (linux_remove_point): Turn into ...
+       (linux_process_target::remove_point): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_insert_point): Turn into ...
+       (nto_process_target::insert_point): ... this.
+       (nto_remove_point): Turn into ...
+       (nto_process_target::remove_point): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_insert_point): Turn into ...
+       (win32_process_target::insert_point): ... this.
+       (win32_remove_point): Turn into ...
+       (win32_process_target::remove_point): ... 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 supports_z_point_type 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.cc (process_target::supports_z_point_type): Define.
+
+       Update the derived classes and callers below.
+
+       * mem-break.cc (z_type_supported): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_supports_z_point_type): Turn into ...
+       (linux_process_target::supports_z_point_type): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_supports_z_point_type): Turn into ...
+       (nto_process_target::supports_z_point_type): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_supports_z_point_type): Turn into ...
+       (win32_process_target::supports_z_point_type): ... 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 read_auxv op into a method of
+       process_target.
+
+       * target.h (class process_stratum_target): Remove the target op.
+       (struct process_target): Add the target op.  Also add
+       'supports_read_auxv'.
+       * target.cc (process_target::read_auxv): Define.
+       (process_target::supports_read_auxv): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_qxfer_auxv): Update.
+       (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_process_target::supports_read_auxv): Define.
+       (linux_read_auxv): Turn into ...
+       (linux_process_target::read_auxv): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_process_target::supports_read_auxv): Define.
+       (nto_read_auxv): Turn into ...
+       (nto_process_target::read_auxv): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn process_stratum_target's request_interrupt op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+
+       Update the derived classes and callers below.
+
+       * remote-utils.cc (putpkt_binary_1): Update.
+       (input_interrupt): Update.
+       (getpkt): Update.
+       * server.cc (handle_v_requests): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_request_interrupt): Turn into ...
+       (linux_process_target::request_interrupt): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_request_interrupt): Turn into ...
+       (lynx_process_target::request_interrupt): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_request_interrupt): Turn into ...
+       (nto_process_target::request_interrupt): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_request_interrupt): Turn into ...
+       (win32_process_target::request_interrupt): ... 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 look_up_symbols 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.cc (process_target::look_up_symbols): Define.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_query): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_look_up_symbols): Turn into ...
+       (linux_process_target::look_up_symbols): ... 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_memory and write_memory
+       ops into methods of process_target.
+
+       * target.h (struct process_stratum_target): Remove the target ops.
+       (class process_target): Add the target ops.
+
+       Update the derived classes and callers below.
+
+       * linux-aarch32-low.cc (arm_breakpoint_at): Update.
+       * linux-aarch64-low.cc (aarch64_breakpoint_at): Update.
+       * linux-arm-low.cc (arm_sigreturn_next_pc): Update.
+       (arm_get_syscall_trapinfo): Update.
+       * linux-cris-low.cc (cris_breakpoint_at): Update.
+       * linux-crisv32-low.cc (cris_breakpoint_at): Update.
+       * linux-m32r-low.cc (m32r_breakpoint_at): Update.
+       * linux-mips-low.cc (mips_breakpoint_at): Update.
+       * linux-nios2-low.cc (nios2_breakpoint_at): Update.
+       * linux-ppc-low.cc (ppc_breakpoint_at): Update.
+       * linux-sh-low.cc (sh_breakpoint_at): Update.
+       * linux-sparc-low.cc (sparc_fill_gregset_to_stack): Update.
+       (sparc_store_gregset_from_stack): Update.
+       (sparc_breakpoint_at): Update.
+       * linux-tic6x-low.cc (tic6x_breakpoint_at): Update.
+       * linux-tile-low.cc (tile_breakpoint_at): Update.
+       * linux-x86-low.cc (x86_breakpoint_at): Update.
+       * linux-xtensa-low.cc (xtensa_breakpoint_at): Update.
+       * mem-brea.cc (insert_memory_breakpoint): Update.
+       (validate_inserted_breakpoint): Update.
+       * target.cc (read_inferior_memory): Update.
+       (target_write_memory): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_read_memory): Make a wrapper around the read_memory target
+       op call.
+       (linux_process_target::read_memory): Rename from linux_read_memory.
+       (linux_write_memory): Turn into ...
+       (linux_process_target::write_memory): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_read_memory): Turn into ...
+       (lynx_process_target::read_memory): ... this.
+       (lynx_write_memory): Turn into ...
+       (lynx_process_target::write_memory): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_read_memory): Turn into ...
+       (nto_process_target::read_memory): ... this.
+       (nto_write_memory): Turn into ...
+       (nto_process_target::write_memory): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_read_inferior_memory): Turn into ...
+       (win32_process_target::read_memory): ... this.
+       (win32_write_inferior_memory): Turn into ...
+       (win32_process_target::write_memory): ... 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 prepare_to_access_memory and
+       done_accessing_memory 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::prepare_to_access_memory): Define.
+       (process_target::done_accessing_memory): Define.
+       (prepare_to_access_memory): Update.
+       (done_accessing_memory): Update.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_prepare_to_access_memory): Turn into ...
+       (linux_process_target::prepare_to_access_memory): ... this.
+       (linux_done_accessing_memory): Turn into ...
+       (linux_process_target::done_accessing_memory): ... 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 fetch_registers and store_registers
+       ops into methods of process_target.
+
+       * target.h (struct process_stratum_target): Remove the target ops.
+       (class process_target): Add the target ops.
+       (fetch_inferior_registers): Update the macro.
+       (store_inferior_registers): Update the macro.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_fetch_registers): Turn into ...
+       (linux_process_target::fetch_registers): ... this.
+       (linux_store_registers): Turn into ...
+       (linux_process_target::store_registers): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_fetch_registers): Turn into ...
+       (lynx_process_target::fetch_registers): ... this.
+       (lynx_store_registers): Turn into ...
+       (lynx_process_target::store_registers): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_fetch_registers): Turn into ...
+       (nto_process_target::fetch_registers): ... this.
+       (nto_store_registers): Turn into ...
+       (nto_process_target::store_registers): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_fetch_inferior_registers): Turn into ...
+       (win32_process_target::fetch_registers): ... this.
+       (win32_store_inferior_registers): Turn into ...
+       (win32_process_target::store_registers): ... 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 wait op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+
+       Update the derived classes and callers below.
+
+       * target.cc (target_wait): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_wait): Turn into ...
+       (linux_process_target::wait): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_wait): Turn into ...
+       (lynx_process_target::wait): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_wait): Turn into ...
+       (nto_process_target::wait): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_wait): Turn into ...
+       (win32_process_target::wait): ... this.
+       (do_initial_child_stuff): Update.
+       * win32-low.h (class win32_process_target): Update.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       Turn process_stratum_target's resume op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+
+       Update the derived classes and callers below.
+
+       * server.cc (resume): Update.
+       * target.cc (target_stop_and_wait): Update.
+       (target_continue_no_signal): Update.
+       (target_continue): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_resume): Turn into ...
+       (linux_process_target::resume): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_resume): Turn into ...
+       (lynx_process_target::resume): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_resume): Turn into ...
+       (nto_process_target::resume): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_resume): Turn into ...
+       (win32_process_target::resume): ... this.
+       (win32_process_target::detach): Update.
+       (do_initial_child_stuff): Update.
+       * 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_alive op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+       (mythread_alive): Update the macro.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_thread_alive): Turn into ...
+       (linux_process_target::thread_alive): ... this.
+       (wait_for_sigstop): Update.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_thread_alive): Turn into ...
+       (lynx_process_target::thread_alive): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_thread_alive): Turn into ...
+       (nto_process_target::thread_alive): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_thread_alive): Turn into ...
+       (win32_process_target::thread_alive): ... 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 join op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+       (join_inferior): Update the macro.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_join): Turn into ...
+       (linux_process_target::join): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_join): Turn into ...
+       (lynx_process_target::join): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_process_target::join): Define.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_join): Turn into ...
+       (win32_process_target::join): ... 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 mourn op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+
+       Update the derived classes and callers below.
+
+       * target.cc (target_mourn_inferior): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_mourn): Turn into ...
+       (linux_process_target::mourn): ... this.
+       (handle_extended_wait): Update.
+       (linux_process_target::kill): Update.
+       (linux_process_target::detach): Update.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_mourn): Turn into ...
+       (lynx_process_target::mourn): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_mourn): Turn into ...
+       (nto_process_target::mourn): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_mourn): Turn into ...
+       (win32_process_target::mourn): ... 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 detach op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+       (detach_inferior): Update the macro.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_detach): Turn into ...
+       (linux_process_target::detach): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_detach): Turn into ...
+       (lynx_process_target::detach): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_detach): Turn into ...
+       (nto_process_target::detach): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_detach): Turn into ...
+       (win32_process_target::detach): ... 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 kill op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+
+       Update the derived classes and callers below.
+
+       * target.cc (kill_inferior): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_kill): Turn into ...
+       (linux_process_target::kill): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_kill): Turn into ...
+       (lynx_process_target::kill): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_kill): Turn into ...
+       (nto_process_target::kill): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_kill): Turn into ...
+       (win32_process_target::kill): ... 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 attach op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+       (myattach): Update the macro.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_attach): Turn into ...
+       (linux_process_target::attach): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_attach): Turn into ...
+       (lynx_process_target::attach): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_attach): Turn into ...
+       (nto_process_target::attach): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_attach): Turn into ...
+       (win32_process_target::attach): ... 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 post_create_inferior 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_post_create_inferior): Update the macro.
+       * target.cc (process_target::post_create_inferior): Define.
+
+       Update the derived classes and callers below.
+
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_post_create_inferior): Turn into ...
+       (linux_process_target::post_create_inferior): ... 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 create_inferior op into a method of
+       process_target.
+
+       * target.h (struct process_stratum_target): Remove the target op.
+       (class process_target): Add the target op.
+       (create_inferior): Rename the macro to ...
+       (target_create_inferior): ... this.
+
+       Update the derived classes and callers below.
+
+       * server.cc (handle_v_run): Update.
+       (captured_main): Update.
+       (process_serial_event): Update.
+       * linux-low.cc (linux_target_ops): Update.
+       (linux_create_inferior): Turn into ...
+       (linux_process_target::create_inferior): ... this.
+       * linux-low.h (class linux_process_target): Update.
+       * lynx-low.cc (lynx_target_ops): Update.
+       (lynx_create_inferior): Turn into ...
+       (lynx_process_target::create_inferior): ... this.
+       * lynx-low.h (class lynx_process_target): Update.
+       * nto-low.cc (nto_target_ops): Update.
+       (nto_create_inferior): Turn into ...
+       (nto_process_target::create_inferior): ... this.
+       * nto-low.h (class nto_process_target): Update.
+       * win32-low.cc (win32_target_ops): Update.
+       (win32_create_inferior): Turn into ...
+       (win32_process_target::create_inferior): ... this.
+       * win32-low.h (class win32_process_target): Update.
+
+2020-02-20  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+       * target.h (class process_target): New class definition.
+       (struct process_stratum_target) <pt>: New field with type
+       'process_target*'.
+       * linux-low.h (class linux_process_target): Define as a derived
+       class of 'process_target'.
+       * linux-low.cc (linux_target_ops): Add a linux_process_target*
+       as the 'pt' field.
+       * lynx-low.h (class lynx_process_target): Define as a derived
+       class of 'process_target'.
+       * lynx-low.cc (lynx_target_ops): Add a lynx_process_target*
+       as the 'pt' field.
+       * nto-low.h (class nto_process_target): Define as a derived
+       class of 'process_target'.
+       * nto-low.cc (nto_target_ops): Add an nto_process_target*
+       as the 'pt' field.
+       * win32-low.h (class win32_process_target): Define as a derived
+       class of 'process_target'.
+       * win32-low.cc (win32_target_ops): Add a win32_process_target*
+       as the 'pt' field.
+
+2020-02-19  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * configure: Regenerate.
+
+2020-02-19  Maciej W. Rozycki  <macro@wdc.com>
+           Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * linux-riscv-low.cc: New file.
+       * Makefile.in (SFILES): Add linux-riscv-low.cc, arch/riscv.c,
+       and nat/riscv-linux-tdesc.c.
+       * configure.srv <riscv*-*-linux*> (srv_tgtobj)
+       (srv_linux_regsets, srv_linux_usrregs, srv_linux_thread_db):
+       Define.
+
+2020-02-14  Tom Tromey  <tom@tromey.com>
+
+       * acinclude.m4: Don't include acx_configure_dir.m4.
+       * Makefile.in (LIBIBERTY_BUILDDIR, GNULIB_BUILDDIR): Update.
+       (SUBDIRS, CLEANDIRS, REQUIRED_SUBDIRS): Remove.
+       (all, install-only, uninstall, clean-info, clean)
+       (maintainer-clean): Don't recurse.
+       (subdir_do, all-lib): Remove.
+       ($(LIBGNU) $(LIBIBERTY) $(GNULIB_H)): Remove rule.
+       (GNULIB_H): Remove.
+       (generated_files): Update.
+       ($(GNULIB_BUILDDIR)/Makefile): Remove rule.
+       * configure: Rebuild.
+       * configure.ac: Don't configure gnulib or libiberty.
+       (GNULIB): Update.
+
+2020-02-14  Eli Zaretskii  <eliz@gnu.org>
+
+       * win32-low.c (create_process): Prepend PROGRAM to ARGS when
+       preparing the command line for CreateProcess.
+       (win32_create_inferior): Reflect the program name in debugging
+       output that shows the process and its command line.
+
+2020-02-13  Simon Marchi  <simon.marchi@efficios.com>
+
+       * Makefile.in: Rename source files from .c to .cc.
+       * %.c: Rename to %.cc.
+       * configure.ac: Rename server.c to server.cc.
+       * configure: Re-generate.
+
+2020-02-13  Simon Marchi  <simon.marchi@efficios.com>
+
+       * Makefile.in: Rename gdbsupport source files from .c to .cc.
+
+2020-02-12  Hannes Domani  <ssbssa@yahoo.de>
+
+       * win32-low.c (win32_create_inferior): Set signal_pid.
+
+2020-02-12  Maciej W. Rozycki <macro@wdc.com>
+           Pedro Alves  <palves@redhat.com>
+
+       Skip building gdbserver in a cross-configuration.
+       * configure.srv: Set $gdbserver_host depending on whether $target
+       is $host.  Use $gdbserver_host instead of $host.
+
+2020-02-11  Simon Marchi  <simon.marchi@efficios.com>
+
+       * configure: Re-generate.
+
+2020-02-11  Simon Marchi  <simon.marchi@efficios.com>
+
+       * configure: Re-generate.
+
 2020-02-11  Simon Marchi  <simon.marchi@efficios.com>
 
        * acinclude.m4: Update warning.m4 path.
This page took 0.059683 seconds and 4 git commands to generate.