Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Abhay Kandpal <abhay@linux.ibm.com>
To: gdb-patches@sourceware.org
Cc: aburgess@redhat.com, Ulrich.Weigand@de.ibm.com, eliz@gnu.org,
	cel@linux.ibm.com, abhay.k@ibm.com,
	Abhay Kandpal <abhay@linux.ibm.com>
Subject: [PATCH v4 0/2] Widen the stat fields in the remote protocol
Date: Thu, 29 Oct 2026 04:21:22 -0500	[thread overview]
Message-ID: <20261029092124.233055-1-abhay@linux.ibm.com> (raw)

The struct fio_stat used by the remote protocol declares st_dev,
st_ino, st_nlink, st_rdev and the three timestamps as 4 bytes, so
those values are truncated on a 64-bit host.  On a large xfs
filesystem this makes gdb.server/fileio-packets.exp fail.  PR 34567.

  1/2  vFile packets (GDB asking gdbserver): a new 'stat64'
       qSupported feature selects a wide struct.

  2/2  F-packet file-i/o calls (the target asking GDB): new
       Fstat64 and Ffstat64 calls write the wide struct.  An older
       GDB replies ENOSYS, so a target can fall back to Fstat.

Changes in v4:

1/2, addressing Ulrich's and Andrew's review:
- Pack struct stat directly into the negotiated form, dropping the
  wide-to-narrow conversion and its helpers.
- Reuse remote_fileio_to_host_ulong and host_to_fileio_ulong.
- Factor the three vFile stat replies into hostio_send_stat_reply.
- Reset the stat64 feature flag on each new connection.
- Move the truncation warning into host_to_fileio_uint and
  host_to_fileio_time.  These are shared with the F-packet path, so
  GDB's Fstat and Ffstat now warn on truncation too.
- Style fixes, and commit message corrections: seven fields, not
  six, and no ChangeLog.

2/2:
- Drop the ChangeLog.  Whether F-packet support is wanted is still
  open; 2/2 can be dropped without affecting 1/2.

Both patches are rebased on current master.

Abhay Kandpal (2):
  gdbserver: widen the stat fields returned by the vFile packets
  gdb: add stat64 and fstat64 to the F-packet file-i/o protocol

 gdb/NEWS                                   | 23 +++++
 gdb/doc/gdb.texinfo                        | 96 +++++++++++++++++++++
 gdb/remote-fileio.c                        | 97 +++++++++++++++++++---
 gdb/remote-fileio.h                        |  5 ++
 gdb/remote.c                               | 35 ++++++--
 gdb/testsuite/gdb.server/fileio-packets.py | 59 ++++++++-----
 gdbserver/hostio.cc                        | 77 ++++++++---------
 gdbserver/hostio.h                         |  1 +
 gdbserver/server.cc                        |  5 +-
 gdbserver/server.h                         |  5 ++
 gdbsupport/fileio.cc                       | 32 +++++++
 gdbsupport/fileio.h                        | 48 +++++++++--
 12 files changed, 398 insertions(+), 85 deletions(-)

-- 
2.51.1


             reply	other threads:[~2026-10-29  9:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-29  9:21 Abhay Kandpal [this message]
2026-10-29  9:21 ` [PATCH v4 1/2] gdbserver: widen the stat fields returned by the vFile packets Abhay Kandpal
2026-10-29  9:21 ` [PATCH v4 2/2] gdb: add stat64 and fstat64 to the F-packet file-i/o protocol Abhay Kandpal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261029092124.233055-1-abhay@linux.ibm.com \
    --to=abhay@linux.ibm.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=abhay.k@ibm.com \
    --cc=aburgess@redhat.com \
    --cc=cel@linux.ibm.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox