+2014-02-19 Tom Tromey <tromey@redhat.com>
+
+ * target-delegates.c: Rebuild.
+ * target.c (update_current_target): Don't inherit or default
+ to_store.
+ * target.h (struct target_ops) <to_store>: Use
+ TARGET_DEFAULT_NORETURN.
+
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
noprocess ();
}
+static void
+delegate_prepare_to_store (struct target_ops *self, struct regcache *arg1)
+{
+ self = self->beneath;
+ self->to_prepare_to_store (self, arg1);
+}
+
+static void
+tdefault_prepare_to_store (struct target_ops *self, struct regcache *arg1)
+{
+ noprocess ();
+}
+
static int
delegate_insert_breakpoint (struct target_ops *self, struct gdbarch *arg1, struct bp_target_info *arg2)
{
ops->to_wait = delegate_wait;
if (ops->to_store_registers == NULL)
ops->to_store_registers = delegate_store_registers;
+ if (ops->to_prepare_to_store == NULL)
+ ops->to_prepare_to_store = delegate_prepare_to_store;
if (ops->to_insert_breakpoint == NULL)
ops->to_insert_breakpoint = delegate_insert_breakpoint;
if (ops->to_remove_breakpoint == NULL)
ops->to_resume = tdefault_resume;
ops->to_wait = tdefault_wait;
ops->to_store_registers = tdefault_store_registers;
+ ops->to_prepare_to_store = tdefault_prepare_to_store;
ops->to_insert_breakpoint = memory_insert_breakpoint;
ops->to_remove_breakpoint = memory_remove_breakpoint;
ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint;
/* Do not inherit to_wait. */
/* Do not inherit to_fetch_registers. */
/* Do not inherit to_store_registers. */
- INHERIT (to_prepare_to_store, t);
+ /* Do not inherit to_prepare_to_store. */
INHERIT (deprecated_xfer_memory, t);
INHERIT (to_files_info, t);
/* Do not inherit to_insert_breakpoint. */
de_fault (to_close,
(void (*) (struct target_ops *))
target_ignore);
- de_fault (to_prepare_to_store,
- (void (*) (struct target_ops *, struct regcache *))
- noprocess);
de_fault (deprecated_xfer_memory,
(int (*) (CORE_ADDR, gdb_byte *, int, int,
struct mem_attrib *, struct target_ops *))
void (*to_fetch_registers) (struct target_ops *, struct regcache *, int);
void (*to_store_registers) (struct target_ops *, struct regcache *, int)
TARGET_DEFAULT_NORETURN (noprocess ());
- void (*to_prepare_to_store) (struct target_ops *, struct regcache *);
+ void (*to_prepare_to_store) (struct target_ops *, struct regcache *)
+ TARGET_DEFAULT_NORETURN (noprocess ());
/* Transfer LEN bytes of memory between GDB address MYADDR and
target address MEMADDR. If WRITE, transfer them to the target, else