This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: tst-preadvwritev, tst-preadvwritev64 failing for MIPS n32
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: Joseph Myers <joseph at codesourcery dot com>, libc-alpha at sourceware dot org
- Date: Mon, 4 Jul 2016 10:13:00 -0300
- Subject: Re: tst-preadvwritev, tst-preadvwritev64 failing for MIPS n32
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1607012349570.27720@digraph.polyomino.org.uk>
On 01/07/2016 20:54, Joseph Myers wrote:
> With the consolidated preadv and pwritev implementations, I see
>
> FAIL: misc/tst-preadvwritev
> FAIL: misc/tst-preadvwritev64
>
> for MIPS n32 (note: since these are new tests I haven't confirmed whether
> the problem was actually introduced by the consolidation, or present
> before). The failures are:
>
> error: first PWRITEV returned -1 (line 70)
>
> Note: for these syscalls n32 uses the compat implementation in the kernel
> (as required to use the compat iovec structure), meaning the off_t
> arguments are passed in two separate registers.
>
It is an issue with consolidation patch, the LO_HI_LONG should be guarded
as:
/* Provide a macro to pass the off{64}_t argument on p{readv,writev}{64}. */
-#if __WORDSIZE == 64 || defined __ASSUME_WORDSIZE64_ILP32
+#ifdef __OFF_T_MATCHES_OFF64_T
# define LO_HI_LONG(val) (val)
#else
# define LO_HI_LONG(val) \
I will send with this change.