On Mon, Jan 27, 2025, at 19:31, Jérémy Lal wrote: > Le lun. 27 janv. 2025 à 17:41, Arnd Bergmann <[email protected]> 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. Arnd

