+
+struct dummy_target : public target_ops
+{
+ dummy_target ();
+
+ const target_info &info () const override;
+
+ void post_attach (int arg0) override;
+ void detach (inferior *arg0, int arg1) override;
+ void disconnect (const char *arg0, int arg1) override;
+ void resume (ptid_t arg0, int arg1, enum gdb_signal arg2) override;
+ void commit_resume () override;
+ ptid_t wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2) override;
+ void fetch_registers (struct regcache *arg0, int arg1) override;
+ void store_registers (struct regcache *arg0, int arg1) override;
+ void prepare_to_store (struct regcache *arg0) override;
+ void files_info () override;
+ int insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+ int remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2) override;
+ bool stopped_by_sw_breakpoint () override;
+ bool supports_stopped_by_sw_breakpoint () override;
+ bool stopped_by_hw_breakpoint () override;
+ bool supports_stopped_by_hw_breakpoint () override;
+ int can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2) override;
+ int ranged_break_num_registers () override;
+ int insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+ int remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+ int remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+ int insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+ int insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+ int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+ bool stopped_by_watchpoint () override;
+ int have_steppable_watchpoint () override;
+ bool stopped_data_address (CORE_ADDR *arg0) override;
+ bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) override;
+ int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
+ bool can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3) override;
+ int masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1) override;
+ int can_do_single_step () override;
+ bool supports_terminal_ours () override;
+ void terminal_init () override;
+ void terminal_inferior () override;
+ void terminal_save_inferior () override;
+ void terminal_ours_for_output () override;
+ void terminal_ours () override;
+ void terminal_info (const char *arg0, int arg1) override;
+ void kill () override;
+ void load (const char *arg0, int arg1) override;
+ void post_startup_inferior (ptid_t arg0) override;
+ int insert_fork_catchpoint (int arg0) override;
+ int remove_fork_catchpoint (int arg0) override;
+ int insert_vfork_catchpoint (int arg0) override;
+ int remove_vfork_catchpoint (int arg0) override;
+ int follow_fork (int arg0, int arg1) override;
+ int insert_exec_catchpoint (int arg0) override;
+ int remove_exec_catchpoint (int arg0) override;
+ void follow_exec (struct inferior *arg0, char *arg1) override;
+ int set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3) override;
+ void mourn_inferior () override;
+ void pass_signals (int arg0, unsigned char * arg1) override;
+ void program_signals (int arg0, unsigned char * arg1) override;
+ bool thread_alive (ptid_t arg0) override;
+ void update_thread_list () override;
+ const char *pid_to_str (ptid_t arg0) override;
+ const char *extra_thread_info (thread_info *arg0) override;
+ const char *thread_name (thread_info *arg0) override;
+ thread_info *thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2) override;
+ void stop (ptid_t arg0) override;
+ void interrupt () override;
+ void pass_ctrlc () override;
+ void rcmd (const char *arg0, struct ui_file *arg1) override;
+ char *pid_to_exec_file (int arg0) override;
+ void log_command (const char *arg0) override;
+ struct target_section_table *get_section_table () override;
+ thread_control_capabilities get_thread_control_capabilities () override;
+ bool attach_no_wait () override;
+ bool can_async_p () override;
+ bool is_async_p () override;
+ void async (int arg0) override;
+ void thread_events (int arg0) override;
+ bool supports_non_stop () override;
+ bool always_non_stop_p () override;
+ int find_memory_regions (find_memory_region_ftype arg0, void *arg1) override;
+ char *make_corefile_notes (bfd *arg0, int *arg1) override;
+ gdb_byte *get_bookmark (const char *arg0, int arg1) override;
+ void goto_bookmark (const gdb_byte *arg0, int arg1) override;
+ CORE_ADDR get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2) override;
+ enum target_xfer_status xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6) override;
+ ULONGEST get_memory_xfer_limit () override;
+ std::vector<mem_region> memory_map () override;
+ void flash_erase (ULONGEST arg0, LONGEST arg1) override;
+ void flash_done () override;
+ const struct target_desc *read_description () override;
+ ptid_t get_ada_task_ptid (long arg0, long arg1) override;
+ int auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3) override;
+ int search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4) override;
+ bool can_execute_reverse () override;
+ enum exec_direction_kind execution_direction () override;
+ bool supports_multi_process () override;
+ bool supports_enable_disable_tracepoint () override;
+ bool supports_disable_randomization () override;
+ bool supports_string_tracing () override;
+ bool supports_evaluation_of_breakpoint_conditions () override;
+ bool can_run_breakpoint_commands () override;
+ struct gdbarch *thread_architecture (ptid_t arg0) override;
+ struct address_space *thread_address_space (ptid_t arg0) override;
+ bool filesystem_is_local () override;
+ void trace_init () override;
+ void download_tracepoint (struct bp_location *arg0) override;
+ bool can_download_tracepoint () override;
+ void download_trace_state_variable (const trace_state_variable &arg0) override;
+ void enable_tracepoint (struct bp_location *arg0) override;
+ void disable_tracepoint (struct bp_location *arg0) override;
+ void trace_set_readonly_regions () override;
+ void trace_start () override;
+ int get_trace_status (struct trace_status *arg0) override;
+ void get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1) override;
+ void trace_stop () override;
+ int trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4) override;
+ bool get_trace_state_variable_value (int arg0, LONGEST *arg1) override;
+ int save_trace_data (const char *arg0) override;
+ int upload_tracepoints (struct uploaded_tp **arg0) override;
+ int upload_trace_state_variables (struct uploaded_tsv **arg0) override;
+ LONGEST get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2) override;
+ int get_min_fast_tracepoint_insn_len () override;
+ void set_disconnected_tracing (int arg0) override;
+ void set_circular_trace_buffer (int arg0) override;
+ void set_trace_buffer_size (LONGEST arg0) override;
+ bool set_trace_notes (const char *arg0, const char *arg1, const char *arg2) override;
+ int core_of_thread (ptid_t arg0) override;
+ int verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2) override;
+ bool get_tib_address (ptid_t arg0, CORE_ADDR *arg1) override;
+ void set_permissions () override;
+ bool static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1) override;
+ std::vector<static_tracepoint_marker> static_tracepoint_markers_by_strid (const char *arg0) override;
+ traceframe_info_up traceframe_info () override;
+ bool use_agent (bool arg0) override;
+ bool can_use_agent () override;
+ struct btrace_target_info *enable_btrace (ptid_t arg0, const struct btrace_config *arg1) override;
+ void disable_btrace (struct btrace_target_info *arg0) override;
+ void teardown_btrace (struct btrace_target_info *arg0) override;
+ enum btrace_error read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2) override;
+ const struct btrace_config *btrace_conf (const struct btrace_target_info *arg0) override;
+ enum record_method record_method (ptid_t arg0) override;
+ void stop_recording () override;
+ void info_record () override;
+ void save_record (const char *arg0) override;
+ bool supports_delete_record () override;
+ void delete_record () override;
+ bool record_is_replaying (ptid_t arg0) override;
+ bool record_will_replay (ptid_t arg0, int arg1) override;
+ void record_stop_replaying () override;
+ void goto_record_begin () override;
+ void goto_record_end () override;
+ void goto_record (ULONGEST arg0) override;
+ void insn_history (int arg0, gdb_disassembly_flags arg1) override;
+ void insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2) override;
+ void insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2) override;
+ void call_history (int arg0, record_print_flags arg1) override;
+ void call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2) override;
+ void call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2) override;
+ bool augmented_libraries_svr4_read () override;
+ const struct frame_unwind *get_unwinder () override;
+ const struct frame_unwind *get_tailcall_unwinder () override;
+ void prepare_to_generate_core () override;
+ void done_generating_core () override;
+};
+
+struct debug_target : public target_ops
+{
+ debug_target ();
+
+ const target_info &info () const override;
+
+ void post_attach (int arg0) override;
+ void detach (inferior *arg0, int arg1) override;
+ void disconnect (const char *arg0, int arg1) override;
+ void resume (ptid_t arg0, int arg1, enum gdb_signal arg2) override;
+ void commit_resume () override;
+ ptid_t wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2) override;
+ void fetch_registers (struct regcache *arg0, int arg1) override;
+ void store_registers (struct regcache *arg0, int arg1) override;
+ void prepare_to_store (struct regcache *arg0) override;
+ void files_info () override;
+ int insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+ int remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2) override;
+ bool stopped_by_sw_breakpoint () override;
+ bool supports_stopped_by_sw_breakpoint () override;
+ bool stopped_by_hw_breakpoint () override;
+ bool supports_stopped_by_hw_breakpoint () override;
+ int can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2) override;
+ int ranged_break_num_registers () override;
+ int insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+ int remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1) override;
+ int remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+ int insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3) override;
+ int insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+ int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
+ bool stopped_by_watchpoint () override;
+ int have_steppable_watchpoint () override;
+ bool stopped_data_address (CORE_ADDR *arg0) override;
+ bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) override;
+ int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
+ bool can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3) override;
+ int masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1) override;
+ int can_do_single_step () override;
+ bool supports_terminal_ours () override;
+ void terminal_init () override;
+ void terminal_inferior () override;
+ void terminal_save_inferior () override;
+ void terminal_ours_for_output () override;
+ void terminal_ours () override;
+ void terminal_info (const char *arg0, int arg1) override;
+ void kill () override;
+ void load (const char *arg0, int arg1) override;
+ void post_startup_inferior (ptid_t arg0) override;
+ int insert_fork_catchpoint (int arg0) override;
+ int remove_fork_catchpoint (int arg0) override;
+ int insert_vfork_catchpoint (int arg0) override;
+ int remove_vfork_catchpoint (int arg0) override;
+ int follow_fork (int arg0, int arg1) override;
+ int insert_exec_catchpoint (int arg0) override;
+ int remove_exec_catchpoint (int arg0) override;
+ void follow_exec (struct inferior *arg0, char *arg1) override;
+ int set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3) override;
+ void mourn_inferior () override;
+ void pass_signals (int arg0, unsigned char * arg1) override;
+ void program_signals (int arg0, unsigned char * arg1) override;
+ bool thread_alive (ptid_t arg0) override;
+ void update_thread_list () override;
+ const char *pid_to_str (ptid_t arg0) override;
+ const char *extra_thread_info (thread_info *arg0) override;
+ const char *thread_name (thread_info *arg0) override;
+ thread_info *thread_handle_to_thread_info (const gdb_byte *arg0, int arg1, inferior *arg2) override;
+ void stop (ptid_t arg0) override;
+ void interrupt () override;
+ void pass_ctrlc () override;
+ void rcmd (const char *arg0, struct ui_file *arg1) override;
+ char *pid_to_exec_file (int arg0) override;
+ void log_command (const char *arg0) override;
+ struct target_section_table *get_section_table () override;
+ thread_control_capabilities get_thread_control_capabilities () override;
+ bool attach_no_wait () override;
+ bool can_async_p () override;
+ bool is_async_p () override;
+ void async (int arg0) override;
+ void thread_events (int arg0) override;
+ bool supports_non_stop () override;
+ bool always_non_stop_p () override;
+ int find_memory_regions (find_memory_region_ftype arg0, void *arg1) override;
+ char *make_corefile_notes (bfd *arg0, int *arg1) override;
+ gdb_byte *get_bookmark (const char *arg0, int arg1) override;
+ void goto_bookmark (const gdb_byte *arg0, int arg1) override;
+ CORE_ADDR get_thread_local_address (ptid_t arg0, CORE_ADDR arg1, CORE_ADDR arg2) override;
+ enum target_xfer_status xfer_partial (enum target_object arg0, const char *arg1, gdb_byte *arg2, const gdb_byte *arg3, ULONGEST arg4, ULONGEST arg5, ULONGEST *arg6) override;
+ ULONGEST get_memory_xfer_limit () override;
+ std::vector<mem_region> memory_map () override;
+ void flash_erase (ULONGEST arg0, LONGEST arg1) override;
+ void flash_done () override;
+ const struct target_desc *read_description () override;
+ ptid_t get_ada_task_ptid (long arg0, long arg1) override;
+ int auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3) override;
+ int search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4) override;
+ bool can_execute_reverse () override;
+ enum exec_direction_kind execution_direction () override;
+ bool supports_multi_process () override;
+ bool supports_enable_disable_tracepoint () override;
+ bool supports_disable_randomization () override;
+ bool supports_string_tracing () override;
+ bool supports_evaluation_of_breakpoint_conditions () override;
+ bool can_run_breakpoint_commands () override;
+ struct gdbarch *thread_architecture (ptid_t arg0) override;
+ struct address_space *thread_address_space (ptid_t arg0) override;
+ bool filesystem_is_local () override;
+ void trace_init () override;
+ void download_tracepoint (struct bp_location *arg0) override;
+ bool can_download_tracepoint () override;
+ void download_trace_state_variable (const trace_state_variable &arg0) override;
+ void enable_tracepoint (struct bp_location *arg0) override;
+ void disable_tracepoint (struct bp_location *arg0) override;
+ void trace_set_readonly_regions () override;
+ void trace_start () override;
+ int get_trace_status (struct trace_status *arg0) override;
+ void get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1) override;
+ void trace_stop () override;
+ int trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4) override;
+ bool get_trace_state_variable_value (int arg0, LONGEST *arg1) override;
+ int save_trace_data (const char *arg0) override;
+ int upload_tracepoints (struct uploaded_tp **arg0) override;
+ int upload_trace_state_variables (struct uploaded_tsv **arg0) override;
+ LONGEST get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2) override;
+ int get_min_fast_tracepoint_insn_len () override;
+ void set_disconnected_tracing (int arg0) override;
+ void set_circular_trace_buffer (int arg0) override;
+ void set_trace_buffer_size (LONGEST arg0) override;
+ bool set_trace_notes (const char *arg0, const char *arg1, const char *arg2) override;
+ int core_of_thread (ptid_t arg0) override;
+ int verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2) override;
+ bool get_tib_address (ptid_t arg0, CORE_ADDR *arg1) override;
+ void set_permissions () override;
+ bool static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1) override;
+ std::vector<static_tracepoint_marker> static_tracepoint_markers_by_strid (const char *arg0) override;
+ traceframe_info_up traceframe_info () override;
+ bool use_agent (bool arg0) override;
+ bool can_use_agent () override;
+ struct btrace_target_info *enable_btrace (ptid_t arg0, const struct btrace_config *arg1) override;
+ void disable_btrace (struct btrace_target_info *arg0) override;
+ void teardown_btrace (struct btrace_target_info *arg0) override;
+ enum btrace_error read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2) override;
+ const struct btrace_config *btrace_conf (const struct btrace_target_info *arg0) override;
+ enum record_method record_method (ptid_t arg0) override;
+ void stop_recording () override;
+ void info_record () override;
+ void save_record (const char *arg0) override;
+ bool supports_delete_record () override;
+ void delete_record () override;
+ bool record_is_replaying (ptid_t arg0) override;
+ bool record_will_replay (ptid_t arg0, int arg1) override;
+ void record_stop_replaying () override;
+ void goto_record_begin () override;
+ void goto_record_end () override;
+ void goto_record (ULONGEST arg0) override;
+ void insn_history (int arg0, gdb_disassembly_flags arg1) override;
+ void insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2) override;
+ void insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2) override;
+ void call_history (int arg0, record_print_flags arg1) override;
+ void call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2) override;
+ void call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2) override;
+ bool augmented_libraries_svr4_read () override;
+ const struct frame_unwind *get_unwinder () override;
+ const struct frame_unwind *get_tailcall_unwinder () override;
+ void prepare_to_generate_core () override;
+ void done_generating_core () override;
+};
+
+void
+target_ops::post_attach (int arg0)
+{
+ this->beneath ()->post_attach (arg0);
+}
+
+void
+dummy_target::post_attach (int arg0)
+{
+}
+
+void
+debug_target::post_attach (int arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->post_attach (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->post_attach (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->post_attach (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::detach (inferior *arg0, int arg1)
+{
+ this->beneath ()->detach (arg0, arg1);
+}
+
+void
+dummy_target::detach (inferior *arg0, int arg1)
+{
+}
+
+void
+debug_target::detach (inferior *arg0, int arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->detach (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->detach (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->detach (", this->beneath ()->shortname ());
+ target_debug_print_inferior_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::disconnect (const char *arg0, int arg1)
+{
+ this->beneath ()->disconnect (arg0, arg1);
+}
+
+void
+dummy_target::disconnect (const char *arg0, int arg1)
+{
+ tcomplain ();
+}
+
+void
+debug_target::disconnect (const char *arg0, int arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->disconnect (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->disconnect (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->disconnect (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::resume (ptid_t arg0, int arg1, enum gdb_signal arg2)
+{
+ this->beneath ()->resume (arg0, arg1, arg2);
+}
+
+void
+dummy_target::resume (ptid_t arg0, int arg1, enum gdb_signal arg2)
+{
+ noprocess ();
+}
+
+void
+debug_target::resume (ptid_t arg0, int arg1, enum gdb_signal arg2)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->resume (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->resume (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->resume (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_step (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_gdb_signal (arg2);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::commit_resume ()
+{
+ this->beneath ()->commit_resume ();
+}
+
+void
+dummy_target::commit_resume ()
+{
+}
+
+void
+debug_target::commit_resume ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->commit_resume (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->commit_resume ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->commit_resume (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+ptid_t
+target_ops::wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2)
+{
+ return this->beneath ()->wait (arg0, arg1, arg2);
+}
+
+ptid_t
+dummy_target::wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2)
+{
+ return default_target_wait (this, arg0, arg1, arg2);
+}
+
+ptid_t
+debug_target::wait (ptid_t arg0, struct target_waitstatus *arg1, int arg2)
+{
+ ptid_t result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->wait (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->wait (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->wait (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_target_waitstatus_p (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_options (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_ptid_t (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::fetch_registers (struct regcache *arg0, int arg1)
+{
+ this->beneath ()->fetch_registers (arg0, arg1);
+}
+
+void
+dummy_target::fetch_registers (struct regcache *arg0, int arg1)
+{
+}
+
+void
+debug_target::fetch_registers (struct regcache *arg0, int arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->fetch_registers (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->fetch_registers (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->fetch_registers (", this->beneath ()->shortname ());
+ target_debug_print_struct_regcache_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::store_registers (struct regcache *arg0, int arg1)
+{
+ this->beneath ()->store_registers (arg0, arg1);
+}
+
+void
+dummy_target::store_registers (struct regcache *arg0, int arg1)
+{
+ noprocess ();
+}
+
+void
+debug_target::store_registers (struct regcache *arg0, int arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->store_registers (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->store_registers (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->store_registers (", this->beneath ()->shortname ());
+ target_debug_print_struct_regcache_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::prepare_to_store (struct regcache *arg0)
+{
+ this->beneath ()->prepare_to_store (arg0);
+}
+
+void
+dummy_target::prepare_to_store (struct regcache *arg0)
+{
+ noprocess ();
+}
+
+void
+debug_target::prepare_to_store (struct regcache *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->prepare_to_store (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->prepare_to_store (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->prepare_to_store (", this->beneath ()->shortname ());
+ target_debug_print_struct_regcache_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::files_info ()
+{
+ this->beneath ()->files_info ();
+}
+
+void
+dummy_target::files_info ()
+{
+}
+
+void
+debug_target::files_info ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->files_info (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->files_info ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->files_info (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+int
+target_ops::insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ return this->beneath ()->insert_breakpoint (arg0, arg1);
+}
+
+int
+dummy_target::insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ noprocess ();
+}
+
+int
+debug_target::insert_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_breakpoint (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_breakpoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_gdbarch_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_bp_target_info_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2)
+{
+ return this->beneath ()->remove_breakpoint (arg0, arg1, arg2);
+}
+
+int
+dummy_target::remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2)
+{
+ noprocess ();
+}
+
+int
+debug_target::remove_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1, enum remove_bp_reason arg2)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_breakpoint (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_breakpoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_gdbarch_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_bp_target_info_p (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_remove_bp_reason (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::stopped_by_sw_breakpoint ()
+{
+ return this->beneath ()->stopped_by_sw_breakpoint ();
+}
+
+bool
+dummy_target::stopped_by_sw_breakpoint ()
+{
+ return false;
+}
+
+bool
+debug_target::stopped_by_sw_breakpoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_by_sw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->stopped_by_sw_breakpoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_by_sw_breakpoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_stopped_by_sw_breakpoint ()
+{
+ return this->beneath ()->supports_stopped_by_sw_breakpoint ();
+}
+
+bool
+dummy_target::supports_stopped_by_sw_breakpoint ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_stopped_by_sw_breakpoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_stopped_by_sw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_stopped_by_sw_breakpoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_stopped_by_sw_breakpoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::stopped_by_hw_breakpoint ()
+{
+ return this->beneath ()->stopped_by_hw_breakpoint ();
+}
+
+bool
+dummy_target::stopped_by_hw_breakpoint ()
+{
+ return false;
+}
+
+bool
+debug_target::stopped_by_hw_breakpoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_by_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->stopped_by_hw_breakpoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_by_hw_breakpoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_stopped_by_hw_breakpoint ()
+{
+ return this->beneath ()->supports_stopped_by_hw_breakpoint ();
+}
+
+bool
+dummy_target::supports_stopped_by_hw_breakpoint ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_stopped_by_hw_breakpoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_stopped_by_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_stopped_by_hw_breakpoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_stopped_by_hw_breakpoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2)
+{
+ return this->beneath ()->can_use_hw_breakpoint (arg0, arg1, arg2);
+}
+
+int
+dummy_target::can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2)
+{
+ return 0;
+}
+
+int
+debug_target::can_use_hw_breakpoint (enum bptype arg0, int arg1, int arg2)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_use_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_use_hw_breakpoint (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_use_hw_breakpoint (", this->beneath ()->shortname ());
+ target_debug_print_enum_bptype (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::ranged_break_num_registers ()
+{
+ return this->beneath ()->ranged_break_num_registers ();
+}
+
+int
+dummy_target::ranged_break_num_registers ()
+{
+ return -1;
+}
+
+int
+debug_target::ranged_break_num_registers ()
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->ranged_break_num_registers (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->ranged_break_num_registers ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->ranged_break_num_registers (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ return this->beneath ()->insert_hw_breakpoint (arg0, arg1);
+}
+
+int
+dummy_target::insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ return -1;
+}
+
+int
+debug_target::insert_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_hw_breakpoint (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_hw_breakpoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_gdbarch_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_bp_target_info_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ return this->beneath ()->remove_hw_breakpoint (arg0, arg1);
+}
+
+int
+dummy_target::remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ return -1;
+}
+
+int
+debug_target::remove_hw_breakpoint (struct gdbarch *arg0, struct bp_target_info *arg1)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_hw_breakpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_hw_breakpoint (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_hw_breakpoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_gdbarch_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_bp_target_info_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
+{
+ return this->beneath ()->remove_watchpoint (arg0, arg1, arg2, arg3);
+}
+
+int
+dummy_target::remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
+{
+ return -1;
+}
+
+int
+debug_target::remove_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_watchpoint (arg0, arg1, arg2, arg3);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_watchpoint (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_target_hw_bp_type (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_expression_p (arg3);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
+{
+ return this->beneath ()->insert_watchpoint (arg0, arg1, arg2, arg3);
+}
+
+int
+dummy_target::insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
+{
+ return -1;
+}
+
+int
+debug_target::insert_watchpoint (CORE_ADDR arg0, int arg1, enum target_hw_bp_type arg2, struct expression *arg3)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_watchpoint (arg0, arg1, arg2, arg3);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_watchpoint (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_target_hw_bp_type (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_expression_p (arg3);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
+{
+ return this->beneath ()->insert_mask_watchpoint (arg0, arg1, arg2);
+}
+
+int
+dummy_target::insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
+{
+ return 1;
+}
+
+int
+debug_target::insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_mask_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_mask_watchpoint (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_mask_watchpoint (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_target_hw_bp_type (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
+{
+ return this->beneath ()->remove_mask_watchpoint (arg0, arg1, arg2);
+}
+
+int
+dummy_target::remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
+{
+ return 1;
+}
+
+int
+debug_target::remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_mask_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_mask_watchpoint (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_mask_watchpoint (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_target_hw_bp_type (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::stopped_by_watchpoint ()
+{
+ return this->beneath ()->stopped_by_watchpoint ();
+}
+
+bool
+dummy_target::stopped_by_watchpoint ()
+{
+ return false;
+}
+
+bool
+debug_target::stopped_by_watchpoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_by_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->stopped_by_watchpoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_by_watchpoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::have_steppable_watchpoint ()
+{
+ return this->beneath ()->have_steppable_watchpoint ();
+}
+
+int
+dummy_target::have_steppable_watchpoint ()
+{
+ return false;
+}
+
+int
+debug_target::have_steppable_watchpoint ()
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->have_steppable_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->have_steppable_watchpoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->have_steppable_watchpoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::stopped_data_address (CORE_ADDR *arg0)
+{
+ return this->beneath ()->stopped_data_address (arg0);
+}
+
+bool
+dummy_target::stopped_data_address (CORE_ADDR *arg0)
+{
+ return false;
+}
+
+bool
+debug_target::stopped_data_address (CORE_ADDR *arg0)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->stopped_data_address (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->stopped_data_address (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->stopped_data_address (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR_p (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+{
+ return this->beneath ()->watchpoint_addr_within_range (arg0, arg1, arg2);
+}
+
+bool
+dummy_target::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+{
+ return default_watchpoint_addr_within_range (this, arg0, arg1, arg2);
+}
+
+bool
+debug_target::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->watchpoint_addr_within_range (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->watchpoint_addr_within_range (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->watchpoint_addr_within_range (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
+{
+ return this->beneath ()->region_ok_for_hw_watchpoint (arg0, arg1);
+}
+
+int
+dummy_target::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
+{
+ return default_region_ok_for_hw_watchpoint (this, arg0, arg1);
+}
+
+int
+debug_target::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->region_ok_for_hw_watchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->region_ok_for_hw_watchpoint (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->region_ok_for_hw_watchpoint (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
+{
+ return this->beneath ()->can_accel_watchpoint_condition (arg0, arg1, arg2, arg3);
+}
+
+bool
+dummy_target::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
+{
+ return false;
+}
+
+bool
+debug_target::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_accel_watchpoint_condition (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_accel_watchpoint_condition (arg0, arg1, arg2, arg3);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_accel_watchpoint_condition (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_expression_p (arg3);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1)
+{
+ return this->beneath ()->masked_watch_num_registers (arg0, arg1);
+}
+
+int
+dummy_target::masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1)
+{
+ return -1;
+}
+
+int
+debug_target::masked_watch_num_registers (CORE_ADDR arg0, CORE_ADDR arg1)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->masked_watch_num_registers (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->masked_watch_num_registers (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->masked_watch_num_registers (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::can_do_single_step ()
+{
+ return this->beneath ()->can_do_single_step ();
+}
+
+int
+dummy_target::can_do_single_step ()
+{
+ return -1;
+}
+
+int
+debug_target::can_do_single_step ()
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_do_single_step (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_do_single_step ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_do_single_step (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_terminal_ours ()
+{
+ return this->beneath ()->supports_terminal_ours ();
+}
+
+bool
+dummy_target::supports_terminal_ours ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_terminal_ours ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_terminal_ours (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_terminal_ours ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_terminal_ours (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::terminal_init ()
+{
+ this->beneath ()->terminal_init ();
+}
+
+void
+dummy_target::terminal_init ()
+{
+}
+
+void
+debug_target::terminal_init ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_init (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->terminal_init ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_init (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::terminal_inferior ()
+{
+ this->beneath ()->terminal_inferior ();
+}
+
+void
+dummy_target::terminal_inferior ()
+{
+}
+
+void
+debug_target::terminal_inferior ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_inferior (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->terminal_inferior ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_inferior (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::terminal_save_inferior ()
+{
+ this->beneath ()->terminal_save_inferior ();
+}
+
+void
+dummy_target::terminal_save_inferior ()
+{
+}
+
+void
+debug_target::terminal_save_inferior ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_save_inferior (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->terminal_save_inferior ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_save_inferior (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::terminal_ours_for_output ()
+{
+ this->beneath ()->terminal_ours_for_output ();
+}
+
+void
+dummy_target::terminal_ours_for_output ()
+{
+}
+
+void
+debug_target::terminal_ours_for_output ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_ours_for_output (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->terminal_ours_for_output ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_ours_for_output (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::terminal_ours ()
+{
+ this->beneath ()->terminal_ours ();
+}
+
+void
+dummy_target::terminal_ours ()
+{
+}
+
+void
+debug_target::terminal_ours ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_ours (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->terminal_ours ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_ours (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::terminal_info (const char *arg0, int arg1)
+{
+ this->beneath ()->terminal_info (arg0, arg1);
+}
+
+void
+dummy_target::terminal_info (const char *arg0, int arg1)
+{
+ default_terminal_info (this, arg0, arg1);
+}
+
+void
+debug_target::terminal_info (const char *arg0, int arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->terminal_info (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->terminal_info (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->terminal_info (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::kill ()
+{
+ this->beneath ()->kill ();
+}
+
+void
+dummy_target::kill ()
+{
+ noprocess ();
+}
+
+void
+debug_target::kill ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->kill (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->kill ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->kill (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::load (const char *arg0, int arg1)
+{
+ this->beneath ()->load (arg0, arg1);
+}
+
+void
+dummy_target::load (const char *arg0, int arg1)
+{
+ tcomplain ();
+}
+
+void
+debug_target::load (const char *arg0, int arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->load (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->load (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->load (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::post_startup_inferior (ptid_t arg0)
+{
+ this->beneath ()->post_startup_inferior (arg0);
+}
+
+void
+dummy_target::post_startup_inferior (ptid_t arg0)
+{
+}
+
+void
+debug_target::post_startup_inferior (ptid_t arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->post_startup_inferior (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->post_startup_inferior (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->post_startup_inferior (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+int
+target_ops::insert_fork_catchpoint (int arg0)
+{
+ return this->beneath ()->insert_fork_catchpoint (arg0);
+}
+
+int
+dummy_target::insert_fork_catchpoint (int arg0)
+{
+ return 1;
+}
+
+int
+debug_target::insert_fork_catchpoint (int arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_fork_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_fork_catchpoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_fork_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_fork_catchpoint (int arg0)
+{
+ return this->beneath ()->remove_fork_catchpoint (arg0);
+}
+
+int
+dummy_target::remove_fork_catchpoint (int arg0)
+{
+ return 1;
+}
+
+int
+debug_target::remove_fork_catchpoint (int arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_fork_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_fork_catchpoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_fork_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::insert_vfork_catchpoint (int arg0)
+{
+ return this->beneath ()->insert_vfork_catchpoint (arg0);
+}
+
+int
+dummy_target::insert_vfork_catchpoint (int arg0)
+{
+ return 1;
+}
+
+int
+debug_target::insert_vfork_catchpoint (int arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_vfork_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_vfork_catchpoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_vfork_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_vfork_catchpoint (int arg0)
+{
+ return this->beneath ()->remove_vfork_catchpoint (arg0);
+}
+
+int
+dummy_target::remove_vfork_catchpoint (int arg0)
+{
+ return 1;
+}
+
+int
+debug_target::remove_vfork_catchpoint (int arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_vfork_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_vfork_catchpoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_vfork_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::follow_fork (int arg0, int arg1)
+{
+ return this->beneath ()->follow_fork (arg0, arg1);
+}
+
+int
+dummy_target::follow_fork (int arg0, int arg1)
+{
+ return default_follow_fork (this, arg0, arg1);
+}
+
+int
+debug_target::follow_fork (int arg0, int arg1)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->follow_fork (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->follow_fork (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->follow_fork (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::insert_exec_catchpoint (int arg0)
+{
+ return this->beneath ()->insert_exec_catchpoint (arg0);
+}
+
+int
+dummy_target::insert_exec_catchpoint (int arg0)
+{
+ return 1;
+}
+
+int
+debug_target::insert_exec_catchpoint (int arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insert_exec_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->insert_exec_catchpoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insert_exec_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::remove_exec_catchpoint (int arg0)
+{
+ return this->beneath ()->remove_exec_catchpoint (arg0);
+}
+
+int
+dummy_target::remove_exec_catchpoint (int arg0)
+{
+ return 1;
+}
+
+int
+debug_target::remove_exec_catchpoint (int arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->remove_exec_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->remove_exec_catchpoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->remove_exec_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::follow_exec (struct inferior *arg0, char *arg1)
+{
+ this->beneath ()->follow_exec (arg0, arg1);
+}
+
+void
+dummy_target::follow_exec (struct inferior *arg0, char *arg1)
+{
+}
+
+void
+debug_target::follow_exec (struct inferior *arg0, char *arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->follow_exec (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->follow_exec (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->follow_exec (", this->beneath ()->shortname ());
+ target_debug_print_struct_inferior_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_char_p (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+int
+target_ops::set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3)
+{
+ return this->beneath ()->set_syscall_catchpoint (arg0, arg1, arg2, arg3);
+}
+
+int
+dummy_target::set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3)
+{
+ return 1;
+}
+
+int
+debug_target::set_syscall_catchpoint (int arg0, bool arg1, int arg2, gdb::array_view<const int> arg3)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->set_syscall_catchpoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->set_syscall_catchpoint (arg0, arg1, arg2, arg3);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->set_syscall_catchpoint (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_bool (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_gdb_array_view_const_int (arg3);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::mourn_inferior ()
+{
+ this->beneath ()->mourn_inferior ();
+}
+
+void
+dummy_target::mourn_inferior ()
+{
+ default_mourn_inferior (this);
+}
+
+void
+debug_target::mourn_inferior ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->mourn_inferior (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->mourn_inferior ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->mourn_inferior (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::pass_signals (int arg0, unsigned char * arg1)
+{
+ this->beneath ()->pass_signals (arg0, arg1);
+}
+
+void
+dummy_target::pass_signals (int arg0, unsigned char * arg1)
+{
+}
+
+void
+debug_target::pass_signals (int arg0, unsigned char * arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->pass_signals (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->pass_signals (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->pass_signals (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_signals (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::program_signals (int arg0, unsigned char * arg1)
+{
+ this->beneath ()->program_signals (arg0, arg1);
+}
+
+void
+dummy_target::program_signals (int arg0, unsigned char * arg1)
+{
+}
+
+void
+debug_target::program_signals (int arg0, unsigned char * arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->program_signals (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->program_signals (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->program_signals (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_signals (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::thread_alive (ptid_t arg0)
+{
+ return this->beneath ()->thread_alive (arg0);
+}
+
+bool
+dummy_target::thread_alive (ptid_t arg0)
+{
+ return false;
+}
+
+bool
+debug_target::thread_alive (ptid_t arg0)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->thread_alive (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->thread_alive (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->thread_alive (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::update_thread_list ()
+{
+ this->beneath ()->update_thread_list ();
+}
+
+void
+dummy_target::update_thread_list ()
+{
+}
+
+void
+debug_target::update_thread_list ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->update_thread_list (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->update_thread_list ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->update_thread_list (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+const char *
+target_ops::pid_to_str (ptid_t arg0)
+{
+ return this->beneath ()->pid_to_str (arg0);
+}
+
+const char *
+dummy_target::pid_to_str (ptid_t arg0)
+{
+ return default_pid_to_str (this, arg0);
+}
+
+const char *
+debug_target::pid_to_str (ptid_t arg0)
+{
+ const char * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->pid_to_str (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->pid_to_str (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->pid_to_str (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_const_char_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+const char *
+target_ops::extra_thread_info (thread_info *arg0)