I tried various Wine builds trying to figure out why NFS Underground was crashing only on 32-bit Wine that I deleted my patch archive by accident so hopefully this change doesn't have to wait too long.
This change should be a no-op on 2.71 (so I would have to update the configure stuff to 2.72 if I wanted to change anything but the configure.ac file which would be a different MR).
From: Aida Jonikienė aidas957@gmail.com
autoconf 2.72 disabled the time size increase when LARGEFILE macro is being used: https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=cf09f48841b66fe76f...
That change can cause 32-bit Wine to return EOVERFLOW when running stat() on a file in certain edge cases (which causes some files to be skipped leading to applications failing to run properly).
This change was tested with both autoconf 2.71 and 2.72 to make sure nothing broke there. --- configure.ac | 1 + 1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac index b2ec7c4c7c8..9822605437e 100644 --- a/configure.ac +++ b/configure.ac @@ -404,6 +404,7 @@ AC_SUBST(OPENGL_LIBS,"") dnl **** Check for header files ****
AC_SYS_LARGEFILE() +m4_ifdef([AC_SYS_YEAR2038], [AC_SYS_YEAR2038()])
AC_CHECK_HEADERS(\ CL/cl.h \
Sorry, I don't think I know enough to judge any potential compatibility issues arising from this. Furthermore, if dependent libraries don't use 64-bit time_t, this might lead to silent memory corruption due to ABI breakage. I suppose this is best left to downstream/distro maintainers.
Would `./configure --enable-year2038` suffice for your needs?
On Tue Feb 6 11:55:56 2024 +0000, Jinoh Kang wrote:
Sorry, I don't think I know enough to judge any potential compatibility issues arising from this. Furthermore, if dependent libraries don't use 64-bit time_t, this might lead to silent memory corruption due to ABI breakage. I suppose this is best left to downstream/distro maintainers. Would `./configure --enable-year2038` suffice for your needs?
@iamahuman Apparently Julliard introduced a separate TIME_BITS change back in Wine 7.10: https://gitlab.winehq.org/wine/wine/-/commit/2211ca9fa57640b4c19c0a6aa57fda9... (so it's already in Wine 8.0 and 9.0 stable releases)
I think there was already plenty of time to find regressions (and I don't know of any)
The autoconf 2.72 update does nullify that TIME_BITS thing though (and the YEAR2038 macro is probably the best way to make it work again)