This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Fourth draft of the Y2038 design document
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Albert ARIBAUD <albert dot aribaud at 3adev dot fr>
- Cc: Arnd Bergmann <arnd at arndb dot de>, <libc-alpha at sourceware dot org>, Y2038 <y2038 at lists dot linaro dot org>
- Date: Wed, 28 Sep 2016 16:38:27 +0000
- Subject: Re: Fourth draft of the Y2038 design document
- Authentication-results: sourceware.org; auth=none
- References: <20160622005838.60a95c44.albert.aribaud@3adev.fr> <4435377.8hJ2GQPYUg@wuerfel> <20160629131611.5d55ed3f.albert.aribaud@3adev.fr> <6047072.ltGesdohPV@wuerfel> <20160928091800.73b369d3.albert.aribaud@3adev.fr>
On Wed, 28 Sep 2016, Albert ARIBAUD wrote:
> - make Y2038-safe kernel provide a new syscall which tells at run time
> what features the kernel supports, e.g. does it support 64-bit time,
> 32-bit time, both? [the need could be more generic than just time
> support, so I tought such a syscall already existed, but I have not
> found any in the current syscalls list -- I might have missed it
> though]
There will be lots of syscalls added with the 64-bit time support. If
they are all added in the same kernel version, glibc can have a single
internal variable for whether 64-bit time support is available in the
kernel (set the first time it tries using such a syscall, used to tell
whether to try such syscalls in future).
> A Y2038-safe GLIBC would thus detect when it runs on a non-Y2038-safe
> kernel (syscall absent or returning a value which amounts to 'no
> 64-bit time support built in kernel') and could bail out with an
> explicit message.
But it shouldn't bail out; it should just use the existing syscalls and
translate as needed when the user called the 64-bit time interfaces.
--
Joseph S. Myers
joseph@codesourcery.com