btrace: Add btinfo to instruction interator.
authorTim Wiederhake <tim.wiederhake@intel.com>
Tue, 30 May 2017 10:47:37 +0000 (12:47 +0200)
committerTim Wiederhake <tim.wiederhake@intel.com>
Tue, 30 May 2017 10:49:25 +0000 (12:49 +0200)
This will serve as the access path to the vector of function segments once
the FUNCTION pointer in struct btrace_insn_iterator is removed.

gdb/ChangeLog
gdb/btrace.c
gdb/btrace.h

index 2511044b9a81659a43b9096a0c1c2c379c21d679..d6e5c0365568e7bd5e4445041715f30f1e206744 100644 (file)
@@ -1,3 +1,9 @@
+2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
+
+       * btrace.c (btrace_insn_begin, btrace_insn_end,
+       btrace_find_insn_by_number): Add btinfo to iterator.
+       * btrace.h (struct btrace_insn_iterator): Add btinfo.
+
 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
 
        * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
index 57788ac405ec5dd2a07302112d58d8c8d881f40d..c2d373012144a6ed3894e7e5f2e4c42658a48ea8 100644 (file)
@@ -2291,6 +2291,7 @@ btrace_insn_begin (struct btrace_insn_iterator *it,
   if (bfun == NULL)
     error (_("No trace."));
 
+  it->btinfo = btinfo;
   it->function = bfun;
   it->index = 0;
 }
@@ -2316,6 +2317,7 @@ btrace_insn_end (struct btrace_insn_iterator *it,
   if (length > 0)
     length -= 1;
 
+  it->btinfo = btinfo;
   it->function = bfun;
   it->index = length;
 }
@@ -2519,6 +2521,7 @@ btrace_find_insn_by_number (struct btrace_insn_iterator *it,
       break;
     }
 
+  it->btinfo = btinfo;
   it->function = bfun;
   it->index = number - bfun->insn_offset;
   return 1;
index ab739ecab4d2fa25efbfbb397f1ee1c43e23467c..e567ef7fb056e24db2a6c63b877592b6c05e0e41 100644 (file)
@@ -192,6 +192,9 @@ struct btrace_function
 /* A branch trace instruction iterator.  */
 struct btrace_insn_iterator
 {
+  /* The branch trace information for this thread.  Will never be NULL.  */
+  const struct btrace_thread_info *btinfo;
+
   /* The branch trace function segment containing the instruction.
      Will never be NULL.  */
   const struct btrace_function *function;