This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2] Y2038: make __tz_convert compatible with 64-bit-time
On Wed, 13 Jun 2018, Paul Eggert wrote:
> I don't see why 64-bit platforms need two entry points. If time_t is 64 bits,
> ctime and __ctime64 can be aliases, no? Also, it's a bit cleaner to declare
> and initialize t64 at the same time, i.e., '__time64_t t64 = *t;'; we can
> assume this C99ism in glibc nowadays.
My suggestion is that an internal header does
#if !__TIME32_SUPPORTED
# define __ctime64 ctime
#endif
and then the definition of the 32-bit ctime wrapper is conditional on "#if
__TIME32_SUPPORTED", so that the main 64-bit version just gets compiled as
ctime in the case where time_t has always only been 64-bit for this ABI.
That way, internal code can call the __*64 interfaces unconditionally and
the calls will just end up calling the non-*64 interfaces when the *64
interfaces don't need to exist as separate functions - and no exports of
*64 in the public ABI are needed in that case either.
--
Joseph S. Myers
joseph@codesourcery.com