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