gdb/gdbserver/
authorYao Qi <yao@codesourcery.com>
Mon, 16 Apr 2012 15:38:53 +0000 (15:38 +0000)
committerYao Qi <yao@codesourcery.com>
Mon, 16 Apr 2012 15:38:53 +0000 (15:38 +0000)
* tracepoint.c (cmd_qtstart): Download tracepoints even when they are
duplicated on address.

gdb/gdbserver/ChangeLog
gdb/gdbserver/tracepoint.c

index 61d45a5..1c9b9d8 100644 (file)
@@ -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.
index a0fd39e..2d5cb05 100644 (file)
@@ -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
                    {