diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c113202081..15d3279915 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2014-02-19 Tom Tromey + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default + to_insert_vfork_catchpoint. + * target.h (struct target_ops) : Use + TARGET_DEFAULT_RETURN. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 98169718d8..f77c0610df 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -348,6 +348,19 @@ tdefault_remove_fork_catchpoint (struct target_ops *self, int arg1) return 1; } +static int +delegate_insert_vfork_catchpoint (struct target_ops *self, int arg1) +{ + self = self->beneath; + return self->to_insert_vfork_catchpoint (self, arg1); +} + +static int +tdefault_insert_vfork_catchpoint (struct target_ops *self, int arg1) +{ + return 1; +} + static void delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2) { @@ -471,6 +484,8 @@ install_delegators (struct target_ops *ops) ops->to_insert_fork_catchpoint = delegate_insert_fork_catchpoint; if (ops->to_remove_fork_catchpoint == NULL) ops->to_remove_fork_catchpoint = delegate_remove_fork_catchpoint; + if (ops->to_insert_vfork_catchpoint == NULL) + ops->to_insert_vfork_catchpoint = delegate_insert_vfork_catchpoint; if (ops->to_rcmd == NULL) ops->to_rcmd = delegate_rcmd; if (ops->to_can_async_p == NULL) @@ -518,6 +533,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_post_startup_inferior = tdefault_post_startup_inferior; ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint; ops->to_remove_fork_catchpoint = tdefault_remove_fork_catchpoint; + ops->to_insert_vfork_catchpoint = tdefault_insert_vfork_catchpoint; ops->to_rcmd = default_rcmd; ops->to_can_async_p = find_default_can_async_p; ops->to_is_async_p = find_default_is_async_p; diff --git a/gdb/target.c b/gdb/target.c index 3f5cb3b70c..a434909d6e 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -632,7 +632,7 @@ update_current_target (void) /* Do not inherit to_post_startup_inferior. */ /* Do not inherit to_insert_fork_catchpoint. */ /* Do not inherit to_remove_fork_catchpoint. */ - INHERIT (to_insert_vfork_catchpoint, t); + /* Do not inherit to_insert_vfork_catchpoint. */ INHERIT (to_remove_vfork_catchpoint, t); /* Do not inherit to_follow_fork. */ INHERIT (to_insert_exec_catchpoint, t); @@ -734,9 +734,6 @@ update_current_target (void) (int (*) (CORE_ADDR, gdb_byte *, int, int, struct mem_attrib *, struct target_ops *)) nomemory); - de_fault (to_insert_vfork_catchpoint, - (int (*) (struct target_ops *, int)) - return_one); de_fault (to_remove_vfork_catchpoint, (int (*) (struct target_ops *, int)) return_one); diff --git a/gdb/target.h b/gdb/target.h index 6bcb1d9772..b270c414e5 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -523,7 +523,8 @@ struct target_ops TARGET_DEFAULT_RETURN (1); int (*to_remove_fork_catchpoint) (struct target_ops *, int) TARGET_DEFAULT_RETURN (1); - int (*to_insert_vfork_catchpoint) (struct target_ops *, int); + int (*to_insert_vfork_catchpoint) (struct target_ops *, int) + TARGET_DEFAULT_RETURN (1); int (*to_remove_vfork_catchpoint) (struct target_ops *, int); int (*to_follow_fork) (struct target_ops *, int, int); int (*to_insert_exec_catchpoint) (struct target_ops *, int);