This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch v4 04/24] record-btrace: fix insn range in function call history


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]