This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 04/19] y2038: introduce CONFIG_COMPAT_TIME
- From: Arnd Bergmann <arnd at arndb dot de>
- To: y2038 at lists dot linaro dot org
- Cc: baolin dot wang at linaro dot org, tglx at linutronix dot de, albert dot aribaud at 3adev dot fr, john dot stultz at linaro dot org, bamvor dot zhangjian at linaro dot org, ruchandani dot tina at gmail dot com, linux-api at vger dot kernel dot org, linux-kernel at vger dot kernel dot org, libc-alpha at sourceware dot org, Arnd Bergmann <arnd at arndb dot de>
- Date: Wed, 6 May 2015 18:30:11 +0200
- Subject: [PATCH 04/19] y2038: introduce CONFIG_COMPAT_TIME
- Authentication-results: sourceware.org; auth=none
- References: <1430929826-318934-1-git-send-email-arnd at arndb dot de>
There are a total of system calls (aside from ioctl) that pass a time_t
or derived data structure as an argument, and in order to extend time_t
to 64-bit, we have to replace them with new system calls and keep providing
backwards compatibility.
To avoid adding completely new and untested code for this purpose, we
introduce a new CONFIG_COMPAT_TIME symbol that is always set on 64-bit
architectures with 32-bit compat mode, as well as all 32-bit architectures
that have been extended to provide the new system calls.
After this is done for all architectures, the CONFIG_COMPAT_TIME symbol
can be made a user-selected option, to enable users to build a kernel
that only provides y2038-safe system calls.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/Kconfig | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/Kconfig b/arch/Kconfig
index a65eafb24997..630d3d289569 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -545,4 +545,15 @@ config OLD_SIGACTION
config COMPAT_OLD_SIGACTION
bool
+config ARCH_HAS_COMPAT_TIME
+ def_bool COMPAT
+
+config COMPAT_TIME
+ def_bool ARCH_HAS_COMPAT_TIME
+ help
+ This should be selected by all architectures that need to support
+ system calls with a 32-bit time_t. Traditionally, this has been
+ used on all 32-bit architectures, and needs to be supported on
+ 64-bit architectures as part of compat syscall handling.
+
source "kernel/gcov/Kconfig"
--
2.1.0.rc2