[patch v4 04/24] record-btrace: fix insn range in function call history
Jan Kratochvil
jan.kratochvil@redhat.com
Sun Aug 18 19:06:00 GMT 2013
On Wed, 03 Jul 2013 11:14:14 +0200, Markus Metzger wrote:
> With the "/i" modifier, we print the instruction number range in the
> "record function-call-history" command as [begin, end).
>
> It would be more intuitive if we printed the range as [begin, end].
>
> 2013-07-03 Markus Metzger <markus.t.metzger@intel.com>
>
> * record-btrace.c (btrace_call_history_insn_range): Print
> insn range as [begin, end].
>
>
> ---
> gdb/record-btrace.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
> index 2e7c639..d9a2ba7 100644
> --- a/gdb/record-btrace.c
> +++ b/gdb/record-btrace.c
> @@ -425,10 +425,14 @@ static void
> btrace_call_history_insn_range (struct ui_out *uiout,
> const struct btrace_function *bfun)
> {
> - unsigned int begin, end;
> + unsigned int begin, end, size;
> +
> + size = VEC_length (btrace_insn_s, bfun->insn);
> + if (size == 0)
> + return;
The current code seems to assert INSN cannot be empty.
So 'if (size == 0)' should be replaced by gdb_assert or removed at all.
>
> begin = bfun->insn_offset;
> - end = begin + VEC_length (btrace_insn_s, bfun->insn);
> + end = begin + size - 1;
>
> ui_out_field_uint (uiout, "insn begin", begin);
> ui_out_text (uiout, "-");
> --
> 1.7.1
More information about the Gdb-patches
mailing list