diff options
author | Pedro Alves <palves@redhat.com> | 2015-03-24 17:50:31 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2015-03-24 17:55:53 +0000 |
commit | 64ce06e4cd025f3486465a0070baad47248ec69e (patch) | |
tree | f9a84c6784f8c55ac1acb95e114cadc05aad662f /gdb/infcall.c | |
parent | 856e7dd6986d26b251d91b7fcd10c08fb57dc73b (diff) | |
download | gdb-64ce06e4cd025f3486465a0070baad47248ec69e.zip gdb-64ce06e4cd025f3486465a0070baad47248ec69e.tar.gz gdb-64ce06e4cd025f3486465a0070baad47248ec69e.tar.bz2 |
Remove 'step' parameters from 'proceed' and 'resume'
The "step" parameters of 'proceed' and 'resume' aren't really useful
as indication of whether run control wants to single-step the target,
as that information must already be retrievable from
currently_stepping. In fact, if currently_stepping disagrees with
whether we single-stepped the target, then things break. Thus instead
of having the same information in two places, this patch removes those
parameters.
Setting 'step_start_function' is the only user of proceed's 'step'
argument, other than passing the 'step' argument down to 'resume' and
debug log output. Move that instead to set_step_frame, where we
already set other related fields.
clear_proceed_status keeps its "step" parameter for now because it
needs to know which set of threads should have their state cleared,
and is called before the "stepping_command" flag is set.
Tested on x86_64 Fedora 20, native and gdbserver.
gdb/ChangeLog:
2015-03-24 Pedro Alves <palves@redhat.com>
* breakpoint.c (until_break_command): Adjust call to proceed.
* gdbthread.h (struct thread_control_state) <stepping_command>:
New field.
* infcall.c (run_inferior_call): Adjust call to proceed.
* infcmd.c (run_command_1, proceed_thread_callback, continue_1):
Adjust calls to proceed.
(set_step_frame): Set the current thread's step_start_function
here.
(step_once): Adjust calls to proceed.
(jump_command, signal_command, until_next_command)
(finish_backward, finish_forward, proceed_after_attach_callback)
(attach_command_post_wait): Adjust calls to proceed.
* infrun.c (proceed_after_vfork_done): Adjust call to proceed.
(do_target_resume): New function, factored out from ...
(resume): ... here. Remove 'step' parameter. Instead, check
currently_stepping to determine whether the thread should be
single-stepped.
(proceed): Remove 'step' parameter and don't set the thread's
step_start_function here. Adjust call to 'resume'.
(handle_inferior_event): Adjust calls to 'resume'.
(switch_back_to_stepped_thread): Use do_target_resume instead of
'resume'.
(keep_going): Adjust calls to 'resume'.
* infrun.h (proceed): Remove 'step' parameter.
(resume): Likewise.
* windows-nat.c (do_initial_windows_stuff): Adjust call to
'resume'.
* mi/mi-main.c (proceed_thread): Adjust call to 'proceed'.
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r-- | gdb/infcall.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c index 705e377..26c64f6 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -405,7 +405,7 @@ run_inferior_call (struct thread_info *call_thread, CORE_ADDR real_pc) { int was_sync = sync_execution; - proceed (real_pc, GDB_SIGNAL_0, 0); + proceed (real_pc, GDB_SIGNAL_0); /* Inferior function calls are always synchronous, even if the target supports asynchronous execution. Do here what |