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]

[PATCH 2/2] Compute traceframe usuage per tracepoint on demand.


Hi,
This patch fixes this problem by computing the traceframe usage when
replying to packet 'qTP'.

gdb/gdbserver:

2012-12-11  Yao Qi  <yao@codesourcery.com>

	* tracepoint.c (cmd_qtp): Compute the traceframe usage of a
	tracepoint.
---
 gdb/gdbserver/tracepoint.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 1526838..ecc85ab 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -3674,6 +3674,8 @@ cmd_qtp (char *own_buf)
   ULONGEST num, addr;
   struct tracepoint *tpoint;
   char *packet = own_buf;
+  struct traceframe *tframe;
+  uint64_t traceframe_usage = 0;
 
   packet += strlen ("qTP:");
 
@@ -3692,8 +3694,16 @@ cmd_qtp (char *own_buf)
       return;
     }
 
+  /* Compute the traceframe usage of tracepoint whose number is
+     NUM.  */
+  for (tframe = FIRST_TRACEFRAME ();
+       tframe->tpnum != 0;
+       tframe = NEXT_TRACEFRAME (tframe))
+    if (tframe->tpnum == num)
+      traceframe_usage += tframe->data_size;
+
   sprintf (own_buf, "V%" PRIu64 ":%" PRIu64 "", tpoint->hit_count,
-	   tpoint->traceframe_usage);
+	   traceframe_usage);
 }
 
 /* State variables to help return all the tracepoint bits.  */
-- 
1.7.7.6


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