diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2025-01-14 10:10:30 +0100 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2025-01-14 10:27:58 +0100 |
commit | 1c3084419a42aab9c65b03f1759248b1251c9fe5 (patch) | |
tree | 435fb8884c4ffb7a5b7a52ed7b1fdcf421df3d17 | |
parent | 30cd0a421c6f3923cbc25385580e10f2b1158693 (diff) | |
download | binutils-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.cc | 26 | ||||
-rw-r--r-- | gdbserver/tracepoint.cc | 95 | ||||
-rw-r--r-- | gdbserver/tracepoint.h | 4 |
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 |