* Simon McVittie: > On Fri, 19 Jul 2019 at 15:13:00 +0300, Adrian Bunk wrote: >> Remaining usecases of i386 will be old binaries, some old Linux binaries >> but especially old software (including many games) running in Wine. >> Old Linux binaries will still need the old 32bit time_t. > > Based on background from my contributions to the Steam Runtime: > > I don't have numbers, but you might be surprised how many Linux-supporting > games are 32-bit. The Steam client itself is currently also 32-bit > (with some 64-bit subprocesses); this is somewhat deliberate, to act as > a canary for whether 32-bit code works at all, particularly when combined > with graphics. > > The Steam Runtime (a LD_LIBRARY_PATH library bundle used to run Steam and > Steam games) is built on an increasingly ancient version of Ubuntu, but > it tries to use newer libraries of the same SONAME from the host system > where available, which they often will be, because people who install > Steam probably also install Wine, which has 32-bit dependencies. If those > libraries have an incompatible ABI involving 64-bit time_t, and it is used > at the ABI "surface" between a host-system library and a Steam Runtime > library or the game, then 32-bit games, and the Steam client itself, > will crash.
We could in theory bump soname for these libraries, but that has the unfortunate side effect that it will likely leak to 64-bit architectures, creating more work for everyone. I don't see a good way to maintain those libraries with a single-ABI approach. So if that's an important use case, it would be a fairly strong case against it, I think.