time64 / Large File Support: 2) default time64 breaks legacy 32bit binaries
Florian Weimer
fweimer@redhat.com
Fri Feb 3 18:56:29 GMT 2023
* Adhemerval Zanella Netto:
> It is an option, although I am not sure what might really work since afaik
> Linux does not support CLOCK_REALTIME on time namespace.
Not yet. The pressure isn't there yet, but I totally see it happening.
> Not really, there are some idea on how to proceed with 64 time_t promotion:
>
> 1. Add a configure option to enable LFS and 64 bit time_t support as default.
> It is basically promoting the port to a new ABI, although a program can
> still build with non LFS or 32 bit time_t by explicit use -D_TIME_BITS=32.
>
> 2. Make this option the default on a future glibc version, meaning that for
> distribution that want to keep the the compatibility mode as default (to
> run old binaries) will need to explicit enable it.
>
> 3. Move the non-LFS and 32 bit time_t symbols compat one, meaning that newer
> binaries won't be able to use them and -D_TIME_BITS=32 won't be supported
> or just be a no-op.
>
> The 1 and 2 should not be cause many trouble, even if 2 would make
> 32-bit time_t opt-in. At least it would focused on glibc itself,
> meaning that a distribution could just ignore the transition by just
> adding a configure option on glibc build.
I tend to agree, except we'd have to make it clear that 1 (if enabled)
& 2 may require extensive porting work across the distribution to
maintain a consistent ABI.
> The 3. is what might cause i386 (and any 32-bit port where ABI also supports
> 64-bit) to wither. I don't have a strong opinion, maybe we should focus on
> only the 1. and 2. and see what community things about 3.
This still doesn't solve the implicit function declaration/dlsym
problem, though, so I don't know how
Meanwhile, Ocaml has removed compiler (but not interpreter) support for
i386, and Openblas dropped 32-bit support completely. I think it's
going to become more and more difficult to offer a general-purpose
distribution on i386 well before we hit Y2038 problems.
Thanks,
Florian
More information about the Libc-alpha
mailing list