[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