record-btrace: fix insn range in function call history
authorMarkus Metzger <markus.t.metzger@intel.com>
Tue, 26 Mar 2013 10:32:20 +0000 (11:32 +0100)
committerMarkus Metzger <markus.t.metzger@intel.com>
Thu, 16 Jan 2014 11:45:12 +0000 (12:45 +0100)
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].

2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>

* record-btrace.c (btrace_call_history_insn_range): Print
insn range as [begin, end].

gdb/ChangeLog
gdb/record-btrace.c

index c84ae2d..421c62a 100644 (file)
@@ -1,5 +1,10 @@
 2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
 
+       * record-btrace.c (btrace_call_history_insn_range): Print
+       insn range as [begin, end].
+
+2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>
+
        * btrace.h (struct btrace_func_link): New.
        (enum btrace_function_flag): New.
        (struct btrace_inst): Rename to ...
index 5bdab8d..95d7069 100644 (file)
@@ -424,10 +424,13 @@ 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);
+  gdb_assert (size > 0);
 
   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, "-");