[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 à 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.

 

Reply to: