In article <20131226220940.ga24...@snowdrop.l8s.co.uk>, David Laight <da...@l8s.co.uk> wrote: >On Thu, Dec 26, 2013 at 01:34:28PM -0500, Christos Zoulas wrote: >> Module Name: src >> Committed By: christos >> Date: Thu Dec 26 18:34:28 UTC 2013 >... >> f: >> The types of the global variables 'timezone' and 'altzone' (if present) >> have been changed back to 'long'. This is required for 'timezone' >> by POSIX, and for 'altzone' by common practice, e.g., Solaris 11. >> These variables were originally 'long' in the tz code, but were >> mistakenly changed to 'time_t' in 1987; nobody reported the >> incompatibility until now. The difference matters on x32, where >> 'long' is 32 bits and 'time_t' is 64. (Thanks to Elliott Hughes.) > >Doesn't that completely break binary compatibility for any applications >that access them as 64bit data items on 32bit systems? > >On i386 (and other le systems) this can be fixed be ensuring there >are 4 zero bytes following the data. >In sparc (and other be systems) it requires renaming of the symbol itself. >I presume such a rename was done when time_t was extended to 64bits?
It does not really matter. "timezone" was left as long (we never changed it), the last time "altzone" was used was BC. christos