+
+void
+target_ops::flash_done ()
+{
+ this->beneath ()->flash_done ();
+}
+
+void
+dummy_target::flash_done ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::flash_done ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->flash_done (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->flash_done ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->flash_done (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+const struct target_desc *
+target_ops::read_description ()
+{
+ return this->beneath ()->read_description ();
+}
+
+const struct target_desc *
+dummy_target::read_description ()
+{
+ return NULL;
+}
+
+const struct target_desc *
+debug_target::read_description ()
+{
+ const struct target_desc * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->read_description (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->read_description ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->read_description (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_const_struct_target_desc_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+ptid_t
+target_ops::get_ada_task_ptid (long arg0, long arg1)
+{
+ return this->beneath ()->get_ada_task_ptid (arg0, arg1);
+}
+
+ptid_t
+dummy_target::get_ada_task_ptid (long arg0, long arg1)
+{
+ return default_get_ada_task_ptid (this, arg0, arg1);
+}
+
+ptid_t
+debug_target::get_ada_task_ptid (long arg0, long arg1)
+{
+ ptid_t result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_ada_task_ptid (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_ada_task_ptid (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_ada_task_ptid (", this->beneath ()->shortname ());
+ target_debug_print_long (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_long (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_ptid_t (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3)
+{
+ return this->beneath ()->auxv_parse (arg0, arg1, arg2, arg3);
+}
+
+int
+dummy_target::auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3)
+{
+ return default_auxv_parse (this, arg0, arg1, arg2, arg3);
+}
+
+int
+debug_target::auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->auxv_parse (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->auxv_parse (arg0, arg1, arg2, arg3);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->auxv_parse (", this->beneath ()->shortname ());
+ target_debug_print_gdb_byte_pp (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_gdb_byte_p (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR_p (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR_p (arg3);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4)
+{
+ return this->beneath ()->search_memory (arg0, arg1, arg2, arg3, arg4);
+}
+
+int
+dummy_target::search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4)
+{
+ return default_search_memory (this, arg0, arg1, arg2, arg3, arg4);
+}
+
+int
+debug_target::search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->search_memory (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->search_memory (arg0, arg1, arg2, arg3, arg4);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->search_memory (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_ULONGEST (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_const_gdb_byte_p (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_ULONGEST (arg3);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR_p (arg4);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::can_execute_reverse ()
+{
+ return this->beneath ()->can_execute_reverse ();
+}
+
+bool
+dummy_target::can_execute_reverse ()
+{
+ return false;
+}
+
+bool
+debug_target::can_execute_reverse ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_execute_reverse (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_execute_reverse ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_execute_reverse (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+enum exec_direction_kind
+target_ops::execution_direction ()
+{
+ return this->beneath ()->execution_direction ();
+}
+
+enum exec_direction_kind
+dummy_target::execution_direction ()
+{
+ return default_execution_direction (this);
+}
+
+enum exec_direction_kind
+debug_target::execution_direction ()
+{
+ enum exec_direction_kind result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->execution_direction (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->execution_direction ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->execution_direction (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_enum_exec_direction_kind (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_multi_process ()
+{
+ return this->beneath ()->supports_multi_process ();
+}
+
+bool
+dummy_target::supports_multi_process ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_multi_process ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_multi_process (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_multi_process ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_multi_process (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_enable_disable_tracepoint ()
+{
+ return this->beneath ()->supports_enable_disable_tracepoint ();
+}
+
+bool
+dummy_target::supports_enable_disable_tracepoint ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_enable_disable_tracepoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_enable_disable_tracepoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_enable_disable_tracepoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_enable_disable_tracepoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_disable_randomization ()
+{
+ return this->beneath ()->supports_disable_randomization ();
+}
+
+bool
+dummy_target::supports_disable_randomization ()
+{
+ return find_default_supports_disable_randomization (this);
+}
+
+bool
+debug_target::supports_disable_randomization ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_disable_randomization (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_disable_randomization ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_disable_randomization (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_string_tracing ()
+{
+ return this->beneath ()->supports_string_tracing ();
+}
+
+bool
+dummy_target::supports_string_tracing ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_string_tracing ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_string_tracing (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_string_tracing ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_string_tracing (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::supports_evaluation_of_breakpoint_conditions ()
+{
+ return this->beneath ()->supports_evaluation_of_breakpoint_conditions ();
+}
+
+bool
+dummy_target::supports_evaluation_of_breakpoint_conditions ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_evaluation_of_breakpoint_conditions ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_evaluation_of_breakpoint_conditions (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_evaluation_of_breakpoint_conditions ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_evaluation_of_breakpoint_conditions (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::can_run_breakpoint_commands ()
+{
+ return this->beneath ()->can_run_breakpoint_commands ();
+}
+
+bool
+dummy_target::can_run_breakpoint_commands ()
+{
+ return false;
+}
+
+bool
+debug_target::can_run_breakpoint_commands ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_run_breakpoint_commands (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_run_breakpoint_commands ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_run_breakpoint_commands (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+struct gdbarch *
+target_ops::thread_architecture (ptid_t arg0)
+{
+ return this->beneath ()->thread_architecture (arg0);
+}
+
+struct gdbarch *
+dummy_target::thread_architecture (ptid_t arg0)
+{
+ return default_thread_architecture (this, arg0);
+}
+
+struct gdbarch *
+debug_target::thread_architecture (ptid_t arg0)
+{
+ struct gdbarch * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->thread_architecture (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->thread_architecture (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->thread_architecture (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_struct_gdbarch_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+struct address_space *
+target_ops::thread_address_space (ptid_t arg0)
+{
+ return this->beneath ()->thread_address_space (arg0);
+}
+
+struct address_space *
+dummy_target::thread_address_space (ptid_t arg0)
+{
+ return default_thread_address_space (this, arg0);
+}
+
+struct address_space *
+debug_target::thread_address_space (ptid_t arg0)
+{
+ struct address_space * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->thread_address_space (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->thread_address_space (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->thread_address_space (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_struct_address_space_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::filesystem_is_local ()
+{
+ return this->beneath ()->filesystem_is_local ();
+}
+
+bool
+dummy_target::filesystem_is_local ()
+{
+ return true;
+}
+
+bool
+debug_target::filesystem_is_local ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->filesystem_is_local (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->filesystem_is_local ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->filesystem_is_local (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::trace_init ()
+{
+ this->beneath ()->trace_init ();
+}
+
+void
+dummy_target::trace_init ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::trace_init ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->trace_init (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->trace_init ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->trace_init (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::download_tracepoint (struct bp_location *arg0)
+{
+ this->beneath ()->download_tracepoint (arg0);
+}
+
+void
+dummy_target::download_tracepoint (struct bp_location *arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::download_tracepoint (struct bp_location *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->download_tracepoint (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->download_tracepoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->download_tracepoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_bp_location_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::can_download_tracepoint ()
+{
+ return this->beneath ()->can_download_tracepoint ();
+}
+
+bool
+dummy_target::can_download_tracepoint ()
+{
+ return false;
+}
+
+bool
+debug_target::can_download_tracepoint ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_download_tracepoint (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_download_tracepoint ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_download_tracepoint (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::download_trace_state_variable (const trace_state_variable &arg0)
+{
+ this->beneath ()->download_trace_state_variable (arg0);
+}
+
+void
+dummy_target::download_trace_state_variable (const trace_state_variable &arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::download_trace_state_variable (const trace_state_variable &arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->download_trace_state_variable (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->download_trace_state_variable (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->download_trace_state_variable (", this->beneath ()->shortname ());
+ target_debug_print_const_trace_state_variable_r (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::enable_tracepoint (struct bp_location *arg0)
+{
+ this->beneath ()->enable_tracepoint (arg0);
+}
+
+void
+dummy_target::enable_tracepoint (struct bp_location *arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::enable_tracepoint (struct bp_location *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->enable_tracepoint (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->enable_tracepoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->enable_tracepoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_bp_location_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::disable_tracepoint (struct bp_location *arg0)
+{
+ this->beneath ()->disable_tracepoint (arg0);
+}
+
+void
+dummy_target::disable_tracepoint (struct bp_location *arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::disable_tracepoint (struct bp_location *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->disable_tracepoint (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->disable_tracepoint (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->disable_tracepoint (", this->beneath ()->shortname ());
+ target_debug_print_struct_bp_location_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::trace_set_readonly_regions ()
+{
+ this->beneath ()->trace_set_readonly_regions ();
+}
+
+void
+dummy_target::trace_set_readonly_regions ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::trace_set_readonly_regions ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->trace_set_readonly_regions (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->trace_set_readonly_regions ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->trace_set_readonly_regions (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::trace_start ()
+{
+ this->beneath ()->trace_start ();
+}
+
+void
+dummy_target::trace_start ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::trace_start ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->trace_start (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->trace_start ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->trace_start (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+int
+target_ops::get_trace_status (struct trace_status *arg0)
+{
+ return this->beneath ()->get_trace_status (arg0);
+}
+
+int
+dummy_target::get_trace_status (struct trace_status *arg0)
+{
+ return -1;
+}
+
+int
+debug_target::get_trace_status (struct trace_status *arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_trace_status (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_trace_status (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_trace_status (", this->beneath ()->shortname ());
+ target_debug_print_struct_trace_status_p (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1)
+{
+ this->beneath ()->get_tracepoint_status (arg0, arg1);
+}
+
+void
+dummy_target::get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1)
+{
+ tcomplain ();
+}
+
+void
+debug_target::get_tracepoint_status (struct breakpoint *arg0, struct uploaded_tp *arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_tracepoint_status (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->get_tracepoint_status (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_tracepoint_status (", this->beneath ()->shortname ());
+ target_debug_print_struct_breakpoint_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_uploaded_tp_p (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::trace_stop ()
+{
+ this->beneath ()->trace_stop ();
+}
+
+void
+dummy_target::trace_stop ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::trace_stop ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->trace_stop (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->trace_stop ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->trace_stop (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+int
+target_ops::trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4)
+{
+ return this->beneath ()->trace_find (arg0, arg1, arg2, arg3, arg4);
+}
+
+int
+dummy_target::trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4)
+{
+ return -1;
+}
+
+int
+debug_target::trace_find (enum trace_find_type arg0, int arg1, CORE_ADDR arg2, CORE_ADDR arg3, int *arg4)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->trace_find (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->trace_find (arg0, arg1, arg2, arg3, arg4);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->trace_find (", this->beneath ()->shortname ());
+ target_debug_print_enum_trace_find_type (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg2);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg3);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int_p (arg4);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::get_trace_state_variable_value (int arg0, LONGEST *arg1)
+{
+ return this->beneath ()->get_trace_state_variable_value (arg0, arg1);
+}
+
+bool
+dummy_target::get_trace_state_variable_value (int arg0, LONGEST *arg1)
+{
+ return false;
+}
+
+bool
+debug_target::get_trace_state_variable_value (int arg0, LONGEST *arg1)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_trace_state_variable_value (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_trace_state_variable_value (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_trace_state_variable_value (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_LONGEST_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::save_trace_data (const char *arg0)
+{
+ return this->beneath ()->save_trace_data (arg0);
+}
+
+int
+dummy_target::save_trace_data (const char *arg0)
+{
+ tcomplain ();
+}
+
+int
+debug_target::save_trace_data (const char *arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->save_trace_data (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->save_trace_data (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->save_trace_data (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::upload_tracepoints (struct uploaded_tp **arg0)
+{
+ return this->beneath ()->upload_tracepoints (arg0);
+}
+
+int
+dummy_target::upload_tracepoints (struct uploaded_tp **arg0)
+{
+ return 0;
+}
+
+int
+debug_target::upload_tracepoints (struct uploaded_tp **arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->upload_tracepoints (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->upload_tracepoints (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->upload_tracepoints (", this->beneath ()->shortname ());
+ target_debug_print_struct_uploaded_tp_pp (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::upload_trace_state_variables (struct uploaded_tsv **arg0)
+{
+ return this->beneath ()->upload_trace_state_variables (arg0);
+}
+
+int
+dummy_target::upload_trace_state_variables (struct uploaded_tsv **arg0)
+{
+ return 0;
+}
+
+int
+debug_target::upload_trace_state_variables (struct uploaded_tsv **arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->upload_trace_state_variables (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->upload_trace_state_variables (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->upload_trace_state_variables (", this->beneath ()->shortname ());
+ target_debug_print_struct_uploaded_tsv_pp (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+LONGEST
+target_ops::get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2)
+{
+ return this->beneath ()->get_raw_trace_data (arg0, arg1, arg2);
+}
+
+LONGEST
+dummy_target::get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2)
+{
+ tcomplain ();
+}
+
+LONGEST
+debug_target::get_raw_trace_data (gdb_byte *arg0, ULONGEST arg1, LONGEST arg2)
+{
+ LONGEST result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_raw_trace_data (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_raw_trace_data (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_raw_trace_data (", this->beneath ()->shortname ());
+ target_debug_print_gdb_byte_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_ULONGEST (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_LONGEST (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_LONGEST (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::get_min_fast_tracepoint_insn_len ()
+{
+ return this->beneath ()->get_min_fast_tracepoint_insn_len ();
+}
+
+int
+dummy_target::get_min_fast_tracepoint_insn_len ()
+{
+ return -1;
+}
+
+int
+debug_target::get_min_fast_tracepoint_insn_len ()
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_min_fast_tracepoint_insn_len (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_min_fast_tracepoint_insn_len ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_min_fast_tracepoint_insn_len (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::set_disconnected_tracing (int arg0)
+{
+ this->beneath ()->set_disconnected_tracing (arg0);
+}
+
+void
+dummy_target::set_disconnected_tracing (int arg0)
+{
+}
+
+void
+debug_target::set_disconnected_tracing (int arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->set_disconnected_tracing (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->set_disconnected_tracing (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->set_disconnected_tracing (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::set_circular_trace_buffer (int arg0)
+{
+ this->beneath ()->set_circular_trace_buffer (arg0);
+}
+
+void
+dummy_target::set_circular_trace_buffer (int arg0)
+{
+}
+
+void
+debug_target::set_circular_trace_buffer (int arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->set_circular_trace_buffer (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->set_circular_trace_buffer (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->set_circular_trace_buffer (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::set_trace_buffer_size (LONGEST arg0)
+{
+ this->beneath ()->set_trace_buffer_size (arg0);
+}
+
+void
+dummy_target::set_trace_buffer_size (LONGEST arg0)
+{
+}
+
+void
+debug_target::set_trace_buffer_size (LONGEST arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->set_trace_buffer_size (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->set_trace_buffer_size (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->set_trace_buffer_size (", this->beneath ()->shortname ());
+ target_debug_print_LONGEST (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::set_trace_notes (const char *arg0, const char *arg1, const char *arg2)
+{
+ return this->beneath ()->set_trace_notes (arg0, arg1, arg2);
+}
+
+bool
+dummy_target::set_trace_notes (const char *arg0, const char *arg1, const char *arg2)
+{
+ return false;
+}
+
+bool
+debug_target::set_trace_notes (const char *arg0, const char *arg1, const char *arg2)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->set_trace_notes (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->set_trace_notes (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->set_trace_notes (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_const_char_p (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_const_char_p (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::core_of_thread (ptid_t arg0)
+{
+ return this->beneath ()->core_of_thread (arg0);
+}
+
+int
+dummy_target::core_of_thread (ptid_t arg0)
+{
+ return -1;
+}
+
+int
+debug_target::core_of_thread (ptid_t arg0)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->core_of_thread (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->core_of_thread (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->core_of_thread (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+int
+target_ops::verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2)
+{
+ return this->beneath ()->verify_memory (arg0, arg1, arg2);
+}
+
+int
+dummy_target::verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2)
+{
+ return default_verify_memory (this, arg0, arg1, arg2);
+}
+
+int
+debug_target::verify_memory (const gdb_byte *arg0, CORE_ADDR arg1, ULONGEST arg2)
+{
+ int result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->verify_memory (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->verify_memory (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->verify_memory (", this->beneath ()->shortname ());
+ target_debug_print_const_gdb_byte_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_ULONGEST (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_int (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::get_tib_address (ptid_t arg0, CORE_ADDR *arg1)
+{
+ return this->beneath ()->get_tib_address (arg0, arg1);
+}
+
+bool
+dummy_target::get_tib_address (ptid_t arg0, CORE_ADDR *arg1)
+{
+ tcomplain ();
+}
+
+bool
+debug_target::get_tib_address (ptid_t arg0, CORE_ADDR *arg1)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_tib_address (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_tib_address (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_tib_address (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_CORE_ADDR_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::set_permissions ()
+{
+ this->beneath ()->set_permissions ();
+}
+
+void
+dummy_target::set_permissions ()
+{
+}
+
+void
+debug_target::set_permissions ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->set_permissions (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->set_permissions ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->set_permissions (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1)
+{
+ return this->beneath ()->static_tracepoint_marker_at (arg0, arg1);
+}
+
+bool
+dummy_target::static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1)
+{
+ return false;
+}
+
+bool
+debug_target::static_tracepoint_marker_at (CORE_ADDR arg0, static_tracepoint_marker *arg1)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->static_tracepoint_marker_at (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->static_tracepoint_marker_at (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->static_tracepoint_marker_at (", this->beneath ()->shortname ());
+ target_debug_print_CORE_ADDR (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_static_tracepoint_marker_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+std::vector<static_tracepoint_marker>
+target_ops::static_tracepoint_markers_by_strid (const char *arg0)
+{
+ return this->beneath ()->static_tracepoint_markers_by_strid (arg0);
+}
+
+std::vector<static_tracepoint_marker>
+dummy_target::static_tracepoint_markers_by_strid (const char *arg0)
+{
+ tcomplain ();
+}
+
+std::vector<static_tracepoint_marker>
+debug_target::static_tracepoint_markers_by_strid (const char *arg0)
+{
+ std::vector<static_tracepoint_marker> result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->static_tracepoint_markers_by_strid (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->static_tracepoint_markers_by_strid (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->static_tracepoint_markers_by_strid (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_std_vector_static_tracepoint_marker (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+traceframe_info_up
+target_ops::traceframe_info ()
+{
+ return this->beneath ()->traceframe_info ();
+}
+
+traceframe_info_up
+dummy_target::traceframe_info ()
+{
+ tcomplain ();
+}
+
+traceframe_info_up
+debug_target::traceframe_info ()
+{
+ traceframe_info_up result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->traceframe_info (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->traceframe_info ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->traceframe_info (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_traceframe_info_up (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::use_agent (bool arg0)
+{
+ return this->beneath ()->use_agent (arg0);
+}
+
+bool
+dummy_target::use_agent (bool arg0)
+{
+ tcomplain ();
+}
+
+bool
+debug_target::use_agent (bool arg0)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->use_agent (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->use_agent (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->use_agent (", this->beneath ()->shortname ());
+ target_debug_print_bool (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+bool
+target_ops::can_use_agent ()
+{
+ return this->beneath ()->can_use_agent ();
+}
+
+bool
+dummy_target::can_use_agent ()
+{
+ return false;
+}
+
+bool
+debug_target::can_use_agent ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->can_use_agent (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->can_use_agent ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->can_use_agent (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+struct btrace_target_info *
+target_ops::enable_btrace (ptid_t arg0, const struct btrace_config *arg1)
+{
+ return this->beneath ()->enable_btrace (arg0, arg1);
+}
+
+struct btrace_target_info *
+dummy_target::enable_btrace (ptid_t arg0, const struct btrace_config *arg1)
+{
+ tcomplain ();
+}
+
+struct btrace_target_info *
+debug_target::enable_btrace (ptid_t arg0, const struct btrace_config *arg1)
+{
+ struct btrace_target_info * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->enable_btrace (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->enable_btrace (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->enable_btrace (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_const_struct_btrace_config_p (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_struct_btrace_target_info_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::disable_btrace (struct btrace_target_info *arg0)
+{
+ this->beneath ()->disable_btrace (arg0);
+}
+
+void
+dummy_target::disable_btrace (struct btrace_target_info *arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::disable_btrace (struct btrace_target_info *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->disable_btrace (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->disable_btrace (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->disable_btrace (", this->beneath ()->shortname ());
+ target_debug_print_struct_btrace_target_info_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::teardown_btrace (struct btrace_target_info *arg0)
+{
+ this->beneath ()->teardown_btrace (arg0);
+}
+
+void
+dummy_target::teardown_btrace (struct btrace_target_info *arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::teardown_btrace (struct btrace_target_info *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->teardown_btrace (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->teardown_btrace (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->teardown_btrace (", this->beneath ()->shortname ());
+ target_debug_print_struct_btrace_target_info_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+enum btrace_error
+target_ops::read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2)
+{
+ return this->beneath ()->read_btrace (arg0, arg1, arg2);
+}
+
+enum btrace_error
+dummy_target::read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2)
+{
+ tcomplain ();
+}
+
+enum btrace_error
+debug_target::read_btrace (struct btrace_data *arg0, struct btrace_target_info *arg1, enum btrace_read_type arg2)
+{
+ enum btrace_error result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->read_btrace (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->read_btrace (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->read_btrace (", this->beneath ()->shortname ());
+ target_debug_print_struct_btrace_data_p (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_struct_btrace_target_info_p (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_enum_btrace_read_type (arg2);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_enum_btrace_error (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+const struct btrace_config *
+target_ops::btrace_conf (const struct btrace_target_info *arg0)
+{
+ return this->beneath ()->btrace_conf (arg0);
+}
+
+const struct btrace_config *
+dummy_target::btrace_conf (const struct btrace_target_info *arg0)
+{
+ return NULL;
+}
+
+const struct btrace_config *
+debug_target::btrace_conf (const struct btrace_target_info *arg0)
+{
+ const struct btrace_config * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->btrace_conf (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->btrace_conf (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->btrace_conf (", this->beneath ()->shortname ());
+ target_debug_print_const_struct_btrace_target_info_p (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_const_struct_btrace_config_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+enum record_method
+target_ops::record_method (ptid_t arg0)
+{
+ return this->beneath ()->record_method (arg0);
+}
+
+enum record_method
+dummy_target::record_method (ptid_t arg0)
+{
+ return RECORD_METHOD_NONE;
+}
+
+enum record_method
+debug_target::record_method (ptid_t arg0)
+{
+ enum record_method result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->record_method (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->record_method (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->record_method (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_enum_record_method (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::stop_recording ()
+{
+ this->beneath ()->stop_recording ();
+}
+
+void
+dummy_target::stop_recording ()
+{
+}
+
+void
+debug_target::stop_recording ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->stop_recording (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->stop_recording ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->stop_recording (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::info_record ()
+{
+ this->beneath ()->info_record ();
+}
+
+void
+dummy_target::info_record ()
+{
+}
+
+void
+debug_target::info_record ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->info_record (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->info_record ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->info_record (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::save_record (const char *arg0)
+{
+ this->beneath ()->save_record (arg0);
+}
+
+void
+dummy_target::save_record (const char *arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::save_record (const char *arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->save_record (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->save_record (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->save_record (", this->beneath ()->shortname ());
+ target_debug_print_const_char_p (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::supports_delete_record ()
+{
+ return this->beneath ()->supports_delete_record ();
+}
+
+bool
+dummy_target::supports_delete_record ()
+{
+ return false;
+}
+
+bool
+debug_target::supports_delete_record ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->supports_delete_record (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->supports_delete_record ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->supports_delete_record (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::delete_record ()
+{
+ this->beneath ()->delete_record ();
+}
+
+void
+dummy_target::delete_record ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::delete_record ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->delete_record (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->delete_record ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->delete_record (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::record_is_replaying (ptid_t arg0)
+{
+ return this->beneath ()->record_is_replaying (arg0);
+}
+
+bool
+dummy_target::record_is_replaying (ptid_t arg0)
+{
+ return false;
+}
+
+bool
+debug_target::record_is_replaying (ptid_t arg0)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->record_is_replaying (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->record_is_replaying (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->record_is_replaying (", 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;
+}
+
+bool
+target_ops::record_will_replay (ptid_t arg0, int arg1)
+{
+ return this->beneath ()->record_will_replay (arg0, arg1);
+}
+
+bool
+dummy_target::record_will_replay (ptid_t arg0, int arg1)
+{
+ return false;
+}
+
+bool
+debug_target::record_will_replay (ptid_t arg0, int arg1)
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->record_will_replay (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->record_will_replay (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->record_will_replay (", this->beneath ()->shortname ());
+ target_debug_print_ptid_t (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::record_stop_replaying ()
+{
+ this->beneath ()->record_stop_replaying ();
+}
+
+void
+dummy_target::record_stop_replaying ()
+{
+}
+
+void
+debug_target::record_stop_replaying ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->record_stop_replaying (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->record_stop_replaying ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->record_stop_replaying (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::goto_record_begin ()
+{
+ this->beneath ()->goto_record_begin ();
+}
+
+void
+dummy_target::goto_record_begin ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::goto_record_begin ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->goto_record_begin (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->goto_record_begin ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->goto_record_begin (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::goto_record_end ()
+{
+ this->beneath ()->goto_record_end ();
+}
+
+void
+dummy_target::goto_record_end ()
+{
+ tcomplain ();
+}
+
+void
+debug_target::goto_record_end ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->goto_record_end (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->goto_record_end ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->goto_record_end (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::goto_record (ULONGEST arg0)
+{
+ this->beneath ()->goto_record (arg0);
+}
+
+void
+dummy_target::goto_record (ULONGEST arg0)
+{
+ tcomplain ();
+}
+
+void
+debug_target::goto_record (ULONGEST arg0)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->goto_record (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->goto_record (arg0);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->goto_record (", this->beneath ()->shortname ());
+ target_debug_print_ULONGEST (arg0);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::insn_history (int arg0, gdb_disassembly_flags arg1)
+{
+ this->beneath ()->insn_history (arg0, arg1);
+}
+
+void
+dummy_target::insn_history (int arg0, gdb_disassembly_flags arg1)
+{
+ tcomplain ();
+}
+
+void
+debug_target::insn_history (int arg0, gdb_disassembly_flags arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insn_history (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->insn_history (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insn_history (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_gdb_disassembly_flags (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2)
+{
+ this->beneath ()->insn_history_from (arg0, arg1, arg2);
+}
+
+void
+dummy_target::insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2)
+{
+ tcomplain ();
+}
+
+void
+debug_target::insn_history_from (ULONGEST arg0, int arg1, gdb_disassembly_flags arg2)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insn_history_from (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->insn_history_from (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insn_history_from (", this->beneath ()->shortname ());
+ target_debug_print_ULONGEST (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_gdb_disassembly_flags (arg2);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2)
+{
+ this->beneath ()->insn_history_range (arg0, arg1, arg2);
+}
+
+void
+dummy_target::insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2)
+{
+ tcomplain ();
+}
+
+void
+debug_target::insn_history_range (ULONGEST arg0, ULONGEST arg1, gdb_disassembly_flags arg2)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->insn_history_range (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->insn_history_range (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->insn_history_range (", this->beneath ()->shortname ());
+ target_debug_print_ULONGEST (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_ULONGEST (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_gdb_disassembly_flags (arg2);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::call_history (int arg0, record_print_flags arg1)
+{
+ this->beneath ()->call_history (arg0, arg1);
+}
+
+void
+dummy_target::call_history (int arg0, record_print_flags arg1)
+{
+ tcomplain ();
+}
+
+void
+debug_target::call_history (int arg0, record_print_flags arg1)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->call_history (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->call_history (arg0, arg1);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->call_history (", this->beneath ()->shortname ());
+ target_debug_print_int (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_record_print_flags (arg1);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2)
+{
+ this->beneath ()->call_history_from (arg0, arg1, arg2);
+}
+
+void
+dummy_target::call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2)
+{
+ tcomplain ();
+}
+
+void
+debug_target::call_history_from (ULONGEST arg0, int arg1, record_print_flags arg2)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->call_history_from (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->call_history_from (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->call_history_from (", this->beneath ()->shortname ());
+ target_debug_print_ULONGEST (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_int (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_record_print_flags (arg2);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2)
+{
+ this->beneath ()->call_history_range (arg0, arg1, arg2);
+}
+
+void
+dummy_target::call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2)
+{
+ tcomplain ();
+}
+
+void
+debug_target::call_history_range (ULONGEST arg0, ULONGEST arg1, record_print_flags arg2)
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->call_history_range (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->call_history_range (arg0, arg1, arg2);
+ fprintf_unfiltered (gdb_stdlog, "<- %s->call_history_range (", this->beneath ()->shortname ());
+ target_debug_print_ULONGEST (arg0);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_ULONGEST (arg1);
+ fputs_unfiltered (", ", gdb_stdlog);
+ target_debug_print_record_print_flags (arg2);
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+bool
+target_ops::augmented_libraries_svr4_read ()
+{
+ return this->beneath ()->augmented_libraries_svr4_read ();
+}
+
+bool
+dummy_target::augmented_libraries_svr4_read ()
+{
+ return false;
+}
+
+bool
+debug_target::augmented_libraries_svr4_read ()
+{
+ bool result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->augmented_libraries_svr4_read (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->augmented_libraries_svr4_read ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->augmented_libraries_svr4_read (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_bool (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+const struct frame_unwind *
+target_ops::get_unwinder ()
+{
+ return this->beneath ()->get_unwinder ();
+}
+
+const struct frame_unwind *
+dummy_target::get_unwinder ()
+{
+ return NULL;
+}
+
+const struct frame_unwind *
+debug_target::get_unwinder ()
+{
+ const struct frame_unwind * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_unwinder (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_unwinder ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_unwinder (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_const_struct_frame_unwind_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+const struct frame_unwind *
+target_ops::get_tailcall_unwinder ()
+{
+ return this->beneath ()->get_tailcall_unwinder ();
+}
+
+const struct frame_unwind *
+dummy_target::get_tailcall_unwinder ()
+{
+ return NULL;
+}
+
+const struct frame_unwind *
+debug_target::get_tailcall_unwinder ()
+{
+ const struct frame_unwind * result;
+ fprintf_unfiltered (gdb_stdlog, "-> %s->get_tailcall_unwinder (...)\n", this->beneath ()->shortname ());
+ result = this->beneath ()->get_tailcall_unwinder ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->get_tailcall_unwinder (", this->beneath ()->shortname ());
+ fputs_unfiltered (") = ", gdb_stdlog);
+ target_debug_print_const_struct_frame_unwind_p (result);
+ fputs_unfiltered ("\n", gdb_stdlog);
+ return result;
+}
+
+void
+target_ops::prepare_to_generate_core ()
+{
+ this->beneath ()->prepare_to_generate_core ();
+}
+
+void
+dummy_target::prepare_to_generate_core ()
+{
+}
+
+void
+debug_target::prepare_to_generate_core ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->prepare_to_generate_core (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->prepare_to_generate_core ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->prepare_to_generate_core (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+
+void
+target_ops::done_generating_core ()
+{
+ this->beneath ()->done_generating_core ();
+}
+
+void
+dummy_target::done_generating_core ()
+{
+}
+
+void
+debug_target::done_generating_core ()
+{
+ fprintf_unfiltered (gdb_stdlog, "-> %s->done_generating_core (...)\n", this->beneath ()->shortname ());
+ this->beneath ()->done_generating_core ();
+ fprintf_unfiltered (gdb_stdlog, "<- %s->done_generating_core (", this->beneath ()->shortname ());
+ fputs_unfiltered (")\n", gdb_stdlog);
+}
+