Hi Andrew, I've implemented the two-struct approach with qSupported negotiation as you described, and it works - gdb.server/fileio-packets.exp now passes on the xfs filesystem where it was failing, and there are no unexpected failures in the full testsuite on two machines. One thing before I post the patch. I've only changed the vFile packets, not the F-packet path. The two uses of fio_stat look quite different once you follow them through. vFile sends the struct as packet data between GDB and gdbserver (hostio_reply_with_data and fileio_process_fstat_and_lstat_reply), so qSupported negotiation works there. The F-packet path writes the struct directly into inferior memory (remote_fileio_func_stat, target_write_memory), where the inferior reads it as the 64-byte layout documented in the manual under "struct stat". I don't see a way to change that layout without breaking existing targets, and the manual describes st_ino there as having "no valid meaning for the target, transmitted unchanged", and says members "could eventually get truncated on the target". So my reading is that the F-packet layout should stay as it is. I will share the patch soon. Thanks Abhay On 27/08/26 12:13, Abhay Kandpal wrote: > th directions.