32 bit time_t
Achim Gratz
Stromeko at Nexgo.DE
Thu Apr 20 10:27:11 UTC 2017
>> This is a 32bit glibc based system, so this means you didn't ask for a 64bit
>> time_t, then. Here's that link again that tells you how glibc handles this:
>>
>> https://sourceware.org/glibc/wiki/Y2038ProofnessDesign
>>
>> The Linux kernel itself is not Y2038 clean yet, AFAIK. But that's no excuse
>> for applications to skimp there.
>
> We need to stick to POSIX entry points. Is there a directive we can give GCC
> that tells it to map to the 64-bit versions, if available?
>
Quote from the document linked previously:
==========
The following is proposed:
User code defines _TIME_BITS=64 to get 64-bit time support instead
of the legacy 32-bit time.
If glibc sees _TIME_BITS=64, then it defines __USE_TIME_BITS64 to
indicate that time support is 64-bit rather than 32-bit.
==========
Configury needs to check whether it's looking at a glibc-based system
that implements that. I don't see any feature test macros discussed, so
I guess you'd check the size of some suitable datatype with and without
that define being present.
--
Achim.
(on the road :-)
More information about the devel
mailing list