{
}
+static int
+delegate_thread_alive (struct target_ops *self, ptid_t arg1)
+{
+ self = self->beneath;
+ return self->to_thread_alive (self, arg1);
+}
+
+static int
+tdefault_thread_alive (struct target_ops *self, ptid_t arg1)
+{
+ return 0;
+}
+
static void
delegate_find_new_threads (struct target_ops *self)
{
return TARGET_XFER_E_IO;
}
+static VEC(mem_region_s) *
+delegate_memory_map (struct target_ops *self)
+{
+ self = self->beneath;
+ return self->to_memory_map (self);
+}
+
+static VEC(mem_region_s) *
+tdefault_memory_map (struct target_ops *self)
+{
+ return 0;
+}
+
static void
delegate_flash_erase (struct target_ops *self, ULONGEST arg1, LONGEST arg2)
{
return self->to_get_ada_task_ptid (self, arg1, arg2);
}
+static int
+delegate_auxv_parse (struct target_ops *self, gdb_byte **arg1, gdb_byte *arg2, CORE_ADDR *arg3, CORE_ADDR *arg4)
+{
+ self = self->beneath;
+ return self->to_auxv_parse (self, arg1, arg2, arg3, arg4);
+}
+
+static int
+delegate_search_memory (struct target_ops *self, CORE_ADDR arg1, ULONGEST arg2, const gdb_byte *arg3, ULONGEST arg4, CORE_ADDR *arg5)
+{
+ self = self->beneath;
+ return self->to_search_memory (self, arg1, arg2, arg3, arg4, arg5);
+}
+
static int
delegate_can_execute_reverse (struct target_ops *self)
{
return 0;
}
+static void
+delegate_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+{
+ self = self->beneath;
+ self->to_disable_btrace (self, arg1);
+}
+
+static void
+tdefault_disable_btrace (struct target_ops *self, struct btrace_target_info *arg1)
+{
+ tcomplain ();
+}
+
+static void
+delegate_save_record (struct target_ops *self, const char *arg1)
+{
+ self = self->beneath;
+ self->to_save_record (self, arg1);
+}
+
+static void
+tdefault_save_record (struct target_ops *self, const char *arg1)
+{
+ tcomplain ();
+}
+
static void
delegate_delete_record (struct target_ops *self)
{
ops->to_pass_signals = delegate_pass_signals;
if (ops->to_program_signals == NULL)
ops->to_program_signals = delegate_program_signals;
+ if (ops->to_thread_alive == NULL)
+ ops->to_thread_alive = delegate_thread_alive;
if (ops->to_find_new_threads == NULL)
ops->to_find_new_threads = delegate_find_new_threads;
if (ops->to_pid_to_str == NULL)
ops->to_goto_bookmark = delegate_goto_bookmark;
if (ops->to_xfer_partial == NULL)
ops->to_xfer_partial = delegate_xfer_partial;
+ if (ops->to_memory_map == NULL)
+ ops->to_memory_map = delegate_memory_map;
if (ops->to_flash_erase == NULL)
ops->to_flash_erase = delegate_flash_erase;
if (ops->to_flash_done == NULL)
ops->to_flash_done = delegate_flash_done;
if (ops->to_get_ada_task_ptid == NULL)
ops->to_get_ada_task_ptid = delegate_get_ada_task_ptid;
+ if (ops->to_auxv_parse == NULL)
+ ops->to_auxv_parse = delegate_auxv_parse;
+ if (ops->to_search_memory == NULL)
+ ops->to_search_memory = delegate_search_memory;
if (ops->to_can_execute_reverse == NULL)
ops->to_can_execute_reverse = delegate_can_execute_reverse;
if (ops->to_execution_direction == NULL)
ops->to_can_use_agent = delegate_can_use_agent;
if (ops->to_supports_btrace == NULL)
ops->to_supports_btrace = delegate_supports_btrace;
+ if (ops->to_disable_btrace == NULL)
+ ops->to_disable_btrace = delegate_disable_btrace;
+ if (ops->to_save_record == NULL)
+ ops->to_save_record = delegate_save_record;
if (ops->to_delete_record == NULL)
ops->to_delete_record = delegate_delete_record;
if (ops->to_record_is_replaying == NULL)
ops->to_mourn_inferior = default_mourn_inferior;
ops->to_pass_signals = tdefault_pass_signals;
ops->to_program_signals = tdefault_program_signals;
+ ops->to_thread_alive = tdefault_thread_alive;
ops->to_find_new_threads = tdefault_find_new_threads;
ops->to_pid_to_str = default_pid_to_str;
ops->to_extra_thread_info = tdefault_extra_thread_info;
ops->to_get_bookmark = tdefault_get_bookmark;
ops->to_goto_bookmark = tdefault_goto_bookmark;
ops->to_xfer_partial = tdefault_xfer_partial;
+ ops->to_memory_map = tdefault_memory_map;
ops->to_flash_erase = tdefault_flash_erase;
ops->to_flash_done = tdefault_flash_done;
ops->to_get_ada_task_ptid = default_get_ada_task_ptid;
+ ops->to_auxv_parse = default_auxv_parse;
+ ops->to_search_memory = default_search_memory;
ops->to_can_execute_reverse = tdefault_can_execute_reverse;
ops->to_execution_direction = default_execution_direction;
ops->to_supports_multi_process = tdefault_supports_multi_process;
ops->to_use_agent = tdefault_use_agent;
ops->to_can_use_agent = tdefault_can_use_agent;
ops->to_supports_btrace = tdefault_supports_btrace;
+ ops->to_disable_btrace = tdefault_disable_btrace;
+ ops->to_save_record = tdefault_save_record;
ops->to_delete_record = tdefault_delete_record;
ops->to_record_is_replaying = tdefault_record_is_replaying;
ops->to_goto_record_begin = tdefault_goto_record_begin;