diff options
author | Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> | 2018-06-13 18:36:02 +0200 |
---|---|---|
committer | Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr> | 2018-06-15 17:41:13 +0200 |
commit | 38a873073548a9a52136067df65cf47103e3342b (patch) | |
tree | b2503b84808537a16d6c3b625ac8d2d4e24380ca /time/ctime_r.c | |
parent | c59ee916a66299f23d81568c77d7af3be17d4b6c (diff) | |
download | glibc-38a873073548a9a52136067df65cf47103e3342b.tar.gz |
Y2038: Add 64-bit time for all architectures
* Add macro __TIMESIZE equal to the bit size of time_t.
It equals the architecture __WORDSIZE except for x32
where it equals 64.
* Add type __time64_t which is always 64-bit. On 64-bit
architectures and on x32, it is #defined as time_t.
On other architectures, it has its own type.
* Replace all occurrences of internal_time_t with
__time64_t.
The __time64_t type is public so that the public time_t type
can be a typedef or #define of __time64_t when we switch the
public API to 64-bit time.
Also, provide a function (inline) to check if a __time64_t
value fits in a (possibly 32-bit) time_t. This is used when
a 32-bit-time wrapper calls a glibc function which returns
a __time64_t, so that the wrapper can detect times which
it cannot properly return to its caller, and can flag an
EOVERFLOW accordingly.
Diffstat (limited to 'time/ctime_r.c')
0 files changed, 0 insertions, 0 deletions