X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdbserver%2FChangeLog;h=36d6f29e424400067bbdb8d27919ab09d3e054cc;hb=523d4f80c32f43a6b009645947b94f87df35f79f;hp=ef8addbfe87f1436f5d0951db03e29ffe4fdc420;hpb=a0761e34f054767de6d6389929d27e9015fb299b;p=deliverable%2Fbinutils-gdb.git diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index ef8addbfe8..36d6f29e42 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,2171 @@ +2020-04-08 Tom Tromey + + * 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 + + * win32-low.h (struct win32_target_ops) : New + field. + * win32-i386-low.c (the_low_target): Update. + * win32-arm-low.c (the_low_target): Update. + +2020-04-08 Tom Tromey + + * 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 + + * win32-low.c (win32_kill, get_child_debug_event): Use + wait_for_debug_event. + +2020-04-08 Tom Tromey + + * win32-low.c (child_continue): Call continue_last_debug_event. + +2020-04-08 Tom Tromey + + * 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 + + * 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 + + * win32-low.c (handle_output_debug_string): Add parameter. Change + return type. + (win32_kill, get_child_debug_event): Update. + +2020-04-08 Tom Tromey + + * 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 + + * win32-low.c (get_image_name): Remove. + (handle_load_dll): Update. + +2020-04-08 Tom Tromey + + * 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 + + * 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 + + * win32-low.c (delete_thread_info): Don't call CloseHandle. + +2020-04-08 Tom Tromey + + * 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 + + * win32-i386-low.c (update_debug_registers) + (i386_prepare_to_resume, i386_thread_added): Update. + +2020-04-08 Tom Tromey + + * win32-low.c (child_add_thread): Use new. + (delete_thread_info): Use delete. + +2020-04-08 Tom Tromey + + * win32-low.h (struct windows_thread_info): Remove. + +2020-04-08 Tom Tromey + + * 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 + + * 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 + + 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) : Remove. + * linux-low.cc (linux_process_target::get_ipa_tdesc_idx): Remove. + * linux-x86-low.cc (class x86_target) : 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) : 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) : 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 + + 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) + + + : 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) + : 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) + + : 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) + : 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 + + 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) + : 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) + : 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 + + 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) : 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) + : 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) + : 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 + + 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) : Remove. + * linux-low.cc (linux_process_target::emit_ops): Remove. + * linux-x86-low.cc (class x86_target) : 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) : 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) : 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) : 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 + + 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) + + : 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) + + : 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) + + + : 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) + + : 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) + + : 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 + + 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) + + : 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) : + 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) : + 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) : + 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) : + 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 + + Remote the 'supports_tracepoints' linux target op and let the + concrete linux target define it by overriding the op declared in + process_stratum_target. + + * linux-low.h (struct linux_target_ops): Remove the op. + (class linux_process_target) : Remove. + * linux-low.cc (linux_process_target::supports_tracepoints): Remove. + * linux-x86-low.cc (class x86_target) : + Declare. + (x86_supports_tracepoints): Turn into... + (x86_target::supports_tracepoints): ...this. + (the_low_target): Remove the op field. + * linux-aarch64-low.cc (class aarch64_target) + : Declare. + (aarch64_supports_tracepoints): Turn into... + (aarch64_target::supports_tracepoints): ...this. + (the_low_target): Remove the op field. + * linux-ppc-low.cc (class ppc_target) : + Declare. + (ppc_supports_tracepoints): Turn into... + (ppc_target::supports_tracepoints): ...this. + (the_low_target): Remove the op field. + * linux-s390-low.cc (class s390_target) : + Declare. + (s390_supports_tracepoints): Turn into... + (s390_target::supports_tracepoints): ...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 + + Remove the 'process_qsupported' linux target op and let a concrete + linux target define the op by overriding the op declaration in + process_stratum_target. + + * linux-low.h (struct linux_target_ops): Remove the op. + (class linux_process_target) : Remove. + * linux-low.cc (linux_process_target::process_qsupported): Remove. + * linux-x86-low.cc (class x86_target) : Declare. + (x86_linux_process_qsupported): Turn into... + (x86_target::process_qsupported): ...this. + (the_low_target): Remove the op field. + * linux-aarch64-low.cc (the_low_target): Remove the op + field. + * 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-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 + + Turn the 'prepare_to_resume' linux target op into a method of + linux_process_target. + + * linux-low.h (struct linux_target_ops): Remove the op. + (class linux_process_target) : Declare. + * linux-low.cc (linux_process_target::low_prepare_to_resume): + Define. + + Update the callers below: + + (linux_process_target::resume_one_lwp_throw) + (linux_process_target::low_prepare_to_resume) + + * linux-x86-low.cc (class x86_target) : + Declare. + (x86_target::low_prepare_to_resume): Define. + (the_low_target): Remove the op field. + * linux-aarch64-low.cc (class aarch64_target) + : Declare. + (aarch64_target::low_prepare_to_resume): Define. + (the_low_target): Remove the op field. + * linux-arm-low.cc (class arm_target) : + Declare. + (arm_prepare_to_resume): Turn into... + (arm_target::low_prepare_to_resume): ...this. + (the_low_target): Remove the op field. + * linux-mips-low.cc (class mips_target) : + Declare. + (mips_linux_prepare_to_resume): Turn into... + (mips_target::low_prepare_to_resume): ...this. + (the_low_target): Remove the op field. + * linux-bfin-low.cc (the_low_target): Remove the op field. + * 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 + + 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) + + + + + + + + + + + : 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) + + + + : 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) + + + + : 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) + + + + : 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) + + + + : 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 + + 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) + : 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) : 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): + : 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 + + 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) + : 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) + + : 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) + + : 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) + + : 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 + + 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) + + : 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) + : 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) + + : 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) + : 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) + + : 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) + : 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 + + 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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 + + 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) : Remove. + * linux-x86-low.cc (class x86_target) : + 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) + : 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) : + 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) + : 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) : + 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) : + 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) : + 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 + + 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) : 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) + : 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) + : 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) + : Declare. + (arm_target::low_breakpoint_at): Define. + (the_low_target): Remove the op field. + * linux-bfin-low.cc (class bfin_target) + : 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) + : 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) + : 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) + : Declare. + (ia64_target::low_breakpoint_at): Define. + * linux-m32r-low.cc (class m32r_target) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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) + : 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 + + Turn the 'decr_pc_after_break' linux_target_ops field into + a method of linux_process_target. + + * linux-low.h (struct linux_target_ops) + : Remove. + (class linux_process_target) : 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) : + 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) : + 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) : + 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) : + 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 + + 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) : + Remove. + : 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) + : 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 + + 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) : Remove. + * linux-x86-low.cc (class x86_target) : + 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) + : 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) : + Declare. + (arm_target::sw_breakpoint_from_kind): Define. + (the_low_target): Remove the op field. + * linux-bfin-low.cc (class bfin_target) : + 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) : + 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) + : 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) : + Declare. + (ia64_target::sw_breakpoint_from_kind): Define. + * linux-m32r-low.cc (class m32r_target) : + 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) : + 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) : + 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) : + 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) : + 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) : + 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) : + 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) : + 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) : + 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) : + 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) : + 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) + : 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 + + 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) : Remove. + : 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) + + : 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): + + : 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): + : 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 + + 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) + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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) + + + : 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 + + 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) + + + + + + + + + + + + + + : Declare. + +2020-04-02 Tankut Baris Aktemur + + Turn the 'fetch_register' linux target op into a method of + linux_process_target. + + * linux-low.h (struct linux_target_ops) : Remove. + (class linux_process_target) : 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) : + 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) : + 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) : + 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 + + 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) + + + + + 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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) + + : 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 + + Turn the 'regs_info' linux target op into a method of + linux_process_target. + + * linux-low.h (struct linux_target_ops) : Remove. + (class linux_process_target) : 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) : 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) : + 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) : 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) : 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) : 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) : + 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : + 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 + + Turn the 'arch_setup' linux target op into a method of + linux_process_target. + + * linux-low.h (struct linux_target_ops) : Delete. + (class linux_process_target) + : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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) : 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 + + * 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 + + 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) + + + filter_event> + + + + + + + + + + : 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 + + * 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 + + * config.in: Re-generate. + * configure: Re-generate. + +2020-03-17 Kamil Rytarowski + + * 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 + + * 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 + + * 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 + + * acinclude.m4: Update path to selftest.m4. + +2020-03-12 Simon Marchi + + * configure.ac: Don't source bfd/development.sh, move + GDB_AC_COMMON higher. + * configure: Re-generate. + +2020-03-12 Simon Marchi + + * configure: Re-generate. + 2020-03-11 Simon Marchi * configure: Re-generate.