aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2012-04-16 15:38:53 +0000
committerYao Qi <yao@codesourcery.com>2012-04-16 15:38:53 +0000
commit80d269391b93449a7a61322326730b117d3211d9 (patch)
tree1733368403d5c98da97eb8975bee8eeb8a395017 /gdb/gdbserver
parentcb4437b8911d52a7a4189597f0d349a9a2b777eb (diff)
downloadgdb-80d269391b93449a7a61322326730b117d3211d9.zip
gdb-80d269391b93449a7a61322326730b117d3211d9.tar.gz
gdb-80d269391b93449a7a61322326730b117d3211d9.tar.bz2
gdb/gdbserver/
* tracepoint.c (cmd_qtstart): Download tracepoints even when they are duplicated on address.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/tracepoint.c15
2 files changed, 17 insertions, 3 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 61d45a5..1c9b9d8 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,10 @@
2012-04-16 Yao Qi <yao@codesourcery.com>
+ * tracepoint.c (cmd_qtstart): Download tracepoints even when they are
+ duplicated on address.
+
+2012-04-16 Yao Qi <yao@codesourcery.com>
+
* tracepoint.c (COPY_FIELD_TO_BUF): New macro.
(struct tracepoint_action_ops) <send>: New field.
(m_tracepoint_action_send, r_tracepoint_action_send): New.
diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index a0fd39e..2d5cb05 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -3244,17 +3244,26 @@ cmd_qtstart (char *packet)
if (tpoint->type == fast_tracepoint)
{
+ int use_agent_p
+ = use_agent && agent_capability_check (AGENT_CAPA_FAST_TRACE);
+
if (prev_ftpoint != NULL
&& prev_ftpoint->address == tpoint->address)
- clone_fast_tracepoint (tpoint, prev_ftpoint);
+ {
+ if (use_agent_p)
+ tracepoint_send_agent (tpoint);
+ else
+ download_tracepoint_1 (tpoint);
+
+ clone_fast_tracepoint (tpoint, prev_ftpoint);
+ }
else
{
/* Tracepoint is installed successfully? */
int installed = 0;
/* Download and install fast tracepoint by agent. */
- if (use_agent
- && agent_capability_check (AGENT_CAPA_FAST_TRACE))
+ if (use_agent_p)
installed = !tracepoint_send_agent (tpoint);
else
{