From: Jan Kratochvil Date: Wed, 13 May 2015 18:47:33 +0000 (+0200) Subject: Remove stop_registers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=46c03469b37d2ccb6a1eaa3ea4e21c57d07246fc;p=binutils-gdb.git 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 * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1d6cd4d6017..0b386227791 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +2015-05-13 Jan Kratochvil + + * 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 * infcall.c (struct dummy_frame_context_saver) diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h index ff7cec2d0ea..0926f5f1c13 100644 --- a/gdb/gdbthread.h +++ b/gdb/gdbthread.h @@ -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 diff --git a/gdb/infcall.c b/gdb/infcall.c index d7515dd5f49..5dd908d88d0 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -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 diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 3d6c4c9a616..03282a71da0 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -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)); diff --git a/gdb/infrun.c b/gdb/infrun.c index a4f0b9f02e3..71cf208e41f 100644 --- a/gdb/infrun.c +++ b/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. diff --git a/gdb/infrun.h b/gdb/infrun.h index 1f09e41ca60..75bb075fc1c 100644 --- a/gdb/infrun.h +++ b/gdb/infrun.h @@ -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