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

Reply via email to