mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-13 13:49:00 +08:00
convert to_decr_pc_after_break
This converts to_decr_pc_after_break to the new style of delegation, removing forward_target_decr_pc_after_break. 2014-02-19 Tom Tromey <tromey@redhat.com> * record-btrace.c (record_btrace_decr_pc_after_break): Delegate directly. * target-delegates.c: Rebuild. * target.h (struct target_ops) <to_decr_pc_after_break>: Use TARGET_DEFAULT_FUNC. * target.c (default_target_decr_pc_after_break): Rename from forward_target_decr_pc_after_break. Simplify. (target_decr_pc_after_break): Rely on delegation.
This commit is contained in:
parent
596b6b39ab
commit
c0eca49f4e
@ -1,3 +1,14 @@
|
||||
2014-02-19 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* record-btrace.c (record_btrace_decr_pc_after_break): Delegate
|
||||
directly.
|
||||
* target-delegates.c: Rebuild.
|
||||
* target.h (struct target_ops) <to_decr_pc_after_break>: Use
|
||||
TARGET_DEFAULT_FUNC.
|
||||
* target.c (default_target_decr_pc_after_break): Rename from
|
||||
forward_target_decr_pc_after_break. Simplify.
|
||||
(target_decr_pc_after_break): Rely on delegation.
|
||||
|
||||
2014-02-19 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* target.c (update_current_target): Do not INHERIT to_doc or
|
||||
|
@ -1737,7 +1737,7 @@ record_btrace_decr_pc_after_break (struct target_ops *ops,
|
||||
if (record_btrace_is_replaying (ops))
|
||||
return 0;
|
||||
|
||||
return forward_target_decr_pc_after_break (ops->beneath, gdbarch);
|
||||
return ops->beneath->to_decr_pc_after_break (ops->beneath, gdbarch);
|
||||
}
|
||||
|
||||
/* The to_find_new_threads method of target record-btrace. */
|
||||
|
@ -1572,6 +1572,13 @@ tdefault_augmented_libraries_svr4_read (struct target_ops *self)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static CORE_ADDR
|
||||
delegate_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
|
||||
{
|
||||
self = self->beneath;
|
||||
return self->to_decr_pc_after_break (self, arg1);
|
||||
}
|
||||
|
||||
static void
|
||||
install_delegators (struct target_ops *ops)
|
||||
{
|
||||
@ -1837,6 +1844,8 @@ install_delegators (struct target_ops *ops)
|
||||
ops->to_call_history_range = delegate_call_history_range;
|
||||
if (ops->to_augmented_libraries_svr4_read == NULL)
|
||||
ops->to_augmented_libraries_svr4_read = delegate_augmented_libraries_svr4_read;
|
||||
if (ops->to_decr_pc_after_break == NULL)
|
||||
ops->to_decr_pc_after_break = delegate_decr_pc_after_break;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1973,4 +1982,5 @@ install_dummy_methods (struct target_ops *ops)
|
||||
ops->to_call_history_from = tdefault_call_history_from;
|
||||
ops->to_call_history_range = tdefault_call_history_range;
|
||||
ops->to_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read;
|
||||
ops->to_decr_pc_after_break = default_target_decr_pc_after_break;
|
||||
}
|
||||
|
15
gdb/target.c
15
gdb/target.c
@ -108,6 +108,9 @@ static int find_default_is_async_p (struct target_ops *ignore);
|
||||
static enum exec_direction_kind default_execution_direction
|
||||
(struct target_ops *self);
|
||||
|
||||
static CORE_ADDR default_target_decr_pc_after_break (struct target_ops *ops,
|
||||
struct gdbarch *gdbarch);
|
||||
|
||||
#include "target-delegates.c"
|
||||
|
||||
static void init_dummy_target (void);
|
||||
@ -3842,16 +3845,12 @@ target_get_tailcall_unwinder (void)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* See target.h. */
|
||||
/* Default implementation of to_decr_pc_after_break. */
|
||||
|
||||
CORE_ADDR
|
||||
forward_target_decr_pc_after_break (struct target_ops *ops,
|
||||
static CORE_ADDR
|
||||
default_target_decr_pc_after_break (struct target_ops *ops,
|
||||
struct gdbarch *gdbarch)
|
||||
{
|
||||
for (; ops != NULL; ops = ops->beneath)
|
||||
if (ops->to_decr_pc_after_break != NULL)
|
||||
return ops->to_decr_pc_after_break (ops, gdbarch);
|
||||
|
||||
return gdbarch_decr_pc_after_break (gdbarch);
|
||||
}
|
||||
|
||||
@ -3860,7 +3859,7 @@ forward_target_decr_pc_after_break (struct target_ops *ops,
|
||||
CORE_ADDR
|
||||
target_decr_pc_after_break (struct gdbarch *gdbarch)
|
||||
{
|
||||
return forward_target_decr_pc_after_break (current_target.beneath, gdbarch);
|
||||
return current_target.to_decr_pc_after_break (¤t_target, gdbarch);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -1117,7 +1117,8 @@ struct target_ops
|
||||
after executing a breakpoint instruction.
|
||||
Defaults to gdbarch_decr_pc_after_break (GDBARCH). */
|
||||
CORE_ADDR (*to_decr_pc_after_break) (struct target_ops *ops,
|
||||
struct gdbarch *gdbarch);
|
||||
struct gdbarch *gdbarch)
|
||||
TARGET_DEFAULT_FUNC (default_target_decr_pc_after_break);
|
||||
|
||||
int to_magic;
|
||||
/* Need sub-structure for target machine related rather than comm related?
|
||||
|
Loading…
x
Reference in New Issue
Block a user