[binutils-gdb] gdbserver: do not announce static tracepoint support
Tankut Baris Aktemur
aktemur@sourceware.org
Tue Jan 14 09:29:56 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1c3084419a42aab9c65b03f1759248b1251c9fe5
commit 1c3084419a42aab9c65b03f1759248b1251c9fe5
Author: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Date: Tue Jan 14 10:10:30 2025 +0100
gdbserver: do not announce static tracepoint support
Remove the announcement that `qXfer:statictrace:read` and
`StaticTracepoints` are supported. Associated to this, remove the
handling of "qTfSTM", "qTsSTM", and "qTSTMat" packets and the
qXfer:statictrace:read handling.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diff:
---
gdbserver/server.cc | 26 --------------
gdbserver/tracepoint.cc | 95 -------------------------------------------------
gdbserver/tracepoint.h | 4 ---
3 files changed, 125 deletions(-)
diff --git a/gdbserver/server.cc b/gdbserver/server.cc
index 55898f59556..bc591599b02 100644
--- a/gdbserver/server.cc
+++ b/gdbserver/server.cc
@@ -1965,29 +1965,6 @@ handle_qxfer_siginfo (const char *annex,
return the_target->qxfer_siginfo (annex, readbuf, writebuf, offset, len);
}
-/* Handle qXfer:statictrace:read. */
-
-static int
-handle_qxfer_statictrace (const char *annex,
- gdb_byte *readbuf, const gdb_byte *writebuf,
- ULONGEST offset, LONGEST len)
-{
- client_state &cs = get_client_state ();
- ULONGEST nbytes;
-
- if (writebuf != NULL)
- return -2;
-
- if (annex[0] != '\0' || current_thread == NULL
- || cs.current_traceframe == -1)
- return -1;
-
- if (traceframe_read_sdata (cs.current_traceframe, offset,
- readbuf, len, &nbytes))
- return -1;
- return nbytes;
-}
-
/* Helper for handle_qxfer_threads_proper.
Emit the XML to describe the thread of INF. */
@@ -2324,7 +2301,6 @@ static const struct qxfer qxfer_packets[] =
{ "libraries-svr4", handle_qxfer_libraries_svr4 },
{ "osdata", handle_qxfer_osdata },
{ "siginfo", handle_qxfer_siginfo },
- { "statictrace", handle_qxfer_statictrace },
{ "threads", handle_qxfer_threads },
{ "traceframe-info", handle_qxfer_traceframe_info },
};
@@ -2842,9 +2818,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
strcat (own_buf, ";DisconnectedTracing+");
if (gdb_supports_qRelocInsn && target_supports_fast_tracepoints ())
strcat (own_buf, ";FastTracepoints+");
- strcat (own_buf, ";StaticTracepoints+");
strcat (own_buf, ";InstallInTrace+");
- strcat (own_buf, ";qXfer:statictrace:read+");
strcat (own_buf, ";qXfer:traceframe-info:read+");
strcat (own_buf, ";EnableDisableTracepoints+");
strcat (own_buf, ";QTBuffer:size+");
diff --git a/gdbserver/tracepoint.cc b/gdbserver/tracepoint.cc
index 8b503302763..46fff326622 100644
--- a/gdbserver/tracepoint.cc
+++ b/gdbserver/tracepoint.cc
@@ -3791,33 +3791,6 @@ cmd_qtsv (char *packet)
strcpy (packet, "l");
}
-/* Return the first static tracepoint marker, and initialize the state
- machine that will iterate through all the static tracepoints
- markers. */
-
-static void
-cmd_qtfstm (char *packet)
-{
- write_e_static_tracepoints_not_supported (packet);
-}
-
-/* Return additional static tracepoints markers. */
-
-static void
-cmd_qtsstm (char *packet)
-{
- write_e_static_tracepoints_not_supported (packet);
-}
-
-/* Return the definition of the static tracepoint at a given address.
- Result packet is the same as qTsST's. */
-
-static void
-cmd_qtstmat (char *packet)
-{
- write_e_static_tracepoints_not_supported (packet);
-}
-
/* Sent the agent a command to close it. */
void
@@ -4133,21 +4106,6 @@ handle_tracepoint_query (char *packet)
cmd_qtbuffer (packet);
return 1;
}
- else if (strcmp ("qTfSTM", packet) == 0)
- {
- cmd_qtfstm (packet);
- return 1;
- }
- else if (strcmp ("qTsSTM", packet) == 0)
- {
- cmd_qtsstm (packet);
- return 1;
- }
- else if (startswith (packet, "qTSTMat:"))
- {
- cmd_qtstmat (packet);
- return 1;
- }
else if (strcmp ("qTMinFTPILen", packet) == 0)
{
cmd_qtminftpilen (packet);
@@ -5176,59 +5134,6 @@ traceframe_read_tsv (int tsvnum, LONGEST *val)
return !found;
}
-/* Read a requested block of static tracepoint data from a trace
- frame. */
-
-int
-traceframe_read_sdata (int tfnum, ULONGEST offset,
- unsigned char *buf, ULONGEST length,
- ULONGEST *nbytes)
-{
- struct traceframe *tframe;
- unsigned char *database, *dataptr;
- unsigned int datasize;
- unsigned short mlen;
-
- trace_debug ("traceframe_read_sdata");
-
- tframe = find_traceframe (tfnum);
-
- if (!tframe)
- {
- trace_debug ("traceframe %d not found", tfnum);
- return 1;
- }
-
- datasize = tframe->data_size;
- database = &tframe->data[0];
-
- /* Iterate through a traceframe's blocks, looking for static
- tracepoint data. */
- dataptr = traceframe_find_block_type (database, datasize,
- tfnum, 'S');
- if (dataptr != NULL)
- {
- memcpy (&mlen, dataptr, sizeof (mlen));
- dataptr += sizeof (mlen);
- if (offset < mlen)
- {
- if (offset + length > mlen)
- length = mlen - offset;
-
- memcpy (buf, dataptr, length);
- *nbytes = length;
- }
- else
- *nbytes = 0;
- return 0;
- }
-
- trace_debug ("traceframe %d has no static trace data", tfnum);
-
- *nbytes = 0;
- return 0;
-}
-
/* Callback for traceframe_walk_blocks. Builds a traceframe-info
object. DATA is pointer to a string holding the traceframe-info
object being built. */
diff --git a/gdbserver/tracepoint.h b/gdbserver/tracepoint.h
index e74458abbf7..b2e410f1df8 100644
--- a/gdbserver/tracepoint.h
+++ b/gdbserver/tracepoint.h
@@ -87,10 +87,6 @@ int fetch_traceframe_registers (int tfnum,
struct regcache *regcache,
int regnum);
-int traceframe_read_sdata (int tfnum, ULONGEST offset,
- unsigned char *buf, ULONGEST length,
- ULONGEST *nbytes);
-
int traceframe_read_info (int tfnum, std::string *buffer);
/* If a thread is determined to be collecting a fast tracepoint, this
More information about the Gdb-cvs
mailing list