Re: [SRM] Uploading new upstream stable version to Squeeze?
(-cc: -release)
Aurelien Jarno wrote:
> --- a/sysdeps/wordsize-64/tst-writev.c (révision 0)
> +++ b/sysdeps/wordsize-64/tst-writev.c (révision 14168)
> @@ -0,0 +1,107 @@
[...]
> +/* writev() should report that it has written EXPECTED number of bytes. */
> +#define EXPECTED ((size_t) INT32_MAX + 1)
[...]
> + /* Write junk to /dev/null with the writev syscall in order to get a return
> + of INT32_MAX+1 bytes to verify that the INTERNAL_SYSCALL wrappers aren't
> + mangling the result if the signbit of a 32-bit number is set. */
> + ssize_t ret = writev (fd, iv, IOV_MAX);
> +
> + free (iv[0].iov_base);
> + close (fd);
> +
> + if (ret != (ssize_t) EXPECTED)
Just as a reminder, this would need the same workaround that was
applied in Bug#629862, to avoid test failures on machines running
Linux v2.6.37-rc1~40 (readv/writev: do the same MAX_RW_COUNT
truncation that read/write does, 2010-10-29) and later.
Has the testsuite bug been raised upstream? It should be possible to
change the check to something like
/* The kernel very well might refuse to write so much at once,
but any sane kernel will write at least a few kilobytes. */
if (ret < (size_t) 1024)
It would be good to clarify this and the analagous behavior for write()
in POSIX.
Reply to: