+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.h (win32_process_target::stopped_by_sw_breakpoint)
+ (win32_process_target::supports_stopped_by_sw_breakpoint):
+ Declare.
+ * win32-low.c (win32_supports_z_point_type): Always handle
+ Z_PACKET_SW_BP.
+ (win32_insert_point): Call insert_memory_breakpoint when needed.
+ (win32_remove_point): Call remove_memory_breakpoint when needed.
+ (win32_process_target::stopped_by_sw_breakpoint)
+ (win32_process_target::supports_stopped_by_sw_breakpoint): New
+ methods.
+ (win32_target_ops): Update.
+ (maybe_adjust_pc): New function.
+ (win32_wait): Call maybe_adjust_pc.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.h (struct win32_target_ops) <decr_pc_after_break>: New
+ field.
+ * win32-i386-low.c (the_low_target): Update.
+ * win32-arm-low.c (the_low_target): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.h (win32_process_target::read_pc)
+ (win32_process_target::write_pc): Declare.
+ * win32-low.c (win32_process_target::read_pc)
+ (win32_process_target::write_pc): New methods.
+ * win32-i386-low.c (i386_win32_get_pc, i386_win32_set_pc): New
+ functions.
+ (the_low_target): Update.
+ * win32-arm-low.c (arm_win32_get_pc, arm_win32_set_pc): New
+ functions.
+ (the_low_target): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (win32_kill, get_child_debug_event): Use
+ wait_for_debug_event.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (child_continue): Call continue_last_debug_event.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (handle_exception): Remove.
+ (windows_nat::handle_ms_vc_exception): New function.
+ (get_child_debug_event): Add "continue_status" parameter.
+ Update.
+ (win32_wait): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (windows_nat::handle_load_dll): Rename from
+ handle_load_dll. No longer static.
+ (windows_nat::handle_unload_dll): Rename from handle_unload_dll.
+ No longer static.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (handle_output_debug_string): Add parameter. Change
+ return type.
+ (win32_kill, get_child_debug_event): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (current_process_handle, current_process_id)
+ (main_thread_id, last_sig, current_event, siginfo_er): Move to
+ nat/windows-nat.c.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (get_image_name): Remove.
+ (handle_load_dll): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (windows_nat::thread_rec): Rename from thread_rec.
+ No longer static. Change parameters.
+ (child_add_thread, child_fetch_inferior_registers)
+ (child_store_inferior_registers, win32_resume)
+ (win32_get_tib_address): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.h (struct win32_target_ops): Use qualified names where
+ needed.
+ * win32-i386-low.c: Add "using namespace".
+ * win32-low.c: Add "using namespace".
+ * win32-arm-low.c: Add "using namespace".
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (delete_thread_info): Don't call CloseHandle.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (win32_require_context, suspend_one_thread): Use
+ windows_thread_info::suspend.
+ (continue_one_thread): Use windows_thread_info::resume.
+ * configure.srv (srv_tgtobj): Add windows-nat.o when needed.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-i386-low.c (update_debug_registers)
+ (i386_prepare_to_resume, i386_thread_added): Update.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.c (child_add_thread): Use new.
+ (delete_thread_info): Use delete.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.h (struct windows_thread_info): Remove.
+
+2020-04-08 Tom Tromey <tromey@adacore.com>
+
+ * win32-low.h (struct windows_thread_info): Rename from
+ win32_thread_info. Remove typedef.
+ (struct win32_target_ops, win32_require_context): Update.
+ * win32-low.c (win32_get_thread_context)
+ (win32_set_thread_context, win32_prepare_to_resume)
+ (win32_require_context, thread_rec, child_add_thread)
+ (delete_thread_info, continue_one_thread)
+ (child_fetch_inferior_registers, child_store_inferior_registers)
+ (win32_resume, suspend_one_thread, win32_get_tib_address):
+ Update.
+ * win32-i386-low.c (update_debug_registers)
+ (win32_get_current_dr, i386_get_thread_context)
+ (i386_prepare_to_resume, i386_thread_added, i386_single_step)
+ (i386_fetch_inferior_register, i386_store_inferior_register):
+ Update.
+ * win32-arm-low.c (arm_get_thread_context)
+ (arm_fetch_inferior_register, arm_store_inferior_register):
+ Update.
+
+2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ * linux-low.h (struct linux_target_ops): Remove.
+ (the_low_target): Remove.
+ * linux-x86-low.cc (the_low_target): Remove.
+ * 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-cris-low.cc (the_low_target): Ditto.
+ * linux-crisv32-low.cc (the_low_target): Ditto.
+ * linux-ia64-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.
+
+2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Remove the 'get_ipa_tdesc_idx' linux target op and let a concrete
+ linux target define the op by overriding the declaration in
+ process_stratum_target.
+
+ * linux-low.h (struct linux_target_ops): Remove the op.
+ (class linux_process_target) <get_ipa_tdesc_idx>: Remove.
+ * linux-low.cc (linux_process_target::get_ipa_tdesc_idx): Remove.
+ * linux-x86-low.cc (class x86_target) <get_ipa_tdesc_idx>: Declare.
+ (x86_get_ipa_tdesc_idx): Turn into...
+ (x86_target::get_ipa_tdesc_idx): ...this.
+ (the_low_target): Remove the op field.
+ * linux-ppc-low.cc (class ppc_target) <get_ipa_tdesc_idx>: Declare.
+ (ppc_get_ipa_tdesc_idx): Turn into...
+ (ppc_target::get_ipa_tdesc_idx): ...this.
+ (the_low_target): Remove the op field.
+ * linux-s390-low.cc (class s390_target) <get_ipa_tdesc_idx>: Declare.
+ (s390_get_ipa_tdesc_idx): Turn into...
+ (s390_target::get_ipa_tdesc_idx): ...this.
+ (the_low_target): Remove the op field.
+
+2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn the 'get_syscall_trapinfo' linux target op into a method
+ of process_stratum_target.
+
+ * linux-low.h (struct linux_target_ops): Remove the op.
+ (class linux_process_target) <get_syscall_trapinfo>
+ <gdb_catch_this_syscall>
+ <low_supports_catch_syscall>
+ <low_get_syscall_trapinfo>: Declare.
+ * linux-low.cc (get_syscall_trapinfo): Turn into...
+ (linux_process_target::get_syscall_trapinfo): ...this.
+ (linux_process_target::low_get_syscall_trapinfo): Define.
+ (gdb_catch_this_syscall_p): Turn into...
+ (linux_process_target::gdb_catch_this_syscall): ...this.
+ (linux_process_target::low_supports_catch_syscall): Define.
+
+ Update the callers below.
+
+ (linux_process_target::wait_1)
+ (linux_process_target::supports_catch_syscall)
+
+ * linux-x86-low.cc (class x86_target) <low_supports_catch_syscall>
+ <low_get_syscall_trapinfo>: Declare.
+ (x86_target::low_supports_catch_syscall): Define.
+ (x86_get_syscall_trapinfo): Turn into...
+ (x86_target::low_get_syscall_trapinfo): ...this.
+ (the_low_target): Remove the op field.
+ * linux-aarch64-low.cc (class aarch64_target)
+ <low_supports_catch_syscall>
+ <low_get_syscall_trapinfo>: Declare.
+ (aarch64_target::low_supports_catch_syscall): Define.
+ (aarch64_get_syscall_trapinfo): Turn into...
+ (aarch64_target::low_get_syscall_trapinfo): ...this.
+ (the_low_target): Remove the op field.
+ * linux-arm-low.cc (class arm_target) <low_supports_catch_syscall>
+ <low_get_syscall_trapinfo>: Declare.
+ (arm_target::low_supports_catch_syscall): Define.
+ (arm_get_syscall_trapinfo): Turn into...
+ (arm_target::low_get_syscall_trapinfo): ...this.
+ (the_low_target): Remove the op field.
+ * linux-ppc-low.cc (the_low_target): Remove the op field.
+ * linux-s390-low.cc (the_low_target): Remove the op field.
+
+2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Remove the 'supports_hardware_single_step' linux target op and
+ override the process_stratum_target's op definition in
+ linux_process_target to return true.
+
+ * linux-low.h (struct linux_target_ops): Remove the op.
+ (class linux_process_target) <finish_step_over>
+ <maybe_hw_step>: Declare.
+ * linux-low.cc (can_hardware_single_step): Remove.
+ (maybe_hw_step): Turn into...
+ (linux_process_target::maybe_hw_step): ...this.
+ (finish_step_over): Turn into...
+ (linux_process_target::finish_step_over): ...this.
+ (linux_process_target::supports_hardware_single_step): Update
+ to return true.
+
+ Update the callers below.
+
+ (linux_process_target::single_step)
+ (linux_process_target::resume_one_lwp_throw)
+
+ * linux-arm-low.cc (class arm_target)
+ <supports_hardware_single_step>: Declare.
+ (arm_supports_hardware_single_step): Turn into...
+ (arm_target::supports_hardware_single_step): ...this.
+ (the_low_target): Remove the op field.
+ * linux-x86-low.cc (x86_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-aarch64-low.cc (aarch64_supports_hardware_single_step):
+ Remove.
+ (the_low_target): Remove the op field.
+ * linux-bfin-low.cc (bfin_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-crisv32-low.cc (cris_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-m32r-low.cc (m32r_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-m68k-low.cc (m68k_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-ppc-low.cc (ppc_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-s390-low.cc (s390_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-sh-low.cc (sh_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-tic6x-low.cc (tic6x_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-tile-low.cc (tile_supports_hardware_single_step): Remove.
+ (the_low_target): Remove the op field.
+ * linux-xtensa-low.cc (xtensa_supports_hardware_single_step):
+ Remove.
+ (the_low_target): Remove the op field.
+
+2020-04-02 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
+
+ Turn the 'supports_range_stepping' 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_supports_range_stepping>: Declare.
+ * linux-low.cc (linux_process_target::low_supports_range_stepping):
+ Define.
+ (linux_process_target::supports_range_stepping): Update the call
+ site.
+ * linux-x86-low.cc (class x86_target)
+ <low_supports_range_stepping>: Declare.
+ (x86_supports_range_stepping): Turn into...
+ (x86_target::low_supports_range_stepping): ...this.
+ (the_low_target): Remove the op field.
+ * linux-aarch64-low.cc (class aarch64_target)
+ <low_supports_range_stepping>: Declare.
+ (aarch64_supports_range_stepping): Turn into...
+ (aarch64_target::low_supports_range_stepping): ...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-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>
+
+ Remove the 'emit_ops' linux target ops and let the concrete
+ linux target define the op by overriding the declaration of
+ process_stratum_target.
+
+ * linux-low.h (struct linux_target_ops): Remove the op.
+ (class linux_process_target) <emit_ops>: Remove.
+ * linux-low.cc (linux_process_target::emit_ops): Remove.
+ * linux-x86-low.cc (class x86_target) <emit_ops>: Declare.
+ (x86_emit_ops): Turn into...
+ (x86_target::emit_ops): ...this.
+ (the_low_target): Remove the op field.
+ * linux-aarch64-low.cc (class aarch64_target) <emit_ops>: Declare.
+ (aarch64_emit_ops): Turn into...
+ (aarch64_target::emit_ops): ...this.
+ (the_low_target): Remove the op field.
+ * linux-ppc-low.cc (class ppc_target) <emit_ops>: Declare.
+ (ppc_emit_ops): Turn into...
+ (ppc_target::emit_ops): ...this.
+ (the_low_target): Remove the op field.
+ * linux-s390-low.cc (class s390_target) <emit_ops>: Declare.
+ (s390_emit_ops): Turn into...
+ (s390_target::emit_ops): ...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-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>
+
+ Remove the 'install_fast_tracepoint_jump_pad' and
+ 'get_min_fast_tracepoint_insn_len' linux target ops to let the
+ concrete linux target define the ops by overriding the declarations
+ of process_stratum_target.
+
+ * linux-low.h (struct linux_target_ops): Remove the ops.
+ (class linux_process_target) <supports_fast_tracepoints>
+ <install_fast_tracepoint_jump_pad>
+ <get_min_fast_tracepoint_insn_len>: Remove.
+ * linux-low.cc (linux_process_target::supports_fast_tracepoints)
+ (linux_process_target::install_fast_tracepoint_jump_pad)
+ (linux_process_target::get_min_fast_tracepoint_insn_len): Remove.
+ * linux-x86-low.cc (class x86_target) <supports_fast_tracepoints>
+ <install_fast_tracepoint_jump_pad>
+ <get_min_fast_tracepoint_insn_len>: Declare.
+ (x86_target::supports_fast_tracepoints): Define.
+ (x86_install_fast_tracepoint_jump_pad): Turn into...
+ (x86_target::install_fast_tracepoint_jump_pad): ...this.
+ (x86_get_min_fast_tracepoint_insn_len): Turn into...
+ (x86_target::get_min_fast_tracepoint_insn_len): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-aarch64-low.cc (class aarch64_target)
+ <supports_fast_tracepoints>
+ <install_fast_tracepoint_jump_pad>
+ <get_min_fast_tracepoint_insn_len>: Declare.
+ (aarch64_target::supports_fast_tracepoints): Define.
+ (aarch64_install_fast_tracepoint_jump_pad): Turn into...
+ (aarch64_target::install_fast_tracepoint_jump_pad): ...this.
+ (aarch64_get_min_fast_tracepoint_insn_len): Turn into...
+ (aarch64_target::get_min_fast_tracepoint_insn_len): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-ppc-low.cc (class ppc_target) <supports_fast_tracepoints>
+ <install_fast_tracepoint_jump_pad>
+ <get_min_fast_tracepoint_insn_len>: Declare.
+ (ppc_target::supports_fast_tracepoints): Define.
+ (ppc_install_fast_tracepoint_jump_pad): Turn into...
+ (ppc_target::install_fast_tracepoint_jump_pad): ...this.
+ (ppc_get_min_fast_tracepoint_insn_len): Turn into...
+ (ppc_target::get_min_fast_tracepoint_insn_len): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-s390-low.cc (class s390_target) <supports_fast_tracepoints>
+ <install_fast_tracepoint_jump_pad>
+ <get_min_fast_tracepoint_insn_len>: Declare.
+ (s390_target::supports_fast_tracepoints): Define.
+ (s390_install_fast_tracepoint_jump_pad): Turn into...
+ (s390_target::install_fast_tracepoint_jump_pad): ...this.
+ (s390_get_min_fast_tracepoint_insn_len): Turn into...
+ (s390_target::get_min_fast_tracepoint_insn_len): ...this.
+ (the_low_target): Remove the op fields.
+ * linux-arm-low.cc (the_low_target): Remove the op fields.
+ * 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-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 'get_thread_area' linux target op into a method of
+ process_stratum_target.
+
+ * linux-low.h (struct linux_target_ops): Remove the op.
+ (class linux_process_target) <stuck_in_jump_pad>
+ <linux_fast_tracepoint_collecting>
+ <low_get_thread_area>: Declare.
+ * linux-low.cc (supports_fast_tracepoints): Remove.
+ (linux_fast_tracepoint_collecting): Turn into...
+ (linux_process_target::linux_fast_tracepoint_collecting): ...this.
+ (linux_process_target::low_get_thread_area): Define.
+ (stuck_in_jump_pad_callback): Turn into...
+ (linux_process_target::stuck_in_jump_pad): ...this.
+
+ Update the caller below.
+
+ (linux_process_target::stabilize_threads)
+
+ * linux-x86-low.cc (class x86_target) <low_get_thread_area>:
+ Declare.
+ (x86_get_thread_area): Turn into...
+ (x86_target::low_get_thread_area): ...this.
+ (the_low_target): Remove the op field.
+ * linux-aarch64-low.cc (class aarch64_target) <low_get_thread_area>:
+ Declare.
+ (aarch64_get_thread_area): Turn into...
+ (aarch64_target::low_get_thread_area): ...this.
+ (the_low_target): Remove the op field.
+ * linux-ppc-low.cc (class ppc_target) <low_get_thread_area>:
+ Declare.
+ (ppc_get_thread_area): Turn into...
+ (ppc_target::low_get_thread_area): ...this.
+ (the_low_target): Remove the op field.
+ * linux-s390-low.cc (class s390_target) <low_get_thread_area>:
+ Declare.
+ (s390_get_thread_area): Turn into...
+ (s390_target::low_get_thread_area): ...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-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>
Remote the 'supports_tracepoints' linux target op and let the