Control: forwarded -1 https://github.com/martinpitt/umockdev/issues/216
Control: tag -1 upstream pending

Hello all,

Thorsten Glaser [2024-03-20  3:05 +0000]:
> /usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed 
> only with _FILE_OFFSET_BITS=64"
>    26 | #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
>       |     ^~~~~
>
>
> I admit I don’t exactly see what’s going on here. Does it
> maybe #unset _FILE_OFFSET_BITS or something?

Yes, it currently does on main/latest release, see 
https://github.com/martinpitt/umockdev/issues/216

Simon McVittie [2024-03-21 12:30 +0000]:
> I don't think the proposed fix in kmod is correct, and I don't think
> an equivalent in umockdev would be correct either. Since glibc 2.34,
> on 32-bit architectures all such LD_PRELOAD modules will need updating
> to also wrap __lstat64_time64(), __stat64_time64(), __fstat64_time64()
> and __fstatat64_time64() on architectures where they exist - otherwise,
> programs and libraries compiled with 64-bit time_t will bypass the
> wrapped stat(), stat64() etc. and call __stat64_time64() instead, and
> therefore the wrapping will be ineffective and umockdev's mock devices
> will not be seen.

Correct.

As it happens, the latest Ubuntu package got fixes for both of these issues
recently, thanks to Steve Langasek and Zixing Liu! I'll integrate them upstream
and then make a new release.

Martin

Reply via email to