On 2016-03-08 01:54, Paul Eggert wrote:
Aurelien Jarno wrote:
Are you sure you have the posixrules file installed in /tmp/prefix/zoneinfo/posixrules?
No, I didn't have those installed, because glibc 'make install' doesn't install them. Your hint let me figure out what I needed to do to reproduce the problem.
I eventually tracked this down to a bug in glibc, which Sébastien Brissaud reported on February 27. See:
https://sourceware.org/bugzilla/show_bug.cgi?id=19738
The bug is that glibc adds the posixrules file's first transition time (the minimum time_t value -2147483648) to the UTC offset -28800, and this addition overflows and wraps around to a large positive number.
Thanks a lot for finding that.
I proposed a glibc patch here:
https://sourceware.org/bugzilla/attachment.cgi?id=9074
I don't see a good zic workaround for this glibc bug. zic could emit a slightly later transition time (a day later, say), but this would cause programs to mishandle time stamps near the origin at 1901-12-13.
And thanks for the patch. I have subscribed to the bug, so I can track the review progress. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net