4 ms·
Time64 is the death of i386 - the time_t structure needs to be expanded to 64-bit to handle dates beyond 2038, but that's an ABI break, and the primary reason a
by mappu 6y ago
Time64 is the death of i386 - the time_t structure needs to be expanded to 64-bit to handle dates beyond 2038, but that's an ABI break, and the primary reason anyone still runs 32-bit binaries is for closed-source games which won't come along for an ABI upgrade.
You can either do the ABI break and lose most existing users when the main set of apps stop working, or have the main set of apps stop working anyway in 2038.
- ncmncm 6y agoYou could switch it to unsigned 32-bit time_t, and most things would still work right up to 2106. With any luck, civilization will collapse by 2038 and it won't matter anyway. But, struggling back up from collapse on scavenged 32-bit microcontrollers powered by scavenged solar panels, we won't need the extra burden of post-y2038. Switch to unsigned 32-bit time_t for the sake of the (surviving) grandkids.
- jabl 6y agoThe kernel has already been fixed, but userspace (glibc) is AFAICS still in progress. Glibc is going to do it in a similar fashion to large file support (LFS), where if you define some particular macros you get the 64-bit time_t interfaces, otherwise you'll continue with the old 32-bit time_t. Similarly, existing binaries will continue to work, so in order to take advantage of 64-bit time_t you need to recompile (with those macros set, and fixing any resulting problems of course).