Tom Tromey
a730474877
convert to_supports_multi_process
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_supports_multi_process.
* target.h (struct target_ops) <to_supports_multi_process>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:39 -07:00
Tom Tromey
4229b31de2
convert to_get_ada_task_ptid
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_get_ada_task_ptid.
* target.h (struct target_ops) <to_get_ada_task_ptid>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:38 -07:00
Tom Tromey
43eba18084
convert to_thread_architecture
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_thread_architecture.
* target.h (struct target_ops) <to_thread_architecture>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:37 -07:00
Tom Tromey
fe31bf5b9e
convert to_execution_direction
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_execution_direction.
* target.h (struct target_ops) <to_execution_direction>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:36 -07:00
Tom Tromey
53e1cfc77f
convert to_can_execute_reverse
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_can_execute_reverse.
* target.h (struct target_ops) <to_can_execute_reverse>: Use
TARGET_DEFAULT_RETURN.
(target_can_execute_reverse): Unconditionally delegate.
2014-02-19 07:47:35 -07:00
Tom Tromey
9bb9d61d2f
convert to_goto_bookmark
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_goto_bookmark.
(dummy_goto_bookmark): Remove.
(init_dummy_target): Don't inherit or default to_goto_bookmark.
* target.h (struct target_ops) <to_goto_bookmark>: Use
TARGET_DEFAULT_NORETURN.
2014-02-19 07:47:34 -07:00
Tom Tromey
3dbafbbb27
convert to_get_bookmark
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_get_bookmark.
(dummy_get_bookmark): Remove.
(init_dummy_target): Don't inherit or default to_get_bookmark.
* target.h (struct target_ops) <to_get_bookmark>: Use
TARGET_DEFAULT_NORETURN
2014-02-19 07:47:33 -07:00
Tom Tromey
16f796b16a
convert to_make_corefile_notes
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_make_corefile_notes.
(init_dummy_target): Don't initialize to_make_corefile_notes.
* target.h (struct target_ops) <to_make_corefile_notes>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:32 -07:00
Tom Tromey
0b5a271985
convert to_find_memory_regions
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_find_memory_regions.
(init_dummy_target): Don't initialize to_find_memory_regions.
* target.h (struct target_ops) <to_find_memory_regions>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:31 -07:00
Tom Tromey
d9cb019581
convert to_log_command
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_log_command.
* target.h (struct target_ops) <to_log_command>: Use
TARGET_DEFAULT_IGNORE.
(target_log_command): Unconditionally delegate.
2014-02-19 07:47:30 -07:00
Tom Tromey
830ca33050
convert to_pid_to_exec_file
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_pid_to_exec_file.
* target.h (struct target_ops) <to_pid_to_exec_file>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:30 -07:00
Tom Tromey
825828fcf3
convert to_thread_name
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_thread_name.
(target_thread_name): Unconditionally delegate.
* target.h (struct target_ops) <to_thread_name>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:29 -07:00
Tom Tromey
4a7e6dda8a
convert to_extra_thread_info
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_extra_thread_info.
* target.h (struct target_ops) <to_extra_thread_info>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:28 -07:00
Tom Tromey
0db88c1ddc
convert to_has_exited
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_has_exited.
* target.h (struct target_ops) <to_has_exited>: Use
TARGET_DEFAULT_RETURN..
2014-02-19 07:47:27 -07:00
Tom Tromey
6a9fa05147
convert to_set_syscall_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_set_syscall_catchpoint.
(return_one): Remove.
* target.h (struct target_ops) <to_set_syscall_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:26 -07:00
Tom Tromey
cda0f38c9e
convert to_remove_exec_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_insert_exec_catchpoint.
* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:25 -07:00
Tom Tromey
62f64d7a6a
convert to_insert_exec_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_insert_exec_catchpoint.
* target.h (struct target_ops) <to_insert_exec_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:24 -07:00
Tom Tromey
95c3375e47
convert to_remove_vfork_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_remove_vfork_catchpoint.
* target.h (struct target_ops) <to_remove_vfork_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:23 -07:00
Tom Tromey
7e18a8dc59
convert to_insert_vfork_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_insert_vfork_catchpoint.
* target.h (struct target_ops) <to_insert_vfork_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:22 -07:00
Tom Tromey
e1a21fb7aa
convert to_remove_fork_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_remove_fork_catchpoint.
* target.h (struct target_ops) <to_remove_fork_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:21 -07:00
Tom Tromey
5958ebeb13
convert to_insert_fork_catchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_insert_fork_catchpoint.
* target.h (struct target_ops) <to_insert_fork_catchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:20 -07:00
Tom Tromey
340ba4bf67
convert to_post_startup_inferior
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_post_startup_inferior.
* target.h (struct target_ops) <to_post_startup_inferior>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:19 -07:00
Tom Tromey
7634da8766
convert to_load
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_load.
* target.h (struct target_ops) <to_load>: Use
TARGET_DEFAULT_NORETURN.
2014-02-19 07:47:18 -07:00
Tom Tromey
e19e919fea
convert to_terminal_info
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_terminal_info.
* target.h (struct target_ops) <to_terminal_info>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:17 -07:00
Tom Tromey
c6ea8f7983
convert to_terminal_save_ours
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_terminal_save_ours.
* target.h (struct target_ops) <to_terminal_save_ours>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:16 -07:00
Tom Tromey
e4a733f17e
convert to_terminal_ours
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_terminal_ours.
* target.h (struct target_ops) <to_terminal_ours>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:15 -07:00
Tom Tromey
74fcbef986
convert to_terminal_ours_for_output
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_terminal_ours_for_output.
* target.h (struct target_ops) <to_terminal_ours_for_output>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:15 -07:00
Tom Tromey
ddeaacc9e1
convert to_terminal_inferior
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_terminal_inferior.
* target.h (struct target_ops) <to_terminal_inferior>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:14 -07:00
Tom Tromey
0343661d23
convert to_terminal_init
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_terminal_init.
* target.h (struct target_ops) <to_terminal_init>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:13 -07:00
Tom Tromey
77cdffe90e
convert to_can_accel_watchpoint_condition
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_can_accel_watchpoint_condition.
* target.h (struct target_ops)
<to_can_accel_watchpoint_condition>: Use TARGET_DEFAULT_RETURN.
2014-02-19 07:47:12 -07:00
Tom Tromey
d03655e4a5
convert to_region_ok_for_hw_watchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_region_ok_for_hw_watchpoint.
* target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
Use TARGET_DEFAULT_FUNC.
2014-02-19 07:47:11 -07:00
Tom Tromey
65f160a9b3
convert to_watchpoint_addr_within_range
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_watchpoint_addr_within_range.
* target.h (struct target_ops) <to_watchpoint_addr_within_range>:
Use TARGET_DEFAULT_FUNC.
2014-02-19 07:47:10 -07:00
Tom Tromey
61dd109f60
convert to_remove_watchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_remove_watchpoint.
* target.h (struct target_ops) <to_remove_watchpoint>: Use
TARGET_DEFAULT_NORETURN.
2014-02-19 07:47:09 -07:00
Tom Tromey
016facd45b
convert to_insert_watchpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_insert_watchpoint.
* target.h (struct target_ops) <to_insert_watchpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:08 -07:00
Tom Tromey
418dabacd2
convert to_remove_hw_breakpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_remove_hw_breakpoint.
* target.h (struct target_ops) <to_remove_hw_breakpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:07 -07:00
Tom Tromey
61b371f944
convert to_insert_hw_breakpoint
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_insert_hw_breakpoint.
* target.h (struct target_ops) <to_insert_hw_breakpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:06 -07:00
Tom Tromey
52b51d06f8
convert to_can_use_hw_breakpoint
...
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_hw_breakpoint.
* target.h (struct target_ops) <to_can_use_hw_breakpoint>: Use
TARGET_DEFAULT_RETURN.
2014-02-19 07:47:05 -07:00
Tom Tromey
f86e59b2d1
convert to_files_info
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_files_info.
* target.h (struct target_ops) <to_files_info>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:04 -07:00
Tom Tromey
6c62816386
convert to_prepare_to_store
...
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 07:47:03 -07:00
Tom Tromey
bebd3233bf
convert to_post_attach
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_post_attach.
* target.h (struct target_ops) <to_post_attach>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:02 -07:00
Tom Tromey
a53f36250e
convert to_rcmd
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_rcmd.
(default_rcmd): New function.
(do_monitor_command): Unconditionally delegate.
* target.h (struct target_ops) <to_rmcd>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:01 -07:00
Tom Tromey
e9a2920092
convert to_attach
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (init_dummy_target): Don't initialize to_attach.
(target_attach): Unconditionally delegate.
* target.h (struct target_ops) <to_attach>: Use
TARGET_DEFAULT_FUNC.
2014-02-19 07:47:01 -07:00
Tom Tromey
09da0d0ae7
convert to_detach
...
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (target_detach): Unconditionally delegate.
(init_dummy_target): Don't initialize to_detach.
* target.h (struct target_ops) <to_detach>: Use
TARGET_DEFAULT_IGNORE.
2014-02-19 07:47:00 -07:00
Tom Tromey
46917d26c8
convert to_supports_btrace
...
This adds a "self" argument to to_supports_btrace. Due to how one
implementation of this method is shared with gdbserver this required a
small change to gdbserver as well.
2014-02-19 Tom Tromey <tromey@redhat.com>
* common/linux-btrace.c (linux_supports_btrace): Add "ops"
argument.
* common/linux-btrace.h (linux_supports_btrace): Update.
* remote.c (remote_supports_btrace): Add "self" argument.
* target-delegates.c: Rebuild.
* target.c (target_supports_btrace): Remove.
* target.h (struct target_ops) <to_supports_btrace>: Add
target_ops argument.
(target_supports_btrace): New define.
2014-02-19 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <supports_btrace>: Add target_ops
argument.
(target_supports_btrace): Update.
2014-02-19 07:45:26 -07:00
Tom Tromey
6b84065d0e
add target method delegation
...
This patch replaces some code in the record targets with target method
delegation.
record-full.c stores pointers to many target methods when the record
target is pushed. Then it later delegates some calls via these. This
is wrong because it violates the target stack contract. In particular
it is ok to unpush a target at any stratum, but record-full does not
keep track of this, so it could potentially call into an unpushed
target.
This patch fixes the problem by using the newly-introduced generic
approach to target delegation for the methods in question.
2014-02-19 Tom Tromey <tromey@redhat.com>
* record-full.c (record_full_beneath_to_resume_ops)
(record_full_beneath_to_resume, record_full_beneath_to_wait_ops)
(record_full_beneath_to_wait)
(record_full_beneath_to_store_registers_ops)
(record_full_beneath_to_store_registers)
(record_full_beneath_to_xfer_partial_ops)
(record_full_beneath_to_xfer_partial)
(record_full_beneath_to_insert_breakpoint_ops)
(record_full_beneath_to_insert_breakpoint)
(record_full_beneath_to_remove_breakpoint_ops)
(record_full_beneath_to_remove_breakpoint)
(record_full_beneath_to_stopped_by_watchpoint)
(record_full_beneath_to_stopped_data_address)
(record_full_beneath_to_async, tmp_to_resume_ops, tmp_to_resume)
(tmp_to_wait_ops, tmp_to_wait, tmp_to_store_registers_ops)
(tmp_to_store_registers, tmp_to_xfer_partial_ops)
(tmp_to_xfer_partial, tmp_to_instmp_to_insert_breakpoint_ops)
(tmp_to_insert_breakpoint, tmp_to_remove_breakpoint_ops)
(tmp_to_remove_breakpoint, tmp_to_stopped_by_watchpoint)
(tmp_to_stopped_data_address, tmp_to_async): Remove.
(record_full_open_1, record_full_open): Update. Use RECORD_IS_USED.
(record_full_resume, record_full_wait_1)
(record_full_stopped_by_watchpoint, record_full_stopped_data_address)
(record_full_store_registers, record_full_xfer_partial)
(record_full_insert_breakpoint, record_full_remove_breakpoint)
(record_full_async, record_full_core_xfer_partial): Use target
delegation.
* target-delegates.c: Rebuild.
* target.c (current_xfer_partial): Remove.
(update_current_target): Do not INHERIT or de_fault
to_insert_breakpoint, to_remove_breakpoint,
to_stopped_data_address, to_stopped_by_watchpoint, to_can_async_p,
to_is_async_p, to_async. Do not set to_xfer_partial field.
(default_xfer_partial): Simplify.
(current_xfer_partial): Remove.
(target_wait, target_resume): Simplify.
(find_default_can_async_p, find_default_is_async_p): Update.
(init_dummy_target): Don't set to_can_async_p, to_is_async_p,
to_xfer_partial, to_stopped_by_watchpoint,
to_stopped_data_address.
(target_store_registers): Simplify.
(forward_target_remove_breakpoint)
(forward_target_insert_breakpoint): Remove.
(target_remove_breakpoint, target_insert_breakpoint)
(debug_to_insert_breakpoint, debug_to_remove_breakpoint): Update.
* target.h (struct target_ops) <to_resume, to_wait,
to_store_registers, to_insert_breakpoint, to_remove_breakpoint,
to_stopped_by_watchpoint, to_stopped_data_address, to_can_async_p,
to_is_async_p, to_async, to_xfer_partial>: Add TARGET_DEFAULT
markup.
(forward_target_remove_breakpoint)
(forward_target_insert_breakpoint): Remove.
* record-btrace.c (record_btrace_remove_breakpoint): Delegate
directly.
(record_btrace_insert_breakpoint): Delegate directly.
2014-02-19 07:45:25 -07:00
Tom Tromey
1101cb7b3b
add make-target-delegates
...
This patch adds a new script, call make-target-delegates, which
auto-generates some target delegation code based on annotations in
target.h. This adds the new delegation macros, the new generated
file, and adds the necessary calls to the new generated functions to
target.c. It doesn't, however, add any actual annotations to the
target methods, leaving these for separate patches.
2014-02-19 Tom Tromey <tromey@redhat.com>
PR build/7701:
* target-delegates.c: New file.
* target.c: Include target-delegates.c.
(init_dummy_target): Call install_dummy_methods.
(complete_target_initialization): Call install_delegators.
* target.h (TARGET_DEFAULT_IGNORE, TARGET_DEFAULT_NORETURN)
(TARGET_DEFAULT_RETURN, TARGET_DEFAULT_FUNC): New defines.
* make-target-delegates: New file.
2014-02-19 07:45:24 -07:00