Subject: Re: bug#49269: gzip tru64 64bit time_t
From: Paul Eggert <[email-masked]>
To: Jay K <[email-masked]>
Cc: Gnulib bugs <[email-masked]>, [email-masked]
Date: Sat, 3 Jul 2021 20:14:58 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

On 6/29/21 2:21 AM in <https://bugs.gnu.org/49269>, Jay K wrote:

> checking for 64-bit time_t... no
> configure: WARNING: This package requires a 64-bit 'time_t' type if there is any way to access timestamps outside the year range 1901-2038 on your platform. Perhaps you should configure with 'CPPFLAGS="-m64" LDFLAGS="-m64"'?
> 
> 
> https://github.com/jaykrell/cm3/blob/master/m3-libs/m3core/src/m3core.h
> suggests how:
> 
> #ifdef __osf__
> /* Request 64bit time_t. Not available on v4. Would be good to autoconf this.
>   * We later check for TIMEVAL64TO32/TIMEVAL32TO64 to see if this works.
>   */
> #ifndef _TIME64_T
> #define _TIME64_T
> #endif
> #endif /* osf */

As I understand it, on Tru64 defining _TIME64_T does not make time_t 64 
bits; it merely makes visible the type time64_t and related functions 
time64, localtime64, etc. So if we wanted to support 64-bit time_t on 
Tru64, we'd need something like this:

#define _TIME64_T
#define time_t time64_t
#define time time64
#define localtime localtime64
...

which sounds error-prone. And since Tru64 doesn't seem to have a stat64 
call, it wouldn't work for programs that need to use stat and similar 
syscalls.

Given that there's little chance to getting this sort of thing to work, 
and that Tru64 is no longer supported (HP dropped support in 2012) I 
doubt whether it's worth worrying about this problem for gzip, so I'll 
close the bug report. You can simply ignore the configure-time warning 
from now until 2038 (when Tru64 stops working for lots of other 
reasons). However, I'll cc. this email to bug-gnulib in case someone 
else can think of a better way to get this to work on this obsolete 
platform.