[PATCH v3 2/2] posix: Implement preadv2 and pwritev2

H.J. Lu hjl.tools@gmail.com
Sat Jun 3 12:57:00 GMT 2017


On Sat, Jun 3, 2017 at 5:52 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> On Jun 03 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote:
>
>> BTW, LO_HI_LONG_FLAGS is still needed for x32
>
> Why?

For targets which define __ARCH_WANT_COMPAT_SYS_PREADV64V2 and
__ARCH_WANT_COMPAT_SYS_PWRITEV64V2,

(unsigned long fd, {const }struct iovec *iov, unsigned long vlen,
 unsigned long pos, int flags)

will be used for p{readv,writev}{64}v2.  X32 is the only such target.   The
64-bit pos and int flags are passed as 2 arguments to kernel here.  It is
incorrect to pass "pos, 0, flags" to kernel.

-- 
H.J.



More information about the Libc-alpha mailing list