[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: issue with preadv/pwritev and gcc on armel/armhf





Le mar. 28 janv. 2025 à 09:29, Arnd Bergmann <arnd@arndb.de> a écrit :
On Mon, Jan 27, 2025, at 19:31, Jérémy Lal wrote:
> Le lun. 27 janv. 2025 à 17:41, Arnd Bergmann <arnd@arndb.de> a écrit :
>> On Mon, Jan 27, 2025, at 15:19, Jérémy Lal wrote:
>>
>>    if ((sizeof(long)< sizeof(off_t))
>>             p = dlsym(RTLD_DEFAULT, is_pread ? "preadv64" : "pwritev64");
>>    else
>>             p = dlsym(RTLD_DEFAULT, is_pread ? "preadv" : "pwritev");
>
> Thank you, it works with that.
> I linked your reply in the upstream issue.

It appears that the proposed workaround at

https://github.com/libuv/libuv/pull/4683/commits/45bf09e2567b6480962d932946608454fab31b87

now just always tries to find the preadv64()/pwritev64() symbols,
which is still nonportable because this doesn't work on targets
that use a 32-bit off_t.

If i386-debian was working before this change, it is now broken.

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

Reply to: