diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/target-delegates.c | 16 | ||||
-rw-r--r-- | gdb/target.c | 5 | ||||
-rw-r--r-- | gdb/target.h | 3 |
4 files changed, 27 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5b76e52..8002644 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -2,6 +2,14 @@ * target-delegates.c: Rebuild. * target.c (update_current_target): Don't inherit or default + to_augmented_libraries_svr4_read. + * target.h (struct target_ops) <to_augmented_libraries_svr4_read>: + Use TARGET_DEFAULT_RETURN. + +2014-02-19 Tom Tromey <tromey@redhat.com> + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default to_can_use_agent. * target.h (struct target_ops) <to_can_use_agent>: Use TARGET_DEFAULT_RETURN. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 8e11dfd..0ddfbc1 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -1023,6 +1023,19 @@ tdefault_supports_btrace (struct target_ops *self) return 0; } +static int +delegate_augmented_libraries_svr4_read (struct target_ops *self) +{ + self = self->beneath; + return self->to_augmented_libraries_svr4_read (self); +} + +static int +tdefault_augmented_libraries_svr4_read (struct target_ops *self) +{ + return 0; +} + static void install_delegators (struct target_ops *ops) { @@ -1198,6 +1211,8 @@ install_delegators (struct target_ops *ops) 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_augmented_libraries_svr4_read == NULL) + ops->to_augmented_libraries_svr4_read = delegate_augmented_libraries_svr4_read; } static void @@ -1289,4 +1304,5 @@ install_dummy_methods (struct target_ops *ops) 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_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read; } diff --git a/gdb/target.c b/gdb/target.c index b874ce0..0178f56 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -713,7 +713,7 @@ update_current_target (void) /* Do not inherit to_traceframe_info. */ /* Do not inherit to_use_agent. */ /* Do not inherit to_can_use_agent. */ - INHERIT (to_augmented_libraries_svr4_read, t); + /* Do not inherit to_augmented_libraries_svr4_read. */ INHERIT (to_magic, t); INHERIT (to_supports_evaluation_of_breakpoint_conditions, t); INHERIT (to_can_run_breakpoint_commands, t); @@ -754,9 +754,6 @@ update_current_target (void) de_fault (to_can_run_breakpoint_commands, (int (*) (struct target_ops *)) return_zero); - de_fault (to_augmented_libraries_svr4_read, - (int (*) (struct target_ops *)) - return_zero); #undef de_fault diff --git a/gdb/target.h b/gdb/target.h index c891192..7dfe61a 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -1060,7 +1060,8 @@ struct target_ops /* Nonzero if TARGET_OBJECT_LIBRARIES_SVR4 may be read with a non-empty annex. */ - int (*to_augmented_libraries_svr4_read) (struct target_ops *); + int (*to_augmented_libraries_svr4_read) (struct target_ops *) + TARGET_DEFAULT_RETURN (0); /* Those unwinders are tried before any other arch unwinders. Use NULL if it is not used. */ |