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

Richard Purdie
2021-08-11T21:38:27Z

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.

It is probably only a question of time before some program is using F_SETPIPE_SZ
too :(

Cheers,

Richard