[PATCH 2/4] record: set stop_pc in "record goto" command

Pedro Alves palves@redhat.com
Wed Jul 8 13:42:00 GMT 2015


On 07/08/2015 01:54 PM, Markus Metzger wrote:

> 2015-07-08  Markus Metzger <markus.t.metzger@intel.com>
> 
> gdb/
> 	* record-btrace.c (record_btrace_goto_begin, record_btrace_goto_end)
> 	record_btrace_goto): Set stop_pc.  Call reinit_frame_cache.
> 	* record-full.c (record_full_goto_entry): Set stop_pc.
> 
> testsuite/
> 	* gdb.btrace/record_goto-step.exp: New.
> ---
>  gdb/record-btrace.c                           |  6 ++++
>  gdb/record-full.c                             |  1 +
>  gdb/testsuite/gdb.btrace/record_goto-step.exp | 46 +++++++++++++++++++++++++++
>  3 files changed, 53 insertions(+)
>  create mode 100644 gdb/testsuite/gdb.btrace/record_goto-step.exp
> 
> diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
> index 969e01b..3870400 100644
> --- a/gdb/record-btrace.c
> +++ b/gdb/record-btrace.c
> @@ -2227,6 +2227,8 @@ record_btrace_goto_begin (struct target_ops *self)
>    btrace_insn_begin (&begin, &tp->btrace);
>    record_btrace_set_replay (tp, &begin);
>  
> +  reinit_frame_cache ();
> +  stop_pc = regcache_read_pc (get_current_regcache ());

I think you should do this within record_btrace_set_replay,
instead of doing the same in several places.

Also, I don't think you need the reinit_frame_cache call, as the
registers_changed_ptid calls in
record_btrace_set_replay/record_btrace_stop_replaying take care of
it already.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list