Remove stop_registers
Now stop_registers are no longer used and it can be removed. I am not much sure what 'proceed_to_finish' really means now so I make a wild guess while updating comments about it. gdb/ChangeLog 2015-05-13 Jan Kratochvil <jan.kratochvil@redhat.com> * gdbthread.h (struct thread_control_state): Update comment for proceed_to_finish. * infcall.c (run_inferior_call): Update comment about proceed_to_finish. * infcmd.c (get_return_value): Update comment about stop_registers. (finish_forward): Update comment about proceed_to_finish. * infrun.c (stop_registers): Remove. (clear_proceed_status, normal_stop): Remove stop_registers handling. * infrun.h (stop_registers): Remove.
This commit is contained in:
parent
8a6c403112
commit
46c03469b3
6 changed files with 16 additions and 38 deletions
|
@ -1,3 +1,15 @@
|
|||
2015-05-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdbthread.h (struct thread_control_state): Update comment for
|
||||
proceed_to_finish.
|
||||
* infcall.c (run_inferior_call): Update comment about
|
||||
proceed_to_finish.
|
||||
* infcmd.c (get_return_value): Update comment about stop_registers.
|
||||
(finish_forward): Update comment about proceed_to_finish.
|
||||
* infrun.c (stop_registers): Remove.
|
||||
(clear_proceed_status, normal_stop): Remove stop_registers handling.
|
||||
* infrun.h (stop_registers): Remove.
|
||||
|
||||
2015-05-13 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* infcall.c (struct dummy_frame_context_saver)
|
||||
|
|
|
@ -118,7 +118,7 @@ struct thread_control_state
|
|||
int trap_expected;
|
||||
|
||||
/* Nonzero if the thread is being proceeded for a "finish" command
|
||||
or a similar situation when stop_registers should be saved. */
|
||||
or a similar situation when return value should be printed. */
|
||||
int proceed_to_finish;
|
||||
|
||||
/* Nonzero if the thread is being proceeded for an inferior function
|
||||
|
|
|
@ -398,7 +398,7 @@ run_inferior_call (struct thread_info *call_thread, CORE_ADDR real_pc)
|
|||
|
||||
disable_watchpoints_before_interactive_call_start ();
|
||||
|
||||
/* We want stop_registers, please... */
|
||||
/* We want to print return value, please... */
|
||||
call_thread->control.proceed_to_finish = 1;
|
||||
|
||||
TRY
|
||||
|
|
|
@ -1519,7 +1519,7 @@ get_return_value (struct value *function, struct type *value_type,
|
|||
struct value *value;
|
||||
struct cleanup *cleanup = make_cleanup (null_cleanup, NULL);
|
||||
|
||||
/* If stop_registers were not saved, use the current registers. */
|
||||
/* If registers were not saved, use the current registers. */
|
||||
if (ctx_saver != NULL)
|
||||
stop_regs = dummy_frame_context_saver_get_regs (ctx_saver);
|
||||
else
|
||||
|
@ -1786,7 +1786,7 @@ finish_forward (struct symbol *function, struct frame_info *frame)
|
|||
set_longjmp_breakpoint (tp, frame_id);
|
||||
make_cleanup (delete_longjmp_breakpoint_cleanup, &thread);
|
||||
|
||||
/* We want stop_registers, please... */
|
||||
/* We want to print return value, please... */
|
||||
tp->control.proceed_to_finish = 1;
|
||||
cargs = xmalloc (sizeof (*cargs));
|
||||
|
||||
|
|
27
gdb/infrun.c
27
gdb/infrun.c
|
@ -353,13 +353,6 @@ show_stop_on_solib_events (struct ui_file *file, int from_tty,
|
|||
|
||||
int stop_after_trap;
|
||||
|
||||
/* Save register contents here when executing a "finish" command or are
|
||||
about to pop a stack dummy frame, if-and-only-if proceed_to_finish is set.
|
||||
Thus this contains the return value from the called function (assuming
|
||||
values are returned in a register). */
|
||||
|
||||
struct regcache *stop_registers;
|
||||
|
||||
/* Nonzero after stop if current stack frame should be printed. */
|
||||
|
||||
static int stop_print_frame;
|
||||
|
@ -2505,12 +2498,6 @@ clear_proceed_status (int step)
|
|||
clear_step_over_info ();
|
||||
|
||||
observer_notify_about_to_proceed ();
|
||||
|
||||
if (stop_registers)
|
||||
{
|
||||
regcache_xfree (stop_registers);
|
||||
stop_registers = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Returns true if TP is still stopped at a breakpoint that needs
|
||||
|
@ -6697,20 +6684,6 @@ normal_stop (void)
|
|||
print_stop_event (&last);
|
||||
}
|
||||
|
||||
/* Save the function value return registers, if we care.
|
||||
We might be about to restore their previous contents. */
|
||||
if (inferior_thread ()->control.proceed_to_finish
|
||||
&& execution_direction != EXEC_REVERSE)
|
||||
{
|
||||
/* This should not be necessary. */
|
||||
if (stop_registers)
|
||||
regcache_xfree (stop_registers);
|
||||
|
||||
/* NB: The copy goes through to the target picking up the value of
|
||||
all the registers. */
|
||||
stop_registers = regcache_dup (get_current_regcache ());
|
||||
}
|
||||
|
||||
if (stop_stack_dummy == STOP_STACK_DUMMY)
|
||||
{
|
||||
/* Pop the empty frame that contains the stack dummy.
|
||||
|
|
|
@ -73,13 +73,6 @@ enum exec_direction_kind
|
|||
compatible with make_cleanup_restore_integer. */
|
||||
extern int execution_direction;
|
||||
|
||||
/* Save register contents here when executing a "finish" command or
|
||||
are about to pop a stack dummy frame, if-and-only-if
|
||||
proceed_to_finish is set. Thus this contains the return value from
|
||||
the called function (assuming values are returned in a
|
||||
register). */
|
||||
extern struct regcache *stop_registers;
|
||||
|
||||
extern void start_remote (int from_tty);
|
||||
|
||||
/* Clear out all variables saying what to do when inferior is
|
||||
|
|
Loading…
Reference in a new issue