public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Corinna Vinschen <vinschen@redhat.com>
To: Pedro Alves <palves@redhat.com>
Cc: Julio Guerra <julio@farjump.io>, gdb-patches@sourceware.org
Subject: Re: [PATCH] Do not clear the value of st_dev in File I/O's stat()
Date: Mon, 28 May 2018 10:50:00 -0000	[thread overview]
Message-ID: <20180528104153.GA3501@calimero.vinschen.de> (raw)
In-Reply-To: <9445cc6c-a954-7cdf-d0dc-47a18e596db3@redhat.com>

Hi Pedro,

On May 17 15:36, Pedro Alves wrote:
> [Hi Corinna, adding you in case you still happen to remember
> any of this and have any input.  If not, that's fine.]

Sorry for the late reply, just back from vacation.  I remember this
stuff patially only, but in terms of st_dev, I recall some discussion.

> On 05/17/2018 09:28 AM, Julio Guerra wrote:
> > Do not clear the value of st_dev in the fileio stat structure sent to the
> > target. It prevents from being able to check the file type on the target.
> > Note that the fileio function fstat `remote_fileio_func_fstat()` doesn't clear
> > this field.
> 
> Curious.  This looked like was written in a way like you'd write if you
> had a reason to so I did some archaeology to try to find what it was, see
> if the reason is still valid.
> 
> I found the original File I/O protocol proposal here:
> 
>   https://www.sourceware.org/ml/gdb/2002-11/msg00107.html
> 
> and in there, in the intro, it said:
> 
> ~~~~~
>   The protocol is only used for files on the host file system and
>   for I/O on the console.  Character or block special devices, pipes,
>   named pipes or sockets or any other communication method on the host
>   system are not supported by this protocol.
> ~~~~~
> 
> and further below, in "B.3 struct stat", it says:
> 
> ~~~~~
>   The values of several fields have a restricted meaning and/or
>   range of values.
> 
>     st_dev:	0	file
> 		1	console
> ~~~~~
> 
> And the current manual also says:
> 
>  @item st_dev
>  A value of 0 represents a file, 1 the console.
> [...]

The idea was that st_dev values on one system don't make sense on
another system.  Also, st_dev values for files reflect the underlying
partition on the inferior system, which doesn't mean anything to the GDB
host system.

I don't know how important backward compat is here, but there may
be code out there which still relies on the simple file vs. console
st_dev from stat().  Version check?

Other than that, if you think that this is an outdated approach, just
make sure to change the docs as well.


HTH,
Corinna

  parent reply	other threads:[~2018-05-28 10:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20180517082631.26855-1-julio@farjump.io>
2018-05-17 10:32 ` Julio Guerra
2018-05-17 15:31   ` Pedro Alves
     [not found]     ` <496efebf-0f96-4586-de39-0a1857994f04@farjump.io>
2018-05-18 18:29       ` Julio Guerra
2018-05-28 10:50     ` Corinna Vinschen [this message]
     [not found]       ` <6f5980ae-247c-1991-ba3c-884fe04a94c5@farjump.io>
2018-05-28 12:49         ` Julio Guerra
2018-05-28 13:18           ` Pedro Alves

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=20180528104153.GA3501@calimero.vinschen.de \
    --to=vinschen@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=julio@farjump.io \
    --cc=palves@redhat.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).