+2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn the 'new_process', 'delete_process', 'new_thread',
+ 'delete_thread', and 'new_fork' linux target ops into methods
+ of linux_process_target.
+
+ * linux-low.h (struct linux_target_ops): Remove the ops.
+ (class linux_process_target) <add_linux_process>
+ <add_lwp>
+ <delete_lwp>
+ <attach_lwp>
+ <detach_one_lwp>
+ <check_zombie_leaders>
+ <filter_exit_event>
+ <low_new_process>
+ <low_delete_process>
+ <low_new_thread>
+ <low_delete_thread>
+ <low_new_fork>: Declare.
+ * linux-low.cc (delete_lwp): Turn into...
+ (linux_process_target::delete_lwp): ...this.
+ (linux_process_target::low_delete_thread): Define.
+ (linux_add_process): Turn into...
+ (linux_process_target::add_linux_process): ...this.
+ (linux_process_target::low_new_process): Define.
+ (linux_process_target::low_delete_process): Define.
+ (linux_process_target::low_new_fork): Define.
+ (add_lwp): Turn into...
+ (linux_process_target::add_lwp): ...this.
+ (linux_process_target::low_new_thread): Define.
+ (linux_attach_lwp): Turn into...
+ (linux_process_target::attach_lwp): ...this.
+ (linux_detach_one_lwp): Turn into...
+ (linux_process_target::detach_one_lwp): ...this.
+ (linux_detach_lwp_callback): Remove and inline...
+ (linux_process_target::detach): ...here.
+ (check_zombie_leaders): Turn into...
+ (linux_process_target::check_zombie_leaders): ...this.
+ (filter_exit_event): Turn into...
+ (linux_process_target::filter_exit_event): ...this.
+
+ Update the callers below.
+
+ (linux_process_target::handle_extended_wait)
+ (linux_process_target::create_inferior)
+ (attach_proc_task_lwp_callback)
+ (linux_process_target::attach)
+ (linux_process_target::detach)
+ (linux_process_target::mourn)
+ * thread-db.cc (attach_thread)
+
+ * linux-x86-low.cc (class x86_target) <low_new_process>
+ <low_delete_process>
+ <low_new_thread>
+ <low_delete_thread>
+ <low_new_fork>: Declare.
+ (x86_linux_new_process): Turn into...
+ (x86_target::low_new_process): ...this.
+ (x86_linux_delete_process): Turn into...
+ (x86_target::low_delete_process): ...this.
+ (x86_target::low_new_thread): Define.
+ (x86_target::low_delete_thread): Define.
+ (x86_linux_new_fork): Turn into...
+ (x86_target::low_new_fork): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-aarch64-low.cc (class aarch64_target) <low_new_process>
+ <low_delete_process>
+ <low_new_thread>
+ <low_delete_thread>
+ <low_new_fork>: Declare.
+ (aarch64_linux_new_process): Turn into...
+ (aarch64_target::low_new_process): ...this.
+ (aarch64_linux_delete_process): Turn into...
+ (aarch64_target::low_delete_process): ...this.
+ (aarch64_target::low_new_thread): Define.
+ (aarch64_target::low_delete_thread): Define.
+ (aarch64_linux_new_fork): Turn into...
+ (aarch64_target::low_new_fork): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-arm-low.cc (class arm_target) <low_new_process>
+ <low_delete_process>
+ <low_new_thread>
+ <low_delete_thread>
+ <low_new_fork>: Declare.
+ (arm_new_process): Turn into...
+ (arm_target::low_new_process): ...this.
+ (arm_delete_process): Turn into...
+ (arm_target::low_delete_process): ...this.
+ (arm_new_thread): Turn into...
+ (arm_target::low_new_thread): ...this.
+ (arm_delete_thread): Turn into...
+ (arm_target::low_delete_thread): ...this.
+ (arm_new_fork): Turn into...
+ (arm_target::low_new_fork): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-mips-low.cc (class mips_target) <low_new_process>
+ <low_delete_process>
+ <low_new_thread>
+ <low_delete_thread>
+ <low_new_fork>: Declare.
+ (mips_linux_new_process): Turn into...
+ (mips_target::low_new_process): ...this.
+ (mips_linux_delete_process): Turn into...
+ (mips_target::low_delete_process): ...this.
+ (mips_linux_new_thread): Turn into...
+ (mips_target::low_new_thread): ...this.
+ (mips_linux_delete_thread): Turn into...
+ (mips_target::low_delete_thread): ...this.
+ (mips_linux_new_fork): Turn into...
+ (mips_target::low_new_fork): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-bfin-low.cc (the_low_target): Remove the op fields.
+ * 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-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 '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