mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 23:34:02 +08:00
gdbserver: finish turning the target ops vector into a class
Now that 'process_stratum_target' has a single field left, namely 'pt' of type 'process_target', and that all the requests to a 'process_stratum_target' are forwarded to 'pt', meld the 'process_target' class into 'process_stratum_target'. This essentially means 1. All the references of the form 'the_target->pt' become 'the_target'. 2. All the uses of the name 'process_target' become 'process_stratum_target'. 3. The platform-specific target op vectors (e.g. linux_target_ops) are removed and instances of their "process target" classes are used instead. gdbserver/ChangeLog: 2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> * target.h (struct process_stratum_target): Remove. (class process_target): Rename to ... (class process_stratum_target): ... this. * linux-low.h (class linux_process_target): Derive from 'process_stratum_target'. * linux-low.cc (linux_target_ops): Remove. (initialize_low): Set the_target to the singleton instance of linux_process_target. * lynx-low.h (class lynx_process_target): Derive from 'process_stratum_target'. * lynx-low.cc (lynx_target_ops): Remove. (initialize_low): Set the_target to the singleton instance of lynx_process_target. * nto-low.h (class nto_process_target): Derive from 'process_stratum_target'. * nto-low.cc (nto_target_ops): Remove. (initialize_low): Set the_target to the singleton instance of nto_process_target. * win32-low.h (class win32_process_target): Derive from 'process_stratum_target'. * win32-low.cc (win32_target_ops): Remove. (initialize_low): Set the_target to the singleton instance of win32_process_target. Replace 'the_target->pt' with 'the_target' in the uses below. * hostio.cc (hostio_error) (handle_setfs) (handle_open) (handle_unlink) (handle_readlink) * linux-aarch32-low.cc (arm_breakpoint_at) * linux-aarch64-low.cc (aarch64_breakpoint_at) * linux-arm-low.cc (arm_sigreturn_next_pc) (arm_get_hwcap) (arm_get_syscall_trapinfo) * linux-cris-low.cc (cris_breakpoint_at) * linux-crisv32-low.cc (cris_breakpoint_at) * linux-low.cc (handle_extended_wait) (linux_wait_1) (linux_read_memory) (linux_process_target::breakpoint_kind_from_pc) (linux_get_auxv) * linux-m32r-low.cc (m32r_breakpoint_at) * linux-mips-low.cc (mips_breakpoint_at) * linux-nios2-low.cc (nios2_breakpoint_at) * linux-ppc-low.cc (ppc_breakpoint_at) * linux-s390-low.cc (s390_get_hwcap) * linux-sh-low.cc (sh_breakpoint_at) * linux-sparc-low.cc (sparc_fill_gregset_to_stack) (sparc_store_gregset_from_stack) (sparc_breakpoint_at) * linux-tic6x-low.cc (tic6x_breakpoint_at) * linux-tile-low.cc (tile_breakpoint_at) * linux-x86-low.cc (x86_breakpoint_at) * linux-xtensa-low.cc (xtensa_breakpoint_at) * mem-break.cc (bp_size) (bp_opcode) (insert_memory_breakpoint) (set_raw_breakpoint_at) (delete_raw_breakpoint) (z_type_supported) (uninsert_raw_breakpoint) (reinsert_raw_breakpoint) (validate_inserted_breakpoint) * regcache.cc (regcache_read_pc) (regcache_write_pc) * remote-utils.cc (putpkt_binary_1) (input_interrupt) (getpkt) (prepare_resume_reply) * server.cc (handle_general_set) (handle_detach) (handle_qxfer_auxv) (handle_qxfer_exec_file) (handle_qxfer_libraries_svr4) (handle_qxfer_osdata) (handle_qxfer_siginfo) (handle_qxfer_fdpic) (handle_query) (resume) (handle_v_requests) (queue_stop_reply_callback) (captured_main) * target.cc (prepare_to_access_memory) (done_accessing_memory) (read_inferior_memory) (target_write_memory) (target_stop_and_wait) (target_wait) (target_mourn_inferior) (target_continue_no_signal) (target_continue) (target_supports_multi_process) (kill_inferior) * target.h (target_create_inferior) (target_post_create_inferior) (myattach) (target_supports_fork_events) (target_supports_vfork_events) (target_supports_exec_events) (target_handle_new_gdb_connection) (detach_inferior) (mythread_alive) (fetch_inferior_registers) (store_inferior_registers) (join_inferior) (target_supports_non_stop) (target_async) (target_process_qsupported) (target_supports_catch_syscall) (target_get_ipa_tdesc_idx) (target_supports_tracepoints) (target_supports_fast_tracepoints) (target_get_min_fast_tracepoint_insn_len) (target_thread_stopped) (target_pause_all) (target_unpause_all) (target_stabilize_threads) (target_install_fast_tracepoint_jump_pad) (target_emit_ops) (target_supports_disable_randomization) (target_supports_agent) (target_enable_btrace) (target_disable_btrace) (target_read_btrace) (target_read_btrace_conf) (target_supports_range_stepping) (target_supports_stopped_by_sw_breakpoint) (target_stopped_by_sw_breakpoint) (target_supports_stopped_by_hw_breakpoint) (target_supports_hardware_single_step) (target_stopped_by_hw_breakpoint) (target_breakpoint_kind_from_pc) (target_breakpoint_kind_from_current_state) (target_supports_software_single_step) (target_core_of_thread) (target_thread_name) (target_thread_handle) * win32-low.cc (do_initial_child_stuff) Rename target op default definitions listed below. * target.cc (process_target::post_create_inferior): Rename as ... (process_stratum_target::post_create_inferior): ... this. (process_target::prepare_to_access_memory): Rename as ... (process_stratum_target::prepare_to_access_memory): ... this. (process_target::done_accessing_memory): Rename as ... (process_stratum_target::done_accessing_memory): ... this. (process_target::look_up_symbols): Rename as ... (process_stratum_target::look_up_symbols): ... this. (process_target::supports_read_auxv): Rename as ... (process_stratum_target::supports_read_auxv): ... this. (process_target::read_auxv): Rename as ... (process_stratum_target::read_auxv): ... this. (process_target::supports_z_point_type): Rename as ... (process_stratum_target::supports_z_point_type): ... this. (process_target::insert_point): Rename as ... (process_stratum_target::insert_point): ... this. (process_target::remove_point): Rename as ... (process_stratum_target::remove_point): ... this. (process_target::stopped_by_sw_breakpoint): Rename as ... (process_stratum_target::stopped_by_sw_breakpoint): ... this. (process_target::supports_stopped_by_sw_breakpoint): Rename as ... (process_stratum_target::supports_stopped_by_sw_breakpoint): ... this. (process_target::stopped_by_hw_breakpoint): Rename as ... (process_stratum_target::stopped_by_hw_breakpoint): ... this. (process_target::supports_stopped_by_hw_breakpoint): Rename as ... (process_stratum_target::supports_stopped_by_hw_breakpoint): ... this. (process_target::supports_hardware_single_step): Rename as ... (process_stratum_target::supports_hardware_single_step): ... this. (process_target::stopped_by_watchpoint): Rename as ... (process_stratum_target::stopped_by_watchpoint): ... this. (process_target::stopped_data_address): Rename as ... (process_stratum_target::stopped_data_address): ... this. (process_target::supports_read_offsets): Rename as ... (process_stratum_target::supports_read_offsets): ... this. (process_target::read_offsets): Rename as ... (process_stratum_target::read_offsets): ... this. (process_target::supports_get_tls_address): Rename as ... (process_stratum_target::supports_get_tls_address): ... this. (process_target::get_tls_address): Rename as ... (process_stratum_target::get_tls_address): ... this. (process_target::hostio_last_error): Rename as ... (process_stratum_target::hostio_last_error): ... this. (process_target::supports_qxfer_osdata): Rename as ... (process_stratum_target::supports_qxfer_osdata): ... this. (process_target::qxfer_osdata): Rename as ... (process_stratum_target::qxfer_osdata): ... this. (process_target::supports_qxfer_siginfo): Rename as ... (process_stratum_target::supports_qxfer_siginfo): ... this. (process_target::qxfer_siginfo): Rename as ... (process_stratum_target::qxfer_siginfo): ... this. (process_target::supports_non_stop): Rename as ... (process_stratum_target::supports_non_stop): ... this. (process_target::async): Rename as ... (process_stratum_target::async): ... this. (process_target::start_non_stop): Rename as ... (process_stratum_target::start_non_stop): ... this. (process_target::supports_multi_process): Rename as ... (process_stratum_target::supports_multi_process): ... this. (process_target::supports_fork_events): Rename as ... (process_stratum_target::supports_fork_events): ... this. (process_target::supports_vfork_events): Rename as ... (process_stratum_target::supports_vfork_events): ... this. (process_target::supports_exec_events): Rename as ... (process_stratum_target::supports_exec_events): ... this. (process_target::handle_new_gdb_connection): Rename as ... (process_stratum_target::handle_new_gdb_connection): ... this. (process_target::handle_monitor_command): Rename as ... (process_stratum_target::handle_monitor_command): ... this. (process_target::core_of_thread): Rename as ... (process_stratum_target::core_of_thread): ... this. (process_target::supports_read_loadmap): Rename as ... (process_stratum_target::supports_read_loadmap): ... this. (process_target::read_loadmap): Rename as ... (process_stratum_target::read_loadmap): ... this. (process_target::process_qsupported): Rename as ... (process_stratum_target::process_qsupported): ... this. (process_target::supports_tracepoints): Rename as ... (process_stratum_target::supports_tracepoints): ... this. (process_target::read_pc): Rename as ... (process_stratum_target::read_pc): ... this. (process_target::write_pc): Rename as ... (process_stratum_target::write_pc): ... this. (process_target::supports_thread_stopped): Rename as ... (process_stratum_target::supports_thread_stopped): ... this. (process_target::thread_stopped): Rename as ... (process_stratum_target::thread_stopped): ... this. (process_target::supports_get_tib_address): Rename as ... (process_stratum_target::supports_get_tib_address): ... this. (process_target::get_tib_address): Rename as ... (process_stratum_target::get_tib_address): ... this. (process_target::pause_all): Rename as ... (process_stratum_target::pause_all): ... this. (process_target::unpause_all): Rename as ... (process_stratum_target::unpause_all): ... this. (process_target::stabilize_threads): Rename as ... (process_stratum_target::stabilize_threads): ... this. (process_target::supports_fast_tracepoints): Rename as ... (process_stratum_target::supports_fast_tracepoints): ... this. (process_target::get_min_fast_tracepoint_insn_len): Rename as ... (process_stratum_target::get_min_fast_tracepoint_insn_len): ... this. (process_target::emit_ops): Rename as ... (process_stratum_target::emit_ops): ... this. (process_target::supports_disable_randomization): Rename as ... (process_stratum_target::supports_disable_randomization): ... this. (process_target::supports_qxfer_libraries_svr4): Rename as ... (process_stratum_target::supports_qxfer_libraries_svr4): ... this. (process_target::qxfer_libraries_svr4): Rename as ... (process_stratum_target::qxfer_libraries_svr4): ... this. (process_target::supports_agent): Rename as ... (process_stratum_target::supports_agent): ... this. (process_target::enable_btrace): Rename as ... (process_stratum_target::enable_btrace): ... this. (process_target::disable_btrace): Rename as ... (process_stratum_target::disable_btrace): ... this. (process_target::read_btrace): Rename as ... (process_stratum_target::read_btrace): ... this. (process_target::read_btrace_conf): Rename as ... (process_stratum_target::read_btrace_conf): ... this. (process_target::supports_range_stepping): Rename as ... (process_stratum_target::supports_range_stepping): ... this. (process_target::supports_pid_to_exec_file): Rename as ... (process_stratum_target::supports_pid_to_exec_file): ... this. (process_target::pid_to_exec_file): Rename as ... (process_stratum_target::pid_to_exec_file): ... this. (process_target::supports_multifs): Rename as ... (process_stratum_target::supports_multifs): ... this. (process_target::multifs_open): Rename as ... (process_stratum_target::multifs_open): ... this. (process_target::multifs_unlink): Rename as ... (process_stratum_target::multifs_unlink): ... this. (process_target::multifs_readlink): Rename as ... (process_stratum_target::multifs_readlink): ... this. (process_target::breakpoint_kind_from_pc): Rename as ... (process_stratum_target::breakpoint_kind_from_pc): ... this. (process_target::breakpoint_kind_from_current_state): Rename as ... (process_stratum_target::breakpoint_kind_from_current_state): ... this. (process_target::thread_name): Rename as ... (process_stratum_target::thread_name): ... this. (process_target::thread_handle): Rename as ... (process_stratum_target::thread_handle): ... this. (process_target::supports_software_single_step): Rename as ... (process_stratum_target::supports_software_single_step): ... this. (process_target::supports_catch_syscall): Rename as ... (process_stratum_target::supports_catch_syscall): ... this. (process_target::get_ipa_tdesc_idx): Rename as ... (process_stratum_target::get_ipa_tdesc_idx): ... this.
This commit is contained in:
parent
478f9adff5
commit
52405d85ec
@ -1,3 +1,296 @@
|
||||
2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
|
||||
|
||||
* target.h (struct process_stratum_target): Remove.
|
||||
(class process_target): Rename to ...
|
||||
(class process_stratum_target): ... this.
|
||||
* linux-low.h (class linux_process_target): Derive from
|
||||
'process_stratum_target'.
|
||||
* linux-low.cc (linux_target_ops): Remove.
|
||||
(initialize_low): Set the_target to the singleton instance of
|
||||
linux_process_target.
|
||||
* lynx-low.h (class lynx_process_target): Derive from
|
||||
'process_stratum_target'.
|
||||
* lynx-low.cc (lynx_target_ops): Remove.
|
||||
(initialize_low): Set the_target to the singleton instance of
|
||||
lynx_process_target.
|
||||
* nto-low.h (class nto_process_target): Derive from
|
||||
'process_stratum_target'.
|
||||
* nto-low.cc (nto_target_ops): Remove.
|
||||
(initialize_low): Set the_target to the singleton instance of
|
||||
nto_process_target.
|
||||
* win32-low.h (class win32_process_target): Derive from
|
||||
'process_stratum_target'.
|
||||
* win32-low.cc (win32_target_ops): Remove.
|
||||
(initialize_low): Set the_target to the singleton instance of
|
||||
win32_process_target.
|
||||
|
||||
Replace 'the_target->pt' with 'the_target' in the uses below.
|
||||
|
||||
* hostio.cc (hostio_error)
|
||||
(handle_setfs)
|
||||
(handle_open)
|
||||
(handle_unlink)
|
||||
(handle_readlink)
|
||||
* linux-aarch32-low.cc (arm_breakpoint_at)
|
||||
* linux-aarch64-low.cc (aarch64_breakpoint_at)
|
||||
* linux-arm-low.cc (arm_sigreturn_next_pc)
|
||||
(arm_get_hwcap)
|
||||
(arm_get_syscall_trapinfo)
|
||||
* linux-cris-low.cc (cris_breakpoint_at)
|
||||
* linux-crisv32-low.cc (cris_breakpoint_at)
|
||||
* linux-low.cc (handle_extended_wait)
|
||||
(linux_wait_1)
|
||||
(linux_read_memory)
|
||||
(linux_process_target::breakpoint_kind_from_pc)
|
||||
(linux_get_auxv)
|
||||
* linux-m32r-low.cc (m32r_breakpoint_at)
|
||||
* linux-mips-low.cc (mips_breakpoint_at)
|
||||
* linux-nios2-low.cc (nios2_breakpoint_at)
|
||||
* linux-ppc-low.cc (ppc_breakpoint_at)
|
||||
* linux-s390-low.cc (s390_get_hwcap)
|
||||
* linux-sh-low.cc (sh_breakpoint_at)
|
||||
* linux-sparc-low.cc (sparc_fill_gregset_to_stack)
|
||||
(sparc_store_gregset_from_stack)
|
||||
(sparc_breakpoint_at)
|
||||
* linux-tic6x-low.cc (tic6x_breakpoint_at)
|
||||
* linux-tile-low.cc (tile_breakpoint_at)
|
||||
* linux-x86-low.cc (x86_breakpoint_at)
|
||||
* linux-xtensa-low.cc (xtensa_breakpoint_at)
|
||||
* mem-break.cc (bp_size)
|
||||
(bp_opcode)
|
||||
(insert_memory_breakpoint)
|
||||
(set_raw_breakpoint_at)
|
||||
(delete_raw_breakpoint)
|
||||
(z_type_supported)
|
||||
(uninsert_raw_breakpoint)
|
||||
(reinsert_raw_breakpoint)
|
||||
(validate_inserted_breakpoint)
|
||||
* regcache.cc (regcache_read_pc)
|
||||
(regcache_write_pc)
|
||||
* remote-utils.cc (putpkt_binary_1)
|
||||
(input_interrupt)
|
||||
(getpkt)
|
||||
(prepare_resume_reply)
|
||||
* server.cc (handle_general_set)
|
||||
(handle_detach)
|
||||
(handle_qxfer_auxv)
|
||||
(handle_qxfer_exec_file)
|
||||
(handle_qxfer_libraries_svr4)
|
||||
(handle_qxfer_osdata)
|
||||
(handle_qxfer_siginfo)
|
||||
(handle_qxfer_fdpic)
|
||||
(handle_query)
|
||||
(resume)
|
||||
(handle_v_requests)
|
||||
(queue_stop_reply_callback)
|
||||
(captured_main)
|
||||
* target.cc (prepare_to_access_memory)
|
||||
(done_accessing_memory)
|
||||
(read_inferior_memory)
|
||||
(target_write_memory)
|
||||
(target_stop_and_wait)
|
||||
(target_wait)
|
||||
(target_mourn_inferior)
|
||||
(target_continue_no_signal)
|
||||
(target_continue)
|
||||
(target_supports_multi_process)
|
||||
(kill_inferior)
|
||||
* target.h
|
||||
(target_create_inferior)
|
||||
(target_post_create_inferior)
|
||||
(myattach)
|
||||
(target_supports_fork_events)
|
||||
(target_supports_vfork_events)
|
||||
(target_supports_exec_events)
|
||||
(target_handle_new_gdb_connection)
|
||||
(detach_inferior)
|
||||
(mythread_alive)
|
||||
(fetch_inferior_registers)
|
||||
(store_inferior_registers)
|
||||
(join_inferior)
|
||||
(target_supports_non_stop)
|
||||
(target_async)
|
||||
(target_process_qsupported)
|
||||
(target_supports_catch_syscall)
|
||||
(target_get_ipa_tdesc_idx)
|
||||
(target_supports_tracepoints)
|
||||
(target_supports_fast_tracepoints)
|
||||
(target_get_min_fast_tracepoint_insn_len)
|
||||
(target_thread_stopped)
|
||||
(target_pause_all)
|
||||
(target_unpause_all)
|
||||
(target_stabilize_threads)
|
||||
(target_install_fast_tracepoint_jump_pad)
|
||||
(target_emit_ops)
|
||||
(target_supports_disable_randomization)
|
||||
(target_supports_agent)
|
||||
(target_enable_btrace)
|
||||
(target_disable_btrace)
|
||||
(target_read_btrace)
|
||||
(target_read_btrace_conf)
|
||||
(target_supports_range_stepping)
|
||||
(target_supports_stopped_by_sw_breakpoint)
|
||||
(target_stopped_by_sw_breakpoint)
|
||||
(target_supports_stopped_by_hw_breakpoint)
|
||||
(target_supports_hardware_single_step)
|
||||
(target_stopped_by_hw_breakpoint)
|
||||
(target_breakpoint_kind_from_pc)
|
||||
(target_breakpoint_kind_from_current_state)
|
||||
(target_supports_software_single_step)
|
||||
(target_core_of_thread)
|
||||
(target_thread_name)
|
||||
(target_thread_handle)
|
||||
* win32-low.cc (do_initial_child_stuff)
|
||||
|
||||
Rename target op default definitions listed below.
|
||||
|
||||
* target.cc (process_target::post_create_inferior): Rename as ...
|
||||
(process_stratum_target::post_create_inferior): ... this.
|
||||
(process_target::prepare_to_access_memory): Rename as ...
|
||||
(process_stratum_target::prepare_to_access_memory): ... this.
|
||||
(process_target::done_accessing_memory): Rename as ...
|
||||
(process_stratum_target::done_accessing_memory): ... this.
|
||||
(process_target::look_up_symbols): Rename as ...
|
||||
(process_stratum_target::look_up_symbols): ... this.
|
||||
(process_target::supports_read_auxv): Rename as ...
|
||||
(process_stratum_target::supports_read_auxv): ... this.
|
||||
(process_target::read_auxv): Rename as ...
|
||||
(process_stratum_target::read_auxv): ... this.
|
||||
(process_target::supports_z_point_type): Rename as ...
|
||||
(process_stratum_target::supports_z_point_type): ... this.
|
||||
(process_target::insert_point): Rename as ...
|
||||
(process_stratum_target::insert_point): ... this.
|
||||
(process_target::remove_point): Rename as ...
|
||||
(process_stratum_target::remove_point): ... this.
|
||||
(process_target::stopped_by_sw_breakpoint): Rename as ...
|
||||
(process_stratum_target::stopped_by_sw_breakpoint): ... this.
|
||||
(process_target::supports_stopped_by_sw_breakpoint): Rename as ...
|
||||
(process_stratum_target::supports_stopped_by_sw_breakpoint): ... this.
|
||||
(process_target::stopped_by_hw_breakpoint): Rename as ...
|
||||
(process_stratum_target::stopped_by_hw_breakpoint): ... this.
|
||||
(process_target::supports_stopped_by_hw_breakpoint): Rename as ...
|
||||
(process_stratum_target::supports_stopped_by_hw_breakpoint): ... this.
|
||||
(process_target::supports_hardware_single_step): Rename as ...
|
||||
(process_stratum_target::supports_hardware_single_step): ... this.
|
||||
(process_target::stopped_by_watchpoint): Rename as ...
|
||||
(process_stratum_target::stopped_by_watchpoint): ... this.
|
||||
(process_target::stopped_data_address): Rename as ...
|
||||
(process_stratum_target::stopped_data_address): ... this.
|
||||
(process_target::supports_read_offsets): Rename as ...
|
||||
(process_stratum_target::supports_read_offsets): ... this.
|
||||
(process_target::read_offsets): Rename as ...
|
||||
(process_stratum_target::read_offsets): ... this.
|
||||
(process_target::supports_get_tls_address): Rename as ...
|
||||
(process_stratum_target::supports_get_tls_address): ... this.
|
||||
(process_target::get_tls_address): Rename as ...
|
||||
(process_stratum_target::get_tls_address): ... this.
|
||||
(process_target::hostio_last_error): Rename as ...
|
||||
(process_stratum_target::hostio_last_error): ... this.
|
||||
(process_target::supports_qxfer_osdata): Rename as ...
|
||||
(process_stratum_target::supports_qxfer_osdata): ... this.
|
||||
(process_target::qxfer_osdata): Rename as ...
|
||||
(process_stratum_target::qxfer_osdata): ... this.
|
||||
(process_target::supports_qxfer_siginfo): Rename as ...
|
||||
(process_stratum_target::supports_qxfer_siginfo): ... this.
|
||||
(process_target::qxfer_siginfo): Rename as ...
|
||||
(process_stratum_target::qxfer_siginfo): ... this.
|
||||
(process_target::supports_non_stop): Rename as ...
|
||||
(process_stratum_target::supports_non_stop): ... this.
|
||||
(process_target::async): Rename as ...
|
||||
(process_stratum_target::async): ... this.
|
||||
(process_target::start_non_stop): Rename as ...
|
||||
(process_stratum_target::start_non_stop): ... this.
|
||||
(process_target::supports_multi_process): Rename as ...
|
||||
(process_stratum_target::supports_multi_process): ... this.
|
||||
(process_target::supports_fork_events): Rename as ...
|
||||
(process_stratum_target::supports_fork_events): ... this.
|
||||
(process_target::supports_vfork_events): Rename as ...
|
||||
(process_stratum_target::supports_vfork_events): ... this.
|
||||
(process_target::supports_exec_events): Rename as ...
|
||||
(process_stratum_target::supports_exec_events): ... this.
|
||||
(process_target::handle_new_gdb_connection): Rename as ...
|
||||
(process_stratum_target::handle_new_gdb_connection): ... this.
|
||||
(process_target::handle_monitor_command): Rename as ...
|
||||
(process_stratum_target::handle_monitor_command): ... this.
|
||||
(process_target::core_of_thread): Rename as ...
|
||||
(process_stratum_target::core_of_thread): ... this.
|
||||
(process_target::supports_read_loadmap): Rename as ...
|
||||
(process_stratum_target::supports_read_loadmap): ... this.
|
||||
(process_target::read_loadmap): Rename as ...
|
||||
(process_stratum_target::read_loadmap): ... this.
|
||||
(process_target::process_qsupported): Rename as ...
|
||||
(process_stratum_target::process_qsupported): ... this.
|
||||
(process_target::supports_tracepoints): Rename as ...
|
||||
(process_stratum_target::supports_tracepoints): ... this.
|
||||
(process_target::read_pc): Rename as ...
|
||||
(process_stratum_target::read_pc): ... this.
|
||||
(process_target::write_pc): Rename as ...
|
||||
(process_stratum_target::write_pc): ... this.
|
||||
(process_target::supports_thread_stopped): Rename as ...
|
||||
(process_stratum_target::supports_thread_stopped): ... this.
|
||||
(process_target::thread_stopped): Rename as ...
|
||||
(process_stratum_target::thread_stopped): ... this.
|
||||
(process_target::supports_get_tib_address): Rename as ...
|
||||
(process_stratum_target::supports_get_tib_address): ... this.
|
||||
(process_target::get_tib_address): Rename as ...
|
||||
(process_stratum_target::get_tib_address): ... this.
|
||||
(process_target::pause_all): Rename as ...
|
||||
(process_stratum_target::pause_all): ... this.
|
||||
(process_target::unpause_all): Rename as ...
|
||||
(process_stratum_target::unpause_all): ... this.
|
||||
(process_target::stabilize_threads): Rename as ...
|
||||
(process_stratum_target::stabilize_threads): ... this.
|
||||
(process_target::supports_fast_tracepoints): Rename as ...
|
||||
(process_stratum_target::supports_fast_tracepoints): ... this.
|
||||
(process_target::get_min_fast_tracepoint_insn_len): Rename as ...
|
||||
(process_stratum_target::get_min_fast_tracepoint_insn_len): ... this.
|
||||
(process_target::emit_ops): Rename as ...
|
||||
(process_stratum_target::emit_ops): ... this.
|
||||
(process_target::supports_disable_randomization): Rename as ...
|
||||
(process_stratum_target::supports_disable_randomization): ... this.
|
||||
(process_target::supports_qxfer_libraries_svr4): Rename as ...
|
||||
(process_stratum_target::supports_qxfer_libraries_svr4): ... this.
|
||||
(process_target::qxfer_libraries_svr4): Rename as ...
|
||||
(process_stratum_target::qxfer_libraries_svr4): ... this.
|
||||
(process_target::supports_agent): Rename as ...
|
||||
(process_stratum_target::supports_agent): ... this.
|
||||
(process_target::enable_btrace): Rename as ...
|
||||
(process_stratum_target::enable_btrace): ... this.
|
||||
(process_target::disable_btrace): Rename as ...
|
||||
(process_stratum_target::disable_btrace): ... this.
|
||||
(process_target::read_btrace): Rename as ...
|
||||
(process_stratum_target::read_btrace): ... this.
|
||||
(process_target::read_btrace_conf): Rename as ...
|
||||
(process_stratum_target::read_btrace_conf): ... this.
|
||||
(process_target::supports_range_stepping): Rename as ...
|
||||
(process_stratum_target::supports_range_stepping): ... this.
|
||||
(process_target::supports_pid_to_exec_file): Rename as ...
|
||||
(process_stratum_target::supports_pid_to_exec_file): ... this.
|
||||
(process_target::pid_to_exec_file): Rename as ...
|
||||
(process_stratum_target::pid_to_exec_file): ... this.
|
||||
(process_target::supports_multifs): Rename as ...
|
||||
(process_stratum_target::supports_multifs): ... this.
|
||||
(process_target::multifs_open): Rename as ...
|
||||
(process_stratum_target::multifs_open): ... this.
|
||||
(process_target::multifs_unlink): Rename as ...
|
||||
(process_stratum_target::multifs_unlink): ... this.
|
||||
(process_target::multifs_readlink): Rename as ...
|
||||
(process_stratum_target::multifs_readlink): ... this.
|
||||
(process_target::breakpoint_kind_from_pc): Rename as ...
|
||||
(process_stratum_target::breakpoint_kind_from_pc): ... this.
|
||||
(process_target::breakpoint_kind_from_current_state): Rename as ...
|
||||
(process_stratum_target::breakpoint_kind_from_current_state): ... this.
|
||||
(process_target::thread_name): Rename as ...
|
||||
(process_stratum_target::thread_name): ... this.
|
||||
(process_target::thread_handle): Rename as ...
|
||||
(process_stratum_target::thread_handle): ... this.
|
||||
(process_target::supports_software_single_step): Rename as ...
|
||||
(process_stratum_target::supports_software_single_step): ... this.
|
||||
(process_target::supports_catch_syscall): Rename as ...
|
||||
(process_stratum_target::supports_catch_syscall): ... this.
|
||||
(process_target::get_ipa_tdesc_idx): Rename as ...
|
||||
(process_stratum_target::get_ipa_tdesc_idx): ... this.
|
||||
|
||||
2020-02-20 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* target.cc (set_target_ops): Simply copy the given target pointer
|
||||
|
@ -196,7 +196,7 @@ require_valid_fd (int fd)
|
||||
static void
|
||||
hostio_error (char *own_buf)
|
||||
{
|
||||
the_target->pt->hostio_last_error (own_buf);
|
||||
the_target->hostio_last_error (own_buf);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -272,7 +272,7 @@ handle_setfs (char *own_buf)
|
||||
then there's no point in GDB sending "vFile:setfs:" packets. We
|
||||
reply with an empty packet (i.e. we pretend we don't understand
|
||||
"vFile:setfs:") and that should stop GDB sending any more. */
|
||||
if (!the_target->pt->supports_multifs ())
|
||||
if (!the_target->supports_multifs ())
|
||||
{
|
||||
own_buf[0] = '\0';
|
||||
return;
|
||||
@ -320,8 +320,7 @@ handle_open (char *own_buf)
|
||||
/* We do not need to convert MODE, since the fileio protocol
|
||||
uses the standard values. */
|
||||
if (hostio_fs_pid != 0)
|
||||
fd = the_target->pt->multifs_open (hostio_fs_pid, filename,
|
||||
flags, mode);
|
||||
fd = the_target->multifs_open (hostio_fs_pid, filename, flags, mode);
|
||||
else
|
||||
fd = open (filename, flags, mode);
|
||||
|
||||
@ -540,7 +539,7 @@ handle_unlink (char *own_buf)
|
||||
}
|
||||
|
||||
if (hostio_fs_pid != 0)
|
||||
ret = the_target->pt->multifs_unlink (hostio_fs_pid, filename);
|
||||
ret = the_target->multifs_unlink (hostio_fs_pid, filename);
|
||||
else
|
||||
ret = unlink (filename);
|
||||
|
||||
@ -570,7 +569,7 @@ handle_readlink (char *own_buf, int *new_packet_len)
|
||||
}
|
||||
|
||||
if (hostio_fs_pid != 0)
|
||||
ret = the_target->pt->multifs_readlink (hostio_fs_pid, filename,
|
||||
ret = the_target->multifs_readlink (hostio_fs_pid, filename,
|
||||
linkname,
|
||||
sizeof (linkname) - 1);
|
||||
else
|
||||
|
@ -192,13 +192,13 @@ arm_breakpoint_at (CORE_ADDR where)
|
||||
/* Thumb mode. */
|
||||
unsigned short insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 2);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 2);
|
||||
if (insn == thumb_breakpoint)
|
||||
return 1;
|
||||
|
||||
if (insn == thumb2_breakpoint[0])
|
||||
{
|
||||
the_target->pt->read_memory (where + 2, (unsigned char *) &insn, 2);
|
||||
the_target->read_memory (where + 2, (unsigned char *) &insn, 2);
|
||||
if (insn == thumb2_breakpoint[1])
|
||||
return 1;
|
||||
}
|
||||
@ -208,7 +208,7 @@ arm_breakpoint_at (CORE_ADDR where)
|
||||
/* ARM mode. */
|
||||
unsigned long insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 4);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 4);
|
||||
if (insn == arm_abi_breakpoint)
|
||||
return 1;
|
||||
|
||||
|
@ -192,7 +192,7 @@ aarch64_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
gdb_byte insn[aarch64_breakpoint_len];
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn,
|
||||
the_target->read_memory (where, (unsigned char *) &insn,
|
||||
aarch64_breakpoint_len);
|
||||
if (memcmp (insn, aarch64_breakpoint, aarch64_breakpoint_len) == 0)
|
||||
return 1;
|
||||
|
@ -779,15 +779,15 @@ arm_sigreturn_next_pc (struct regcache *regcache, int svc_number,
|
||||
gdb_assert (svc_number == __NR_sigreturn || svc_number == __NR_rt_sigreturn);
|
||||
|
||||
collect_register_by_name (regcache, "sp", &sp);
|
||||
the_target->pt->read_memory (sp, (unsigned char *) &sp_data, 4);
|
||||
the_target->read_memory (sp, (unsigned char *) &sp_data, 4);
|
||||
|
||||
pc_offset = arm_linux_sigreturn_next_pc_offset
|
||||
(sp, sp_data, svc_number, __NR_sigreturn == svc_number ? 1 : 0);
|
||||
|
||||
the_target->pt->read_memory (sp + pc_offset, (unsigned char *) &next_pc, 4);
|
||||
the_target->read_memory (sp + pc_offset, (unsigned char *) &next_pc, 4);
|
||||
|
||||
/* Set IS_THUMB according the CPSR saved on the stack. */
|
||||
the_target->pt->read_memory (sp + pc_offset + 4, (unsigned char *) &cpsr, 4);
|
||||
the_target->read_memory (sp + pc_offset + 4, (unsigned char *) &cpsr, 4);
|
||||
*is_thumb = ((cpsr & CPSR_T) != 0);
|
||||
|
||||
return next_pc;
|
||||
@ -939,7 +939,7 @@ arm_get_syscall_trapinfo (struct regcache *regcache, int *sysno)
|
||||
|
||||
collect_register_by_name (regcache, "pc", &pc);
|
||||
|
||||
if (the_target->pt->read_memory (pc - 4, (unsigned char *) &insn, 4))
|
||||
if (the_target->read_memory (pc - 4, (unsigned char *) &insn, 4))
|
||||
*sysno = UNKNOWN_SYSCALL;
|
||||
else
|
||||
{
|
||||
|
@ -76,7 +76,7 @@ cris_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned short insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn,
|
||||
the_target->read_memory (where, (unsigned char *) &insn,
|
||||
cris_breakpoint_len);
|
||||
if (insn == cris_breakpoint)
|
||||
return 1;
|
||||
|
@ -72,7 +72,7 @@ cris_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned short insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn,
|
||||
the_target->read_memory (where, (unsigned char *) &insn,
|
||||
cris_breakpoint_len);
|
||||
if (insn == cris_breakpoint)
|
||||
return 1;
|
||||
|
@ -711,7 +711,7 @@ handle_extended_wait (struct lwp_info **orig_event_lwp, int wstat)
|
||||
syscalls_to_catch = std::move (proc->syscalls_to_catch);
|
||||
|
||||
/* Delete the execing process and all its threads. */
|
||||
the_target->pt->mourn (proc);
|
||||
the_target->mourn (proc);
|
||||
current_thread = NULL;
|
||||
|
||||
/* Create a new process/lwp/thread. */
|
||||
@ -3226,8 +3226,8 @@ linux_wait_1 (ptid_t ptid,
|
||||
CORE_ADDR stop_pc = event_child->stop_pc;
|
||||
|
||||
breakpoint_kind =
|
||||
the_target->pt->breakpoint_kind_from_current_state (&stop_pc);
|
||||
the_target->pt->sw_breakpoint_from_kind (breakpoint_kind, &increment_pc);
|
||||
the_target->breakpoint_kind_from_current_state (&stop_pc);
|
||||
the_target->sw_breakpoint_from_kind (breakpoint_kind, &increment_pc);
|
||||
|
||||
if (debug_threads)
|
||||
{
|
||||
@ -5720,7 +5720,7 @@ linux_process_target::store_registers (regcache *regcache, int regno)
|
||||
static int
|
||||
linux_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
|
||||
{
|
||||
return the_target->pt->read_memory (memaddr, myaddr, len);
|
||||
return the_target->read_memory (memaddr, myaddr, len);
|
||||
}
|
||||
|
||||
/* Copy LEN bytes from inferior's memory starting at MEMADDR
|
||||
@ -7372,7 +7372,7 @@ linux_process_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr)
|
||||
if (the_low_target.breakpoint_kind_from_pc != NULL)
|
||||
return (*the_low_target.breakpoint_kind_from_pc) (pcptr);
|
||||
else
|
||||
return process_target::breakpoint_kind_from_pc (pcptr);
|
||||
return process_stratum_target::breakpoint_kind_from_pc (pcptr);
|
||||
}
|
||||
|
||||
/* Implementation of the target_ops method "sw_breakpoint_from_kind". */
|
||||
@ -7472,7 +7472,7 @@ linux_get_auxv (int wordsize, CORE_ADDR match, CORE_ADDR *valp)
|
||||
|
||||
gdb_assert (wordsize == 4 || wordsize == 8);
|
||||
|
||||
while (the_target->pt->read_auxv (offset, data, 2 * wordsize) == 2 * wordsize)
|
||||
while (the_target->read_auxv (offset, data, 2 * wordsize) == 2 * wordsize)
|
||||
{
|
||||
if (wordsize == 4)
|
||||
{
|
||||
@ -7523,10 +7523,6 @@ linux_get_hwcap2 (int wordsize)
|
||||
|
||||
static linux_process_target the_linux_target;
|
||||
|
||||
static process_stratum_target linux_target_ops = {
|
||||
&the_linux_target,
|
||||
};
|
||||
|
||||
#ifdef HAVE_LINUX_REGSETS
|
||||
void
|
||||
initialize_regsets_info (struct regsets_info *info)
|
||||
@ -7544,7 +7540,7 @@ initialize_low (void)
|
||||
struct sigaction sigchld_action;
|
||||
|
||||
memset (&sigchld_action, 0, sizeof (sigchld_action));
|
||||
set_target_ops (&linux_target_ops);
|
||||
set_target_ops (&the_linux_target);
|
||||
|
||||
linux_ptrace_init_warnings ();
|
||||
linux_proc_init_warnings ();
|
||||
|
@ -266,7 +266,7 @@ extern struct linux_target_ops the_low_target;
|
||||
|
||||
/* Target ops definitions for a Linux target. */
|
||||
|
||||
class linux_process_target : public process_target
|
||||
class linux_process_target : public process_stratum_target
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -70,7 +70,7 @@ m32r_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned short insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn,
|
||||
the_target->read_memory (where, (unsigned char *) &insn,
|
||||
m32r_breakpoint_len);
|
||||
if (insn == m32r_breakpoint)
|
||||
return 1;
|
||||
|
@ -302,7 +302,7 @@ mips_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned int insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 4);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 4);
|
||||
if (insn == mips_breakpoint)
|
||||
return 1;
|
||||
|
||||
|
@ -131,12 +131,12 @@ nios2_breakpoint_at (CORE_ADDR where)
|
||||
|
||||
/* For R2, first check for the 2-byte CDX trap.n breakpoint encoding. */
|
||||
#if defined(__nios2_arch__) && __nios2_arch__ == 2
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 2);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 2);
|
||||
if (insn == CDX_BREAKPOINT)
|
||||
return 1;
|
||||
#endif
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 4);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 4);
|
||||
if (insn == nios2_breakpoint)
|
||||
return 1;
|
||||
return 0;
|
||||
|
@ -277,7 +277,7 @@ ppc_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned int insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 4);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 4);
|
||||
if (insn == ppc_breakpoint)
|
||||
return 1;
|
||||
/* If necessary, recognize more trap instructions here. GDB only uses
|
||||
|
@ -76,7 +76,7 @@ sh_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned short insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 2);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 2);
|
||||
if (insn == sh_breakpoint)
|
||||
return 1;
|
||||
|
||||
|
@ -133,7 +133,7 @@ sparc_fill_gregset_to_stack (struct regcache *regcache, const void *buf)
|
||||
for (i = l0_regno; i <= i7_regno; i++)
|
||||
{
|
||||
collect_register (regcache, i, tmp_reg_buf);
|
||||
the_target->pt->write_memory (addr, tmp_reg_buf, sizeof (tmp_reg_buf));
|
||||
the_target->write_memory (addr, tmp_reg_buf, sizeof (tmp_reg_buf));
|
||||
addr += sizeof (tmp_reg_buf);
|
||||
}
|
||||
}
|
||||
@ -184,7 +184,7 @@ sparc_store_gregset_from_stack (struct regcache *regcache, const void *buf)
|
||||
|
||||
for (i = l0_regno; i <= i7_regno; i++)
|
||||
{
|
||||
the_target->pt->read_memory (addr, tmp_reg_buf, sizeof (tmp_reg_buf));
|
||||
the_target->read_memory (addr, tmp_reg_buf, sizeof (tmp_reg_buf));
|
||||
supply_register (regcache, i, tmp_reg_buf);
|
||||
addr += sizeof (tmp_reg_buf);
|
||||
}
|
||||
@ -242,7 +242,7 @@ sparc_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned char insn[INSN_SIZE];
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) insn, sizeof (insn));
|
||||
the_target->read_memory (where, (unsigned char *) insn, sizeof (insn));
|
||||
|
||||
if (memcmp (sparc_breakpoint, insn, sizeof (insn)) == 0)
|
||||
return 1;
|
||||
|
@ -241,7 +241,7 @@ tic6x_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned int insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 4);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 4);
|
||||
if (insn == tic6x_breakpoint)
|
||||
return 1;
|
||||
|
||||
|
@ -85,7 +85,7 @@ tile_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
uint64_t insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn, 8);
|
||||
the_target->read_memory (where, (unsigned char *) &insn, 8);
|
||||
if (insn == tile_breakpoint)
|
||||
return 1;
|
||||
|
||||
|
@ -515,7 +515,7 @@ x86_breakpoint_at (CORE_ADDR pc)
|
||||
{
|
||||
unsigned char c;
|
||||
|
||||
the_target->pt->read_memory (pc, &c, 1);
|
||||
the_target->read_memory (pc, &c, 1);
|
||||
if (c == 0xCC)
|
||||
return 1;
|
||||
|
||||
|
@ -207,7 +207,7 @@ xtensa_breakpoint_at (CORE_ADDR where)
|
||||
{
|
||||
unsigned long insn;
|
||||
|
||||
the_target->pt->read_memory (where, (unsigned char *) &insn,
|
||||
the_target->read_memory (where, (unsigned char *) &insn,
|
||||
xtensa_breakpoint_len);
|
||||
return memcmp((char *) &insn,
|
||||
xtensa_breakpoint, xtensa_breakpoint_len) == 0;
|
||||
|
@ -738,16 +738,10 @@ lynx_process_target::sw_breakpoint_from_kind (int kind, int *size)
|
||||
|
||||
static lynx_process_target the_lynx_target;
|
||||
|
||||
/* The LynxOS target_ops vector. */
|
||||
|
||||
static process_stratum_target lynx_target_ops = {
|
||||
&the_lynx_target,
|
||||
};
|
||||
|
||||
void
|
||||
initialize_low (void)
|
||||
{
|
||||
set_target_ops (&lynx_target_ops);
|
||||
set_target_ops (&the_lynx_target);
|
||||
the_low_target.arch_setup ();
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ extern struct lynx_target_ops the_low_target;
|
||||
|
||||
/* Target ops definitions for a LynxOS target. */
|
||||
|
||||
class lynx_process_target : public process_target
|
||||
class lynx_process_target : public process_stratum_target
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -223,7 +223,7 @@ bp_size (struct raw_breakpoint *bp)
|
||||
{
|
||||
int size = 0;
|
||||
|
||||
the_target->pt->sw_breakpoint_from_kind (bp->kind, &size);
|
||||
the_target->sw_breakpoint_from_kind (bp->kind, &size);
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -234,7 +234,7 @@ bp_opcode (struct raw_breakpoint *bp)
|
||||
{
|
||||
int size = 0;
|
||||
|
||||
return the_target->pt->sw_breakpoint_from_kind (bp->kind, &size);
|
||||
return the_target->sw_breakpoint_from_kind (bp->kind, &size);
|
||||
}
|
||||
|
||||
/* See mem-break.h. */
|
||||
@ -380,7 +380,7 @@ insert_memory_breakpoint (struct raw_breakpoint *bp)
|
||||
{
|
||||
memcpy (bp->old_data, buf, bp_size (bp));
|
||||
|
||||
err = the_target->pt->write_memory (bp->pc, bp_opcode (bp),
|
||||
err = the_target->write_memory (bp->pc, bp_opcode (bp),
|
||||
bp_size (bp));
|
||||
if (err != 0)
|
||||
{
|
||||
@ -460,7 +460,7 @@ set_raw_breakpoint_at (enum raw_bkpt_type type, CORE_ADDR where, int kind,
|
||||
|
||||
if (!bp->inserted)
|
||||
{
|
||||
*err = the_target->pt->insert_point (bp->raw_type, bp->pc, bp->kind, bp);
|
||||
*err = the_target->insert_point (bp->raw_type, bp->pc, bp->kind, bp);
|
||||
if (*err != 0)
|
||||
{
|
||||
if (debug_threads)
|
||||
@ -890,7 +890,7 @@ delete_raw_breakpoint (struct process_info *proc, struct raw_breakpoint *todel)
|
||||
|
||||
*bp_link = bp->next;
|
||||
|
||||
ret = the_target->pt->remove_point (bp->raw_type, bp->pc,
|
||||
ret = the_target->remove_point (bp->raw_type, bp->pc,
|
||||
bp->kind, bp);
|
||||
if (ret != 0)
|
||||
{
|
||||
@ -1005,7 +1005,7 @@ static int
|
||||
z_type_supported (char z_type)
|
||||
{
|
||||
return (z_type >= '0' && z_type <= '4'
|
||||
&& the_target->pt->supports_z_point_type (z_type));
|
||||
&& the_target->supports_z_point_type (z_type));
|
||||
}
|
||||
|
||||
/* Create a new GDB breakpoint of type Z_TYPE at ADDR with kind KIND.
|
||||
@ -1532,7 +1532,7 @@ uninsert_raw_breakpoint (struct raw_breakpoint *bp)
|
||||
|
||||
bp->inserted = 0;
|
||||
|
||||
err = the_target->pt->remove_point (bp->raw_type, bp->pc, bp->kind, bp);
|
||||
err = the_target->remove_point (bp->raw_type, bp->pc, bp->kind, bp);
|
||||
if (err != 0)
|
||||
{
|
||||
bp->inserted = 1;
|
||||
@ -1621,7 +1621,7 @@ reinsert_raw_breakpoint (struct raw_breakpoint *bp)
|
||||
if (bp->inserted)
|
||||
return;
|
||||
|
||||
err = the_target->pt->insert_point (bp->raw_type, bp->pc, bp->kind, bp);
|
||||
err = the_target->insert_point (bp->raw_type, bp->pc, bp->kind, bp);
|
||||
if (err == 0)
|
||||
bp->inserted = 1;
|
||||
else if (debug_threads)
|
||||
@ -1856,7 +1856,7 @@ validate_inserted_breakpoint (struct raw_breakpoint *bp)
|
||||
gdb_assert (bp->raw_type == raw_bkpt_type_sw);
|
||||
|
||||
buf = (unsigned char *) alloca (bp_size (bp));
|
||||
err = the_target->pt->read_memory (bp->pc, buf, bp_size (bp));
|
||||
err = the_target->read_memory (bp->pc, buf, bp_size (bp));
|
||||
if (err || memcmp (buf, bp_opcode (bp), bp_size (bp)) != 0)
|
||||
{
|
||||
/* Tag it as gone. */
|
||||
|
@ -946,11 +946,6 @@ nto_process_target::sw_breakpoint_from_kind (int kind, int *size)
|
||||
|
||||
static nto_process_target the_nto_target;
|
||||
|
||||
static process_stratum_target nto_target_ops = {
|
||||
&the_nto_target,
|
||||
};
|
||||
|
||||
|
||||
/* Global function called by server.c. Initializes QNX Neutrino
|
||||
gdbserver. */
|
||||
|
||||
@ -960,7 +955,7 @@ initialize_low (void)
|
||||
sigset_t set;
|
||||
|
||||
TRACE ("%s\n", __func__);
|
||||
set_target_ops (&nto_target_ops);
|
||||
set_target_ops (&the_nto_target);
|
||||
|
||||
/* We use SIGUSR1 to gain control after we block waiting for a process.
|
||||
We use sigwaitevent to wait. */
|
||||
|
@ -44,7 +44,7 @@ extern struct nto_target_ops the_low_target;
|
||||
|
||||
/* Target ops definitions for a QNX Neutrino target. */
|
||||
|
||||
class nto_process_target : public process_target
|
||||
class nto_process_target : public process_stratum_target
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -477,13 +477,13 @@ collect_register_by_name (struct regcache *regcache,
|
||||
CORE_ADDR
|
||||
regcache_read_pc (struct regcache *regcache)
|
||||
{
|
||||
return the_target->pt->read_pc (regcache);
|
||||
return the_target->read_pc (regcache);
|
||||
}
|
||||
|
||||
void
|
||||
regcache_write_pc (struct regcache *regcache, CORE_ADDR pc)
|
||||
{
|
||||
the_target->pt->write_pc (regcache, pc);
|
||||
the_target->write_pc (regcache, pc);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -710,7 +710,7 @@ putpkt_binary_1 (char *buf, int cnt, int is_notif)
|
||||
|
||||
/* Check for an input interrupt while we're here. */
|
||||
if (cc == '\003' && current_thread != NULL)
|
||||
the_target->pt->request_interrupt ();
|
||||
the_target->request_interrupt ();
|
||||
}
|
||||
while (cc != '+');
|
||||
|
||||
@ -779,7 +779,7 @@ input_interrupt (int unused)
|
||||
return;
|
||||
}
|
||||
|
||||
the_target->pt->request_interrupt ();
|
||||
the_target->request_interrupt ();
|
||||
}
|
||||
}
|
||||
|
||||
@ -986,7 +986,7 @@ getpkt (char *buf)
|
||||
check for an input interrupt. */
|
||||
if (c == '\003')
|
||||
{
|
||||
the_target->pt->request_interrupt ();
|
||||
the_target->request_interrupt ();
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -1076,7 +1076,7 @@ getpkt (char *buf)
|
||||
{
|
||||
/* Consume the interrupt character in the buffer. */
|
||||
readchar ();
|
||||
the_target->pt->request_interrupt ();
|
||||
the_target->request_interrupt ();
|
||||
}
|
||||
|
||||
return bp - buf;
|
||||
@ -1214,7 +1214,7 @@ prepare_resume_reply (char *buf, ptid_t ptid,
|
||||
|
||||
regcache = get_thread_regcache (current_thread, 1);
|
||||
|
||||
if (the_target->pt->stopped_by_watchpoint ())
|
||||
if (the_target->stopped_by_watchpoint ())
|
||||
{
|
||||
CORE_ADDR addr;
|
||||
int i;
|
||||
@ -1222,7 +1222,7 @@ prepare_resume_reply (char *buf, ptid_t ptid,
|
||||
memcpy (buf, "watch:", 6);
|
||||
buf += 6;
|
||||
|
||||
addr = the_target->pt->stopped_data_address ();
|
||||
addr = the_target->stopped_data_address ();
|
||||
|
||||
/* Convert each byte of the address into two hexadecimal
|
||||
chars. Note that we take sizeof (void *) instead of
|
||||
|
@ -740,7 +740,7 @@ handle_general_set (char *own_buf)
|
||||
}
|
||||
|
||||
req_str = req ? "non-stop" : "all-stop";
|
||||
if (the_target->pt->start_non_stop (req == 1) != 0)
|
||||
if (the_target->start_non_stop (req == 1) != 0)
|
||||
{
|
||||
fprintf (stderr, "Setting %s mode failed\n", req_str);
|
||||
write_enn (own_buf);
|
||||
@ -1234,7 +1234,7 @@ handle_detach (char *own_buf)
|
||||
debug_printf ("Forcing non-stop mode\n");
|
||||
|
||||
non_stop = true;
|
||||
the_target->pt->start_non_stop (true);
|
||||
the_target->start_non_stop (true);
|
||||
}
|
||||
|
||||
process->gdb_detached = 1;
|
||||
@ -1442,13 +1442,13 @@ handle_qxfer_auxv (const char *annex,
|
||||
gdb_byte *readbuf, const gdb_byte *writebuf,
|
||||
ULONGEST offset, LONGEST len)
|
||||
{
|
||||
if (!the_target->pt->supports_read_auxv () || writebuf != NULL)
|
||||
if (!the_target->supports_read_auxv () || writebuf != NULL)
|
||||
return -2;
|
||||
|
||||
if (annex[0] != '\0' || current_thread == NULL)
|
||||
return -1;
|
||||
|
||||
return the_target->pt->read_auxv (offset, readbuf, len);
|
||||
return the_target->read_auxv (offset, readbuf, len);
|
||||
}
|
||||
|
||||
/* Handle qXfer:exec-file:read. */
|
||||
@ -1462,7 +1462,7 @@ handle_qxfer_exec_file (const char *annex,
|
||||
ULONGEST pid;
|
||||
int total_len;
|
||||
|
||||
if (!the_target->pt->supports_pid_to_exec_file () || writebuf != NULL)
|
||||
if (!the_target->supports_pid_to_exec_file () || writebuf != NULL)
|
||||
return -2;
|
||||
|
||||
if (annex[0] == '\0')
|
||||
@ -1482,7 +1482,7 @@ handle_qxfer_exec_file (const char *annex,
|
||||
if (pid <= 0)
|
||||
return -1;
|
||||
|
||||
file = the_target->pt->pid_to_exec_file (pid);
|
||||
file = the_target->pid_to_exec_file (pid);
|
||||
if (file == NULL)
|
||||
return -1;
|
||||
|
||||
@ -1575,10 +1575,10 @@ handle_qxfer_libraries_svr4 (const char *annex,
|
||||
return -2;
|
||||
|
||||
if (current_thread == NULL
|
||||
|| !the_target->pt->supports_qxfer_libraries_svr4 ())
|
||||
|| !the_target->supports_qxfer_libraries_svr4 ())
|
||||
return -1;
|
||||
|
||||
return the_target->pt->qxfer_libraries_svr4 (annex, readbuf, writebuf,
|
||||
return the_target->qxfer_libraries_svr4 (annex, readbuf, writebuf,
|
||||
offset, len);
|
||||
}
|
||||
|
||||
@ -1589,10 +1589,10 @@ handle_qxfer_osdata (const char *annex,
|
||||
gdb_byte *readbuf, const gdb_byte *writebuf,
|
||||
ULONGEST offset, LONGEST len)
|
||||
{
|
||||
if (!the_target->pt->supports_qxfer_osdata () || writebuf != NULL)
|
||||
if (!the_target->supports_qxfer_osdata () || writebuf != NULL)
|
||||
return -2;
|
||||
|
||||
return the_target->pt->qxfer_osdata (annex, readbuf, NULL, offset, len);
|
||||
return the_target->qxfer_osdata (annex, readbuf, NULL, offset, len);
|
||||
}
|
||||
|
||||
/* Handle qXfer:siginfo:read and qXfer:siginfo:write. */
|
||||
@ -1602,13 +1602,13 @@ handle_qxfer_siginfo (const char *annex,
|
||||
gdb_byte *readbuf, const gdb_byte *writebuf,
|
||||
ULONGEST offset, LONGEST len)
|
||||
{
|
||||
if (!the_target->pt->supports_qxfer_siginfo ())
|
||||
if (!the_target->supports_qxfer_siginfo ())
|
||||
return -2;
|
||||
|
||||
if (annex[0] != '\0' || current_thread == NULL)
|
||||
return -1;
|
||||
|
||||
return the_target->pt->qxfer_siginfo (annex, readbuf, writebuf, offset, len);
|
||||
return the_target->qxfer_siginfo (annex, readbuf, writebuf, offset, len);
|
||||
}
|
||||
|
||||
/* Handle qXfer:statictrace:read. */
|
||||
@ -1794,13 +1794,13 @@ static int
|
||||
handle_qxfer_fdpic (const char *annex, gdb_byte *readbuf,
|
||||
const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
|
||||
{
|
||||
if (!the_target->pt->supports_read_loadmap ())
|
||||
if (!the_target->supports_read_loadmap ())
|
||||
return -2;
|
||||
|
||||
if (current_thread == NULL)
|
||||
return -1;
|
||||
|
||||
return the_target->pt->read_loadmap (annex, offset, readbuf, len);
|
||||
return the_target->read_loadmap (annex, offset, readbuf, len);
|
||||
}
|
||||
|
||||
/* Handle qXfer:btrace:read. */
|
||||
@ -2195,7 +2195,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
tracepoint_look_up_symbols ();
|
||||
|
||||
if (current_thread != NULL)
|
||||
the_target->pt->look_up_symbols ();
|
||||
the_target->look_up_symbols ();
|
||||
|
||||
current_thread = save_thread;
|
||||
|
||||
@ -2236,13 +2236,13 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
}
|
||||
}
|
||||
|
||||
if (the_target->pt->supports_read_offsets ()
|
||||
if (the_target->supports_read_offsets ()
|
||||
&& strcmp ("qOffsets", own_buf) == 0)
|
||||
{
|
||||
CORE_ADDR text, data;
|
||||
|
||||
require_running_or_return (own_buf);
|
||||
if (the_target->pt->read_offsets (&text, &data))
|
||||
if (the_target->read_offsets (&text, &data))
|
||||
sprintf (own_buf, "Text=%lX;Data=%lX;Bss=%lX",
|
||||
(long)text, (long)data, (long)data);
|
||||
else
|
||||
@ -2366,7 +2366,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
if (target_supports_catch_syscall ())
|
||||
strcat (own_buf, ";QCatchSyscalls+");
|
||||
|
||||
if (the_target->pt->supports_qxfer_libraries_svr4 ())
|
||||
if (the_target->supports_qxfer_libraries_svr4 ())
|
||||
strcat (own_buf, ";qXfer:libraries-svr4:read+"
|
||||
";augmented-libraries-svr4-read+");
|
||||
else
|
||||
@ -2376,13 +2376,13 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
strcat (own_buf, ";qXfer:libraries:read+");
|
||||
}
|
||||
|
||||
if (the_target->pt->supports_read_auxv ())
|
||||
if (the_target->supports_read_auxv ())
|
||||
strcat (own_buf, ";qXfer:auxv:read+");
|
||||
|
||||
if (the_target->pt->supports_qxfer_siginfo ())
|
||||
if (the_target->supports_qxfer_siginfo ())
|
||||
strcat (own_buf, ";qXfer:siginfo:read+;qXfer:siginfo:write+");
|
||||
|
||||
if (the_target->pt->supports_read_loadmap ())
|
||||
if (the_target->supports_read_loadmap ())
|
||||
strcat (own_buf, ";qXfer:fdpic:read+");
|
||||
|
||||
/* We always report qXfer:features:read, as targets may
|
||||
@ -2394,7 +2394,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
if (cs.transport_is_reliable)
|
||||
strcat (own_buf, ";QStartNoAckMode+");
|
||||
|
||||
if (the_target->pt->supports_qxfer_osdata ())
|
||||
if (the_target->supports_qxfer_osdata ())
|
||||
strcat (own_buf, ";qXfer:osdata:read+");
|
||||
|
||||
if (target_supports_multi_process ())
|
||||
@ -2452,7 +2452,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
if (target_supports_stopped_by_hw_breakpoint ())
|
||||
strcat (own_buf, ";hwbreak+");
|
||||
|
||||
if (the_target->pt->supports_pid_to_exec_file ())
|
||||
if (the_target->supports_pid_to_exec_file ())
|
||||
strcat (own_buf, ";qXfer:exec-file:read+");
|
||||
|
||||
strcat (own_buf, ";vContSupported+");
|
||||
@ -2469,7 +2469,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
}
|
||||
|
||||
/* Thread-local storage support. */
|
||||
if (the_target->pt->supports_get_tls_address ()
|
||||
if (the_target->supports_get_tls_address ()
|
||||
&& startswith (own_buf, "qGetTLSAddr:"))
|
||||
{
|
||||
char *p = own_buf + 12;
|
||||
@ -2515,7 +2515,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
if (thread == NULL)
|
||||
err = 2;
|
||||
else
|
||||
err = the_target->pt->get_tls_address (thread, parts[0], parts[1],
|
||||
err = the_target->get_tls_address (thread, parts[0], parts[1],
|
||||
&address);
|
||||
}
|
||||
|
||||
@ -2534,7 +2534,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
}
|
||||
|
||||
/* Windows OS Thread Information Block address support. */
|
||||
if (the_target->pt->supports_get_tib_address ()
|
||||
if (the_target->supports_get_tib_address ()
|
||||
&& startswith (own_buf, "qGetTIBAddr:"))
|
||||
{
|
||||
const char *annex;
|
||||
@ -2542,7 +2542,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
CORE_ADDR tlb;
|
||||
ptid_t ptid = read_ptid (own_buf + 12, &annex);
|
||||
|
||||
n = the_target->pt->get_tib_address (ptid, &tlb);
|
||||
n = the_target->get_tib_address (ptid, &tlb);
|
||||
if (n == 1)
|
||||
{
|
||||
strcpy (own_buf, paddress(tlb));
|
||||
@ -2579,7 +2579,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
|
||||
|
||||
write_ok (own_buf);
|
||||
|
||||
if (the_target->pt->handle_monitor_command (mon) == 0)
|
||||
if (the_target->handle_monitor_command (mon) == 0)
|
||||
/* Default processing. */
|
||||
handle_monitor_command (mon, own_buf);
|
||||
|
||||
@ -2848,7 +2848,7 @@ resume (struct thread_resume *actions, size_t num_actions)
|
||||
enable_async_io ();
|
||||
}
|
||||
|
||||
the_target->pt->resume (actions, num_actions);
|
||||
the_target->resume (actions, num_actions);
|
||||
|
||||
if (non_stop)
|
||||
write_ok (cs.own_buf);
|
||||
@ -3089,7 +3089,7 @@ handle_v_requests (char *own_buf, int packet_len, int *new_packet_len)
|
||||
{
|
||||
if (strcmp (own_buf, "vCtrlC") == 0)
|
||||
{
|
||||
the_target->pt->request_interrupt ();
|
||||
the_target->request_interrupt ();
|
||||
write_ok (own_buf);
|
||||
return;
|
||||
}
|
||||
@ -3219,7 +3219,7 @@ queue_stop_reply_callback (thread_info *thread)
|
||||
{
|
||||
/* For now, assume targets that don't have this callback also don't
|
||||
manage the thread's last_status field. */
|
||||
if (!the_target->pt->supports_thread_stopped ())
|
||||
if (!the_target->supports_thread_stopped ())
|
||||
{
|
||||
struct vstop_notif *new_notif = new struct vstop_notif;
|
||||
|
||||
@ -3886,7 +3886,7 @@ captured_main (int argc, char *argv[])
|
||||
down without informing GDB. */
|
||||
if (!non_stop)
|
||||
{
|
||||
if (the_target->pt->start_non_stop (true))
|
||||
if (the_target->start_non_stop (true))
|
||||
non_stop = 1;
|
||||
|
||||
/* Detaching implicitly resumes all threads;
|
||||
|
@ -62,7 +62,7 @@ prepare_to_access_memory (void)
|
||||
it. */
|
||||
prev_general_thread = cs.general_thread;
|
||||
|
||||
int res = the_target->pt->prepare_to_access_memory ();
|
||||
int res = the_target->prepare_to_access_memory ();
|
||||
if (res != 0)
|
||||
return res;
|
||||
|
||||
@ -70,7 +70,7 @@ prepare_to_access_memory (void)
|
||||
{
|
||||
if (mythread_alive (thread->id))
|
||||
{
|
||||
if (stopped == NULL && the_target->pt->supports_thread_stopped ()
|
||||
if (stopped == NULL && the_target->supports_thread_stopped ()
|
||||
&& target_thread_stopped (thread))
|
||||
stopped = thread;
|
||||
|
||||
@ -114,7 +114,7 @@ done_accessing_memory (void)
|
||||
{
|
||||
client_state &cs = get_client_state ();
|
||||
|
||||
the_target->pt->done_accessing_memory ();
|
||||
the_target->done_accessing_memory ();
|
||||
|
||||
/* Restore the previous selected thread. */
|
||||
cs.general_thread = prev_general_thread;
|
||||
@ -125,7 +125,7 @@ int
|
||||
read_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
|
||||
{
|
||||
int res;
|
||||
res = the_target->pt->read_memory (memaddr, myaddr, len);
|
||||
res = the_target->read_memory (memaddr, myaddr, len);
|
||||
check_mem_read (memaddr, myaddr, len);
|
||||
return res;
|
||||
}
|
||||
@ -156,7 +156,7 @@ target_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
|
||||
update it. */
|
||||
gdb::byte_vector buffer (myaddr, myaddr + len);
|
||||
check_mem_write (memaddr, buffer.data (), myaddr, len);
|
||||
return the_target->pt->write_memory (memaddr, buffer.data (), len);
|
||||
return the_target->write_memory (memaddr, buffer.data (), len);
|
||||
}
|
||||
|
||||
ptid_t
|
||||
@ -210,7 +210,7 @@ target_stop_and_wait (ptid_t ptid)
|
||||
resume_info.thread = ptid;
|
||||
resume_info.kind = resume_stop;
|
||||
resume_info.sig = GDB_SIGNAL_0;
|
||||
the_target->pt->resume (&resume_info, 1);
|
||||
the_target->resume (&resume_info, 1);
|
||||
|
||||
non_stop = true;
|
||||
mywait (ptid, &status, 0, 0);
|
||||
@ -222,7 +222,7 @@ target_stop_and_wait (ptid_t ptid)
|
||||
ptid_t
|
||||
target_wait (ptid_t ptid, struct target_waitstatus *status, int options)
|
||||
{
|
||||
return the_target->pt->wait (ptid, status, options);
|
||||
return the_target->wait (ptid, status, options);
|
||||
}
|
||||
|
||||
/* See target/target.h. */
|
||||
@ -230,7 +230,7 @@ target_wait (ptid_t ptid, struct target_waitstatus *status, int options)
|
||||
void
|
||||
target_mourn_inferior (ptid_t ptid)
|
||||
{
|
||||
the_target->pt->mourn (find_process_pid (ptid.pid ()));
|
||||
the_target->mourn (find_process_pid (ptid.pid ()));
|
||||
}
|
||||
|
||||
/* See target/target.h. */
|
||||
@ -243,7 +243,7 @@ target_continue_no_signal (ptid_t ptid)
|
||||
resume_info.thread = ptid;
|
||||
resume_info.kind = resume_continue;
|
||||
resume_info.sig = GDB_SIGNAL_0;
|
||||
the_target->pt->resume (&resume_info, 1);
|
||||
the_target->resume (&resume_info, 1);
|
||||
}
|
||||
|
||||
/* See target/target.h. */
|
||||
@ -256,7 +256,7 @@ target_continue (ptid_t ptid, enum gdb_signal signal)
|
||||
resume_info.thread = ptid;
|
||||
resume_info.kind = resume_continue;
|
||||
resume_info.sig = gdb_signal_to_host (signal);
|
||||
the_target->pt->resume (&resume_info, 1);
|
||||
the_target->resume (&resume_info, 1);
|
||||
}
|
||||
|
||||
/* See target/target.h. */
|
||||
@ -264,7 +264,7 @@ target_continue (ptid_t ptid, enum gdb_signal signal)
|
||||
int
|
||||
target_supports_multi_process (void)
|
||||
{
|
||||
return the_target->pt->supports_multi_process ();
|
||||
return the_target->supports_multi_process ();
|
||||
}
|
||||
|
||||
void
|
||||
@ -302,7 +302,7 @@ kill_inferior (process_info *proc)
|
||||
{
|
||||
gdb_agent_about_to_close (proc->pid);
|
||||
|
||||
return the_target->pt->kill (proc);
|
||||
return the_target->kill (proc);
|
||||
}
|
||||
|
||||
/* Define it. */
|
||||
@ -357,143 +357,148 @@ target_terminal::info (const char *arg, int from_tty)
|
||||
See target.h for definitions. */
|
||||
|
||||
void
|
||||
process_target::post_create_inferior ()
|
||||
process_stratum_target::post_create_inferior ()
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
int
|
||||
process_target::prepare_to_access_memory ()
|
||||
process_stratum_target::prepare_to_access_memory ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
process_target::done_accessing_memory ()
|
||||
process_stratum_target::done_accessing_memory ()
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
void
|
||||
process_target::look_up_symbols ()
|
||||
process_stratum_target::look_up_symbols ()
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_read_auxv ()
|
||||
process_stratum_target::supports_read_auxv ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::read_auxv (CORE_ADDR offset, unsigned char *myaddr,
|
||||
process_stratum_target::read_auxv (CORE_ADDR offset, unsigned char *myaddr,
|
||||
unsigned int len)
|
||||
{
|
||||
gdb_assert_not_reached ("target op read_auxv not supported");
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_z_point_type (char z_type)
|
||||
process_stratum_target::supports_z_point_type (char z_type)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
||||
process_stratum_target::insert_point (enum raw_bkpt_type type,
|
||||
CORE_ADDR addr,
|
||||
int size, raw_breakpoint *bp)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
|
||||
process_stratum_target::remove_point (enum raw_bkpt_type type,
|
||||
CORE_ADDR addr,
|
||||
int size, raw_breakpoint *bp)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::stopped_by_sw_breakpoint ()
|
||||
process_stratum_target::stopped_by_sw_breakpoint ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_stopped_by_sw_breakpoint ()
|
||||
process_stratum_target::supports_stopped_by_sw_breakpoint ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::stopped_by_hw_breakpoint ()
|
||||
process_stratum_target::stopped_by_hw_breakpoint ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_stopped_by_hw_breakpoint ()
|
||||
process_stratum_target::supports_stopped_by_hw_breakpoint ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_hardware_single_step ()
|
||||
process_stratum_target::supports_hardware_single_step ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::stopped_by_watchpoint ()
|
||||
process_stratum_target::stopped_by_watchpoint ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
CORE_ADDR
|
||||
process_target::stopped_data_address ()
|
||||
process_stratum_target::stopped_data_address ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_read_offsets ()
|
||||
process_stratum_target::supports_read_offsets ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::read_offsets (CORE_ADDR *text, CORE_ADDR *data)
|
||||
process_stratum_target::read_offsets (CORE_ADDR *text, CORE_ADDR *data)
|
||||
{
|
||||
gdb_assert_not_reached ("target op read_offsets not supported");
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_get_tls_address ()
|
||||
process_stratum_target::supports_get_tls_address ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::get_tls_address (thread_info *thread, CORE_ADDR offset,
|
||||
CORE_ADDR load_module, CORE_ADDR *address)
|
||||
process_stratum_target::get_tls_address (thread_info *thread,
|
||||
CORE_ADDR offset,
|
||||
CORE_ADDR load_module,
|
||||
CORE_ADDR *address)
|
||||
{
|
||||
gdb_assert_not_reached ("target op get_tls_address not supported");
|
||||
}
|
||||
|
||||
void
|
||||
process_target::hostio_last_error (char *buf)
|
||||
process_stratum_target::hostio_last_error (char *buf)
|
||||
{
|
||||
hostio_last_error_from_errno (buf);
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_qxfer_osdata ()
|
||||
process_stratum_target::supports_qxfer_osdata ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::qxfer_osdata (const char *annex, unsigned char *readbuf,
|
||||
process_stratum_target::qxfer_osdata (const char *annex,
|
||||
unsigned char *readbuf,
|
||||
unsigned const char *writebuf,
|
||||
CORE_ADDR offset, int len)
|
||||
{
|
||||
@ -501,13 +506,14 @@ process_target::qxfer_osdata (const char *annex, unsigned char *readbuf,
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_qxfer_siginfo ()
|
||||
process_stratum_target::supports_qxfer_siginfo ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::qxfer_siginfo (const char *annex, unsigned char *readbuf,
|
||||
process_stratum_target::qxfer_siginfo (const char *annex,
|
||||
unsigned char *readbuf,
|
||||
unsigned const char *writebuf,
|
||||
CORE_ADDR offset, int len)
|
||||
{
|
||||
@ -515,19 +521,19 @@ process_target::qxfer_siginfo (const char *annex, unsigned char *readbuf,
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_non_stop ()
|
||||
process_stratum_target::supports_non_stop ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::async (bool enable)
|
||||
process_stratum_target::async (bool enable)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::start_non_stop (bool enable)
|
||||
process_stratum_target::start_non_stop (bool enable)
|
||||
{
|
||||
if (enable)
|
||||
return -1;
|
||||
@ -536,134 +542,136 @@ process_target::start_non_stop (bool enable)
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_multi_process ()
|
||||
process_stratum_target::supports_multi_process ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_fork_events ()
|
||||
process_stratum_target::supports_fork_events ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_vfork_events ()
|
||||
process_stratum_target::supports_vfork_events ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_exec_events ()
|
||||
process_stratum_target::supports_exec_events ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
process_target::handle_new_gdb_connection ()
|
||||
process_stratum_target::handle_new_gdb_connection ()
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
int
|
||||
process_target::handle_monitor_command (char *mon)
|
||||
process_stratum_target::handle_monitor_command (char *mon)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::core_of_thread (ptid_t ptid)
|
||||
process_stratum_target::core_of_thread (ptid_t ptid)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_read_loadmap ()
|
||||
process_stratum_target::supports_read_loadmap ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::read_loadmap (const char *annex, CORE_ADDR offset,
|
||||
unsigned char *myaddr, unsigned int len)
|
||||
process_stratum_target::read_loadmap (const char *annex,
|
||||
CORE_ADDR offset,
|
||||
unsigned char *myaddr,
|
||||
unsigned int len)
|
||||
{
|
||||
gdb_assert_not_reached ("target op read_loadmap not supported");
|
||||
}
|
||||
|
||||
void
|
||||
process_target::process_qsupported (char **features, int count)
|
||||
process_stratum_target::process_qsupported (char **features, int count)
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_tracepoints ()
|
||||
process_stratum_target::supports_tracepoints ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
CORE_ADDR
|
||||
process_target::read_pc (regcache *regcache)
|
||||
process_stratum_target::read_pc (regcache *regcache)
|
||||
{
|
||||
gdb_assert_not_reached ("process_target::read_pc: Unable to find PC");
|
||||
}
|
||||
|
||||
void
|
||||
process_target::write_pc (regcache *regcache, CORE_ADDR pc)
|
||||
process_stratum_target::write_pc (regcache *regcache, CORE_ADDR pc)
|
||||
{
|
||||
gdb_assert_not_reached ("process_target::write_pc: Unable to update PC");
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_thread_stopped ()
|
||||
process_stratum_target::supports_thread_stopped ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::thread_stopped (thread_info *thread)
|
||||
process_stratum_target::thread_stopped (thread_info *thread)
|
||||
{
|
||||
gdb_assert_not_reached ("target op thread_stopped not supported");
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_get_tib_address ()
|
||||
process_stratum_target::supports_get_tib_address ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::get_tib_address (ptid_t ptid, CORE_ADDR *address)
|
||||
process_stratum_target::get_tib_address (ptid_t ptid, CORE_ADDR *address)
|
||||
{
|
||||
gdb_assert_not_reached ("target op get_tib_address not supported");
|
||||
}
|
||||
|
||||
void
|
||||
process_target::pause_all (bool freeze)
|
||||
process_stratum_target::pause_all (bool freeze)
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
void
|
||||
process_target::unpause_all (bool unfreeze)
|
||||
process_stratum_target::unpause_all (bool unfreeze)
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
void
|
||||
process_target::stabilize_threads ()
|
||||
process_stratum_target::stabilize_threads ()
|
||||
{
|
||||
/* Nop. */
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_fast_tracepoints ()
|
||||
process_stratum_target::supports_fast_tracepoints ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::install_fast_tracepoint_jump_pad
|
||||
process_stratum_target::install_fast_tracepoint_jump_pad
|
||||
(CORE_ADDR tpoint, CORE_ADDR tpaddr, CORE_ADDR collector,
|
||||
CORE_ADDR lockaddr, ULONGEST orig_size, CORE_ADDR *jump_entry,
|
||||
CORE_ADDR *trampoline, ULONGEST *trampoline_size,
|
||||
@ -676,31 +684,31 @@ process_target::install_fast_tracepoint_jump_pad
|
||||
}
|
||||
|
||||
int
|
||||
process_target::get_min_fast_tracepoint_insn_len ()
|
||||
process_stratum_target::get_min_fast_tracepoint_insn_len ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct emit_ops *
|
||||
process_target::emit_ops ()
|
||||
process_stratum_target::emit_ops ()
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_disable_randomization ()
|
||||
process_stratum_target::supports_disable_randomization ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_qxfer_libraries_svr4 ()
|
||||
process_stratum_target::supports_qxfer_libraries_svr4 ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::qxfer_libraries_svr4 (const char *annex,
|
||||
process_stratum_target::qxfer_libraries_svr4 (const char *annex,
|
||||
unsigned char *readbuf,
|
||||
unsigned const char *writebuf,
|
||||
CORE_ADDR offset, int len)
|
||||
@ -709,25 +717,25 @@ process_target::qxfer_libraries_svr4 (const char *annex,
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_agent ()
|
||||
process_stratum_target::supports_agent ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
btrace_target_info *
|
||||
process_target::enable_btrace (ptid_t ptid, const btrace_config *conf)
|
||||
process_stratum_target::enable_btrace (ptid_t ptid, const btrace_config *conf)
|
||||
{
|
||||
error (_("Target does not support branch tracing."));
|
||||
}
|
||||
|
||||
int
|
||||
process_target::disable_btrace (btrace_target_info *tinfo)
|
||||
process_stratum_target::disable_btrace (btrace_target_info *tinfo)
|
||||
{
|
||||
error (_("Target does not support branch tracing."));
|
||||
}
|
||||
|
||||
int
|
||||
process_target::read_btrace (btrace_target_info *tinfo,
|
||||
process_stratum_target::read_btrace (btrace_target_info *tinfo,
|
||||
buffer *buffer,
|
||||
enum btrace_read_type type)
|
||||
{
|
||||
@ -735,58 +743,58 @@ process_target::read_btrace (btrace_target_info *tinfo,
|
||||
}
|
||||
|
||||
int
|
||||
process_target::read_btrace_conf (const btrace_target_info *tinfo,
|
||||
process_stratum_target::read_btrace_conf (const btrace_target_info *tinfo,
|
||||
buffer *buffer)
|
||||
{
|
||||
error (_("Target does not support branch tracing."));
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_range_stepping ()
|
||||
process_stratum_target::supports_range_stepping ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_pid_to_exec_file ()
|
||||
process_stratum_target::supports_pid_to_exec_file ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
char *
|
||||
process_target::pid_to_exec_file (int pid)
|
||||
process_stratum_target::pid_to_exec_file (int pid)
|
||||
{
|
||||
gdb_assert_not_reached ("target op pid_to_exec_file not supported");
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_multifs ()
|
||||
process_stratum_target::supports_multifs ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::multifs_open (int pid, const char *filename,
|
||||
process_stratum_target::multifs_open (int pid, const char *filename,
|
||||
int flags, mode_t mode)
|
||||
{
|
||||
return open (filename, flags, mode);
|
||||
}
|
||||
|
||||
int
|
||||
process_target::multifs_unlink (int pid, const char *filename)
|
||||
process_stratum_target::multifs_unlink (int pid, const char *filename)
|
||||
{
|
||||
return unlink (filename);
|
||||
}
|
||||
|
||||
ssize_t
|
||||
process_target::multifs_readlink (int pid, const char *filename,
|
||||
process_stratum_target::multifs_readlink (int pid, const char *filename,
|
||||
char *buf, size_t bufsiz)
|
||||
{
|
||||
return readlink (filename, buf, bufsiz);
|
||||
}
|
||||
|
||||
int
|
||||
process_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr)
|
||||
process_stratum_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr)
|
||||
{
|
||||
/* The default behavior is to use the size of a breakpoint as the
|
||||
kind. */
|
||||
@ -796,38 +804,38 @@ process_target::breakpoint_kind_from_pc (CORE_ADDR *pcptr)
|
||||
}
|
||||
|
||||
int
|
||||
process_target::breakpoint_kind_from_current_state (CORE_ADDR *pcptr)
|
||||
process_stratum_target::breakpoint_kind_from_current_state (CORE_ADDR *pcptr)
|
||||
{
|
||||
return breakpoint_kind_from_pc (pcptr);
|
||||
}
|
||||
|
||||
const char *
|
||||
process_target::thread_name (ptid_t thread)
|
||||
process_stratum_target::thread_name (ptid_t thread)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::thread_handle (ptid_t ptid, gdb_byte **handle,
|
||||
process_stratum_target::thread_handle (ptid_t ptid, gdb_byte **handle,
|
||||
int *handle_len)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_software_single_step ()
|
||||
process_stratum_target::supports_software_single_step ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
process_target::supports_catch_syscall ()
|
||||
process_stratum_target::supports_catch_syscall ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
int
|
||||
process_target::get_ipa_tdesc_idx ()
|
||||
process_stratum_target::get_ipa_tdesc_idx ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -63,22 +63,15 @@ struct thread_resume
|
||||
CORE_ADDR step_range_end; /* Exclusive */
|
||||
};
|
||||
|
||||
class process_target;
|
||||
|
||||
/* GDBserver doesn't have a concept of strata like GDB, but we call
|
||||
its target vector "process_stratum" anyway for the benefit of
|
||||
shared code. */
|
||||
struct process_stratum_target
|
||||
{
|
||||
/* The object that will gradually replace this struct. */
|
||||
process_target *pt;
|
||||
};
|
||||
|
||||
class process_target
|
||||
class process_stratum_target
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~process_target () = default;
|
||||
virtual ~process_stratum_target () = default;
|
||||
|
||||
/* Start a new process.
|
||||
|
||||
@ -511,78 +504,78 @@ extern process_stratum_target *the_target;
|
||||
void set_target_ops (process_stratum_target *);
|
||||
|
||||
#define target_create_inferior(program, program_args) \
|
||||
the_target->pt->create_inferior (program, program_args)
|
||||
the_target->create_inferior (program, program_args)
|
||||
|
||||
#define target_post_create_inferior() \
|
||||
the_target->pt->post_create_inferior ()
|
||||
the_target->post_create_inferior ()
|
||||
|
||||
#define myattach(pid) \
|
||||
the_target->pt->attach (pid)
|
||||
the_target->attach (pid)
|
||||
|
||||
int kill_inferior (process_info *proc);
|
||||
|
||||
#define target_supports_fork_events() \
|
||||
the_target->pt->supports_fork_events ()
|
||||
the_target->supports_fork_events ()
|
||||
|
||||
#define target_supports_vfork_events() \
|
||||
the_target->pt->supports_vfork_events ()
|
||||
the_target->supports_vfork_events ()
|
||||
|
||||
#define target_supports_exec_events() \
|
||||
the_target->pt->supports_exec_events ()
|
||||
the_target->supports_exec_events ()
|
||||
|
||||
#define target_handle_new_gdb_connection() \
|
||||
the_target->pt->handle_new_gdb_connection ()
|
||||
the_target->handle_new_gdb_connection ()
|
||||
|
||||
#define detach_inferior(proc) \
|
||||
the_target->pt->detach (proc)
|
||||
the_target->detach (proc)
|
||||
|
||||
#define mythread_alive(pid) \
|
||||
the_target->pt->thread_alive (pid)
|
||||
the_target->thread_alive (pid)
|
||||
|
||||
#define fetch_inferior_registers(regcache, regno) \
|
||||
the_target->pt->fetch_registers (regcache, regno)
|
||||
the_target->fetch_registers (regcache, regno)
|
||||
|
||||
#define store_inferior_registers(regcache, regno) \
|
||||
the_target->pt->store_registers (regcache, regno)
|
||||
the_target->store_registers (regcache, regno)
|
||||
|
||||
#define join_inferior(pid) \
|
||||
the_target->pt->join (pid)
|
||||
the_target->join (pid)
|
||||
|
||||
#define target_supports_non_stop() \
|
||||
the_target->pt->supports_non_stop ()
|
||||
the_target->supports_non_stop ()
|
||||
|
||||
#define target_async(enable) \
|
||||
the_target->pt->async (enable)
|
||||
the_target->async (enable)
|
||||
|
||||
#define target_process_qsupported(features, count) \
|
||||
the_target->pt->process_qsupported (features, count)
|
||||
the_target->process_qsupported (features, count)
|
||||
|
||||
#define target_supports_catch_syscall() \
|
||||
the_target->pt->supports_catch_syscall ()
|
||||
the_target->supports_catch_syscall ()
|
||||
|
||||
#define target_get_ipa_tdesc_idx() \
|
||||
the_target->pt->get_ipa_tdesc_idx ()
|
||||
the_target->get_ipa_tdesc_idx ()
|
||||
|
||||
#define target_supports_tracepoints() \
|
||||
the_target->pt->supports_tracepoints ()
|
||||
the_target->supports_tracepoints ()
|
||||
|
||||
#define target_supports_fast_tracepoints() \
|
||||
the_target->pt->supports_fast_tracepoints ()
|
||||
the_target->supports_fast_tracepoints ()
|
||||
|
||||
#define target_get_min_fast_tracepoint_insn_len() \
|
||||
the_target->pt->get_min_fast_tracepoint_insn_len ()
|
||||
the_target->get_min_fast_tracepoint_insn_len ()
|
||||
|
||||
#define target_thread_stopped(thread) \
|
||||
the_target->pt->thread_stopped (thread)
|
||||
the_target->thread_stopped (thread)
|
||||
|
||||
#define target_pause_all(freeze) \
|
||||
the_target->pt->pause_all (freeze)
|
||||
the_target->pause_all (freeze)
|
||||
|
||||
#define target_unpause_all(unfreeze) \
|
||||
the_target->pt->unpause_all (unfreeze)
|
||||
the_target->unpause_all (unfreeze)
|
||||
|
||||
#define target_stabilize_threads() \
|
||||
the_target->pt->stabilize_threads ()
|
||||
the_target->stabilize_threads ()
|
||||
|
||||
#define target_install_fast_tracepoint_jump_pad(tpoint, tpaddr, \
|
||||
collector, lockaddr, \
|
||||
@ -594,7 +587,7 @@ int kill_inferior (process_info *proc);
|
||||
adjusted_insn_addr, \
|
||||
adjusted_insn_addr_end, \
|
||||
err) \
|
||||
the_target->pt->install_fast_tracepoint_jump_pad (tpoint, tpaddr, \
|
||||
the_target->install_fast_tracepoint_jump_pad (tpoint, tpaddr, \
|
||||
collector,lockaddr, \
|
||||
orig_size, jump_entry, \
|
||||
trampoline, \
|
||||
@ -606,24 +599,24 @@ int kill_inferior (process_info *proc);
|
||||
err)
|
||||
|
||||
#define target_emit_ops() \
|
||||
the_target->pt->emit_ops ()
|
||||
the_target->emit_ops ()
|
||||
|
||||
#define target_supports_disable_randomization() \
|
||||
the_target->pt->supports_disable_randomization ()
|
||||
the_target->supports_disable_randomization ()
|
||||
|
||||
#define target_supports_agent() \
|
||||
the_target->pt->supports_agent ()
|
||||
the_target->supports_agent ()
|
||||
|
||||
static inline struct btrace_target_info *
|
||||
target_enable_btrace (ptid_t ptid, const struct btrace_config *conf)
|
||||
{
|
||||
return the_target->pt->enable_btrace (ptid, conf);
|
||||
return the_target->enable_btrace (ptid, conf);
|
||||
}
|
||||
|
||||
static inline int
|
||||
target_disable_btrace (struct btrace_target_info *tinfo)
|
||||
{
|
||||
return the_target->pt->disable_btrace (tinfo);
|
||||
return the_target->disable_btrace (tinfo);
|
||||
}
|
||||
|
||||
static inline int
|
||||
@ -631,42 +624,42 @@ target_read_btrace (struct btrace_target_info *tinfo,
|
||||
struct buffer *buffer,
|
||||
enum btrace_read_type type)
|
||||
{
|
||||
return the_target->pt->read_btrace (tinfo, buffer, type);
|
||||
return the_target->read_btrace (tinfo, buffer, type);
|
||||
}
|
||||
|
||||
static inline int
|
||||
target_read_btrace_conf (struct btrace_target_info *tinfo,
|
||||
struct buffer *buffer)
|
||||
{
|
||||
return the_target->pt->read_btrace_conf (tinfo, buffer);
|
||||
return the_target->read_btrace_conf (tinfo, buffer);
|
||||
}
|
||||
|
||||
#define target_supports_range_stepping() \
|
||||
the_target->pt->supports_range_stepping ()
|
||||
the_target->supports_range_stepping ()
|
||||
|
||||
#define target_supports_stopped_by_sw_breakpoint() \
|
||||
the_target->pt->supports_stopped_by_sw_breakpoint ()
|
||||
the_target->supports_stopped_by_sw_breakpoint ()
|
||||
|
||||
#define target_stopped_by_sw_breakpoint() \
|
||||
the_target->pt->stopped_by_sw_breakpoint ()
|
||||
the_target->stopped_by_sw_breakpoint ()
|
||||
|
||||
#define target_supports_stopped_by_hw_breakpoint() \
|
||||
the_target->pt->supports_stopped_by_hw_breakpoint ()
|
||||
the_target->supports_stopped_by_hw_breakpoint ()
|
||||
|
||||
#define target_supports_hardware_single_step() \
|
||||
the_target->pt->supports_hardware_single_step ()
|
||||
the_target->supports_hardware_single_step ()
|
||||
|
||||
#define target_stopped_by_hw_breakpoint() \
|
||||
the_target->pt->stopped_by_hw_breakpoint ()
|
||||
the_target->stopped_by_hw_breakpoint ()
|
||||
|
||||
#define target_breakpoint_kind_from_pc(pcptr) \
|
||||
the_target->pt->breakpoint_kind_from_pc (pcptr)
|
||||
the_target->breakpoint_kind_from_pc (pcptr)
|
||||
|
||||
#define target_breakpoint_kind_from_current_state(pcptr) \
|
||||
the_target->pt->breakpoint_kind_from_current_state (pcptr)
|
||||
the_target->breakpoint_kind_from_current_state (pcptr)
|
||||
|
||||
#define target_supports_software_single_step() \
|
||||
the_target->pt->supports_software_single_step ()
|
||||
the_target->supports_software_single_step ()
|
||||
|
||||
ptid_t mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
|
||||
int connected_wait);
|
||||
@ -678,13 +671,13 @@ int prepare_to_access_memory (void);
|
||||
void done_accessing_memory (void);
|
||||
|
||||
#define target_core_of_thread(ptid) \
|
||||
the_target->pt->core_of_thread (ptid)
|
||||
the_target->core_of_thread (ptid)
|
||||
|
||||
#define target_thread_name(ptid) \
|
||||
the_target->pt->thread_name (ptid)
|
||||
the_target->thread_name (ptid)
|
||||
|
||||
#define target_thread_handle(ptid, handle, handle_len) \
|
||||
the_target->pt->thread_handle (ptid, handle, handle_len)
|
||||
the_target->thread_handle (ptid, handle, handle_len)
|
||||
|
||||
int read_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len);
|
||||
|
||||
|
@ -377,7 +377,7 @@ do_initial_child_stuff (HANDLE proch, DWORD pid, int attached)
|
||||
{
|
||||
struct target_waitstatus status;
|
||||
|
||||
the_target->pt->wait (minus_one_ptid, &status, 0);
|
||||
the_target->wait (minus_one_ptid, &status, 0);
|
||||
|
||||
/* Note win32_wait doesn't return thread events. */
|
||||
if (status.kind != TARGET_WAITKIND_LOADED)
|
||||
@ -393,7 +393,7 @@ do_initial_child_stuff (HANDLE proch, DWORD pid, int attached)
|
||||
resume.kind = resume_continue;
|
||||
resume.sig = 0;
|
||||
|
||||
the_target->pt->resume (&resume, 1);
|
||||
the_target->resume (&resume, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1857,14 +1857,10 @@ win32_process_target::sw_breakpoint_from_kind (int kind, int *size)
|
||||
|
||||
static win32_process_target the_win32_target;
|
||||
|
||||
static process_stratum_target win32_target_ops = {
|
||||
&the_win32_target,
|
||||
};
|
||||
|
||||
/* Initialize the Win32 backend. */
|
||||
void
|
||||
initialize_low (void)
|
||||
{
|
||||
set_target_ops (&win32_target_ops);
|
||||
set_target_ops (&the_win32_target);
|
||||
the_low_target.arch_setup ();
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ extern struct win32_target_ops the_low_target;
|
||||
|
||||
/* Target ops definitions for a Win32 target. */
|
||||
|
||||
class win32_process_target : public process_target
|
||||
class win32_process_target : public process_stratum_target
|
||||
{
|
||||
public:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user