[v3,0/3] Introduce the 'x' RSP packet

Message ID cover.1712648465.git.tankut.baris.aktemur@intel.com
Headers
Series Introduce the 'x' RSP packet |

Message

Aktemur, Tankut Baris April 9, 2024, 7:48 a.m. UTC
  Hello,

This series introduces the 'x' packet to fetch data from the memory of
a remote target in binary format to reduce the transfer overhead.
Please see the last patch for time measurements in three sample cases.

V1 is available at

  https://sourceware.org/pipermail/gdb-patches/2024-March/207235.html

V2 is available at

  https://sourceware.org/pipermail/gdb-patches/2024-March/207270.html

It made the following updates:

  * Fine-tune the documentation of the 'm' packet to address Eli's
    and Tom's comments.

  * Update the "binary data" section in the documentation to note that
    'E' should be escaped.

  * Remove "(e.g.  shared library files)" from a comment message to
    not create confusion.

  * Add time measurement of the gcore command for a case before and after
    applying the patch.

  * Update the NEWS entry to include the arguments of the 'x' packet.

  * Update the documentation of the 'x' packet in a similar way to the 'm'
    packet done in the first bullet.

  * Remove a DIAGNOSTIC usage for a switch statement.  Add a default case
    instead.

  * Add handling of the 'x' packet case in the `look_up_one_symbol` function.

This version (v3) makes the following updates:

  * Define the success reply to the 'x' packet to start with a 'b' marker,
    so that the 'E' byte in binary data does not need to be escaped.

  * Use probing to check for the 'x' packet support instead using 'qSupported'.

A remaining open is to document what happens if a 0-length access is
requested in an 'x' packet.  Whether this should be a success or failure
will be specified based on the discussion of another email thread.

Regards
Baris

Tankut Baris Aktemur (3):
  doc: fine-tune the documentation of the 'm' RSP packet
  gdbserver: allow suppressing the next putpkt remote-debug log
  gdb, gdbserver: introduce the 'x' RSP packet for binary memory read

 gdb/NEWS                  |   6 +++
 gdb/doc/gdb.texinfo       |  40 ++++++++++++---
 gdb/remote.c              |  86 ++++++++++++++++++++++++++------
 gdbserver/debug.cc        |  10 ++++
 gdbserver/debug.h         |  10 ++++
 gdbserver/remote-utils.cc | 101 +++++++++++++++++++++++++++++++++-----
 gdbserver/remote-utils.h  |   2 +
 gdbserver/server.cc       |  29 +++++++++++
 8 files changed, 252 insertions(+), 32 deletions(-)