Re: [OE-core] [pseudo][PATCH] fcntl: Add support for F_GETPIPE_SZ

Mike Crowe
2021-08-13T10:11:51Z

On Thursday 12 August 2021 at 08:46:08 +0100, Mike Crowe via lists.openembedded.org wrote:
> On Wednesday 11 August 2021 at 22:38:23 +0100, Richard Purdie wrote:
> > On Wed, 2021-08-11 at 16:58 +0100, Mike Crowe via lists.openembedded.org wrote:
> > > When running the test suite on my Debian 11 box I see many occurrences
> > > of:
> > >
> > >  unknown fcntl argument 1032, assuming long argument.
> > >
> > > (for example from test-execl.sh.)
> > >
> > > It appears that this is F_GETPIPE_SZ and it takes no arguments. Let's
> > > add it to avoid the warning messages.
> > >
> > > I could add F_SETPIPE_SZ too, but that apparently takes an int argument
> > > which would mean moving the va_arg call into the switch statement. :(
> > >
> > > Signed-off-by: Mike Crowe <mac@mcrowe.com>
> > > ---
> > >  ports/linux/guts/fcntl.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > >
> > > diff --git a/ports/linux/guts/fcntl.c b/ports/linux/guts/fcntl.c
> > > index 434c7f3..e9c6140 100644
> > > --- a/ports/linux/guts/fcntl.c
> > > +++ b/ports/linux/guts/fcntl.c
> > > @@ -37,6 +37,9 @@
> > >   case F_GETOWN:
> > >   case F_GETSIG:
> > >   case F_GETLEASE:
> > > +#if defined(F_GETPIPE_SZ)
> > > + case F_GETPIPE_SZ:
> > > +#endif
> > >   rc = real_fcntl(fd, cmd);
> > >   break;
> > >   /* long argument */
> >
> > This goes make to making pseudo host specific which will break uninative/sstate.
> > We'll probably have to add a define if it isn't defined to get the behaviour we
> > need.
>
> Good point. I should have realised that.

Having said that, why doesn't that concern apply to F_DUPFD_CLOEXEC too? Do
we not care about systems that are so old that they don't have
F_DUPFD_CLOEXEC? In which case, why other with the #ifdef at all?

Similarly for F_OFD_GETLK and friends.

Mike.