This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Y2038: provide kernel support indication
- 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>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 5 Dec 2018 13:18:33 +0000
- Subject: Re: [PATCH] Y2038: provide kernel support indication
- References: <20180919071303.26636-1-albert.aribaud@3adev.fr> <alpine.DEB.2.21.1809191300420.14910@digraph.polyomino.org.uk> <20180924235639.716a4cb4@athena> <alpine.DEB.2.21.1809251656190.14070@digraph.polyomino.org.uk> <20180925213635.70084f61@athena> <CAK8P3a17ZpOKx=p1Y2FgruM3GMcdOtiwaQqPvmg5xZQpFP2fCQ@mail.gmail.com> <20181205124926.7d433994@athena>
On Wed, 5 Dec 2018, Albert ARIBAUD wrote:
> - on 64-bit architectures, GLIBC will set __ASSUME_KERNEL_Y2038_SUPPORT
> once the minimal kernel supported version for these architectures
> provides the 'new' syscall symbols.
>
> - on all architectures, if __ASSUME_KERNEL_Y2038_SUPPORT is defined,
> then GLIBC assumes the 'new' syscall symbols exist and can be used.
>
> - on all architectures, if __ASSUME_KERNEL_Y2038_SUPPORT is NOT defined,
> then GLIBC will try to use new syscalls for which a _NR symbol is
> provided by the build-time kernel, and on ENOSYS, will fallback to old
> syscalls.
There should be *no* new code in the glibc compiled for 64-bit
architectures - no ENOSYS fallback, because none is needed. __ASSUME_* is
always about features to assume to be present in the kernel used at
runtime, not about what __NR_* symbols are defined (however, the kernel
headers used for compiling glibc must always be at least as recent as the
specified --enable-kernel version).
--
Joseph S. Myers
joseph@codesourcery.com