[PATCH] Y2038: provide kernel support indication
Arnd Bergmann
arnd@arndb.de
Wed Sep 26 08:41:00 GMT 2018
On Wed, Sep 26, 2018 at 10:19 AM Florian Weimer <fweimer@redhat.com> wrote:
> * Albert ARIBAUD:
> > On Tue, 25 Sep 2018 12:58:25 +0200, Florian Weimer <fweimer@redhat.com>
> > Applications, on the other hand, would call the 64-bit-time interface
> > regardless of the feature state. Whether this call would translate
> > into 64-bit-time or 32-bit-time syscalls would be invisible to them.
>
> Presumably, there's still the matter of ioctl and ancillary messages on
> sockets.
Right, I don't think there is a solution for those; running an application
with 64-bit time_t on an old kernel is something we can't really support.
glibc can make it mostly work, and we can try to backport patches to
device drivers where needed, but this will remain incomplete.
My expectation however is that the kernel can return an appropriate
error code (-ENOTTY, -EINVAL, -ENOSYS) for each such case, so
at least it will be easy enough to debug.
Also, we have to make a hard requirement of using kernel
headers from a fixed version for building the application, so things
like ioctl command numbers, magic mmap() offsets and setsockopt
options can take the right values depending on sizeof(time_t)
to let the kernel know which ABI the user expects.
Arnd
More information about the Libc-alpha
mailing list