On Thu, 21 Mar 2024 at 15:45:13 +0500, Andrey Rakhmatullin wrote: > On Wed, Mar 13, 2024 at 08:23:07AM +0100, Helge Deller wrote: > > The patch below builds for me on the hppa platform. > Unfortunately tests fail here with it in an armhf chroot, I don't know if > it's generic or because the chroot is a qemu-based one on amd64.
I think the root cause (both for needing to unset _FILE_OFFSET_BITS, and for the tests failing) is that kmod's test suite is interposing mock/wrapped versions of the stat() family. With the transition to 64-bit time_t, there are new members of the stat() family that will also need interposing on 32-bit architectures: __lstat64_time64() is the replacement for lstat(), and __stat64_time64() for stat(). There are also __fstat64_time64() and __fstatat64_time64(), but kmod doesn't seem to interpose fstat() or fstatat(), so those are probably unnecessary in this case. fakeroot, fakechroot and other LD_PRELOAD modules that interpose stat() will already be doing something similar, and might provide a useful reference for what is needed. Here's the equivalent in fakechroot: https://github.com/dex4er/fakechroot/pull/104/commits/dac74cd68cfb6eeaae9cd13bdc48737a44980df9 smcv