On Sat, Jul 15, 2017 at 2:08 AM, Matthias Hanft <[email protected]> wrote: > Grant Edwards wrote: >> >> Well, the return type for time() changed from "int" (or was it long?) >> to "time_t" many years back. That said, the actual underlying >> representation has never changed on 32-bit Linux systems. Posix >> requires it to be signed, and on 32-bit Linux systems, it's still >> going to overflow in 2038 -- same as it ever was. > > This is correct: > > mh@n ~ $ date -u -d @2147483647 > Tue Jan 19 03:14:07 UTC 2038 > mh@n ~ $ date -u -d @2147483648 > date: invalid date '@2147483648' > > <crystal ball mode>Will there be any fix until then, or will I have > to reinstall all my 32bit Gentoo systems with 64bit kernels?</crystal > ball mode> >
The Y2K fixes for systems which could not have old data modified simply treat the imprecise/truncated date field as happening before the event that necessitated the fix. You don't have to change any of your files, and updating the programs can happen in place.

