aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2025-01-14 10:10:30 +0100
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2025-01-14 10:27:58 +0100
commit1c3084419a42aab9c65b03f1759248b1251c9fe5 (patch)
tree435fb8884c4ffb7a5b7a52ed7b1fdcf421df3d17
parent30cd0a421c6f3923cbc25385580e10f2b1158693 (diff)
downloadbinutils-1c3084419a42aab9c65b03f1759248b1251c9fe5.zip
binutils-1c3084419a42aab9c65b03f1759248b1251c9fe5.tar.gz
binutils-1c3084419a42aab9c65b03f1759248b1251c9fe5.tar.bz2
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>
-rw-r--r--gdbserver/server.cc26
-rw-r--r--gdbserver/tracepoint.cc95
-rw-r--r--gdbserver/tracepoint.h4
3 files changed, 0 insertions, 125 deletions
diff --git a/gdbserver/server.cc b/gdbserver/server.cc
index 55898f5..bc59159 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 8b50330..46fff32 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 e74458a..b2e410f 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