This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[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