summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-05-14 18:51:23 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2023-05-14 19:28:13 -0700
commit3cd8ce87d298c3e0ca1e2336400d06c1a8794381 (patch)
tree9a7b6bd789d33f7924da1c486888a54141fea6ef
parent919e1b81a4a8ff95c36a0639fa5a5c86f8759f2e (diff)
downloademacs-3cd8ce87d298c3e0ca1e2336400d06c1a8794381.tar.gz
Work after 2038 on 32-bit GNU/Linux
This adds support for 64-bit time_t on 32-bit GNU/Linux ARM and x86, where time_t was historically 32-bit. The resulting Emacs should continue to work for timestamps after mid-January 2038. * admin/merge-gnulib (GNULIB_MODULES): Add year2038. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
-rwxr-xr-xadmin/merge-gnulib2
-rw-r--r--lib/gnulib.mk.in3
-rw-r--r--m4/gnulib-comp.m42
3 files changed, 5 insertions, 2 deletions
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index 7c82be98608..97487381886 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -48,7 +48,7 @@ GNULIB_MODULES='
stpcpy strnlen strtoimax symlink sys_stat sys_time
tempname time-h time_r time_rz timegm timer-time timespec-add timespec-sub
update-copyright unlocked-io utimensat
- vla warnings
+ vla warnings year2038
'
AVOIDED_MODULES='
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in
index 29861a31d12..5722e2588eb 100644
--- a/lib/gnulib.mk.in
+++ b/lib/gnulib.mk.in
@@ -167,7 +167,8 @@
# update-copyright \
# utimensat \
# vla \
-# warnings
+# warnings \
+# year2038
MOSTLYCLEANFILES += core *.stackdump
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 58fcd1c0481..882b5869755 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -210,6 +210,8 @@ AC_DEFUN([gl_EARLY],
# Code from module vla:
# Code from module warnings:
# Code from module xalloc-oversized:
+ # Code from module year2038:
+ AC_REQUIRE([AC_SYS_YEAR2038])
])
# This macro should be invoked from ./configure.ac, in the section