From: Yao Qi Date: Mon, 16 Apr 2012 15:38:53 +0000 (+0000) Subject: gdb/gdbserver/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=80d269391b93449a7a61322326730b117d3211d9;p=binutils-gdb.git gdb/gdbserver/ * tracepoint.c (cmd_qtstart): Download tracepoints even when they are duplicated on address. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 61d45a5aab1..1c9b9d8c5c5 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2012-04-16 Yao Qi + + * tracepoint.c (cmd_qtstart): Download tracepoints even when they are + duplicated on address. + 2012-04-16 Yao Qi * tracepoint.c (COPY_FIELD_TO_BUF): New macro. diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c index a0fd39e18ba..2d5cb058de3 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 {