Le mar. 28 janv. 2025 à 10:21, Arnd Bergmann <
arnd@arndb.de> a écrit :
On Tue, Jan 28, 2025, at 09:38, Jérémy Lal wrote:
> Le mar. 28 janv. 2025 à 09:29, Arnd Bergmann <arnd@arndb.de> a écrit :
>>
>> The bit I don't understand is why libuv was ever getting built
>> without largefile support. It probably makes sense to change that
>> for all architectures regardless of time64 support, but this
>> is likely an ABI break and requires rebuilding all libuv users
>> in turn.
>
> It builds fine in a i386 chroot on barriere.d.o with
> https://github.com/libuv/libuv/pull/4683.patch
But does it successfully run the test case?
Yes
I can't
see how the behavior on i386 is correct both before
and after the patch: either the bug existed on all
32-bit architectures because they enabled largefile
support, or changing i386 over to use the largefile
version of preadv/writev is wrong.
Can you debug into this file on i386 to see which symbol
it picks up in the end, and whether off_t is defined
as a 32-bit or 64-bit type?
After patch, preadv64.
In both cases,
(gdb) whatis off
type = off_t
(gdb) whatis off_t
type = __off64_t
It's possible that for some reason the testcase fails
to report a bug on i386 despite the code being wrong
either before or after your patch.