This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 2/4] record: set stop_pc in "record goto" command
- From: Pedro Alves <palves at redhat dot com>
- To: Markus Metzger <markus dot t dot metzger at intel dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 08 Jul 2015 14:41:56 +0100
- Subject: Re: [PATCH 2/4] record: set stop_pc in "record goto" command
- Authentication-results: sourceware.org; auth=none
- References: <1436360074-8625-1-git-send-email-markus dot t dot metzger at intel dot com> <1436360074-8625-2-git-send-email-markus dot t dot metzger at intel dot com>
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