about summary refs log tree commit diff
path: root/io/ftw.h
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-01-18 10:18:01 -0300
committerFlorian Weimer <fweimer@redhat.com>2024-05-28 07:30:07 +0200
commitdd535f4f19ef2b5c367a362af445ecadcf45401e (patch)
tree9a5ed482f0baeb50c09ce587836918cb74fe5acb /io/ftw.h
parent26e7005728f0eea2972474e6be2905c467661237 (diff)
downloadglibc-dd535f4f19ef2b5c367a362af445ecadcf45401e.tar.gz
glibc-dd535f4f19ef2b5c367a362af445ecadcf45401e.tar.xz
glibc-dd535f4f19ef2b5c367a362af445ecadcf45401e.zip
Always define __USE_TIME_BITS64 when 64 bit time_t is used
It was raised on libc-help [1] that some Linux kernel interfaces expect
the libc to define __USE_TIME_BITS64 to indicate the time_t size for the
kABI.  Different than defined by the initial y2038 design document [2],
the __USE_TIME_BITS64 is only defined for ABIs that support more than
one time_t size (by defining the _TIME_BITS for each module).

The 64 bit time_t redirects are now enabled using a different internal
define (__USE_TIME64_REDIRECTS). There is no expected change in semantic
or code generation.

Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu, and
arm-linux-gnueabi

[1] https://sourceware.org/pipermail/libc-help/2024-January/006557.html
[2] https://sourceware.org/glibc/wiki/Y2038ProofnessDesign

Reviewed-by: DJ Delorie <dj@redhat.com>
(cherry picked from commit a4ed0471d71739928a0d0fa3258b3ff3b158e9b9)
Diffstat (limited to 'io/ftw.h')
-rw-r--r--io/ftw.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/io/ftw.h b/io/ftw.h
index e4d1b84d53..39cf595b27 100644
--- a/io/ftw.h
+++ b/io/ftw.h
@@ -137,7 +137,7 @@ extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors)
      __nonnull ((1, 2));
 #else
 # ifdef __REDIRECT
-#  ifndef __USE_TIME_BITS64
+#  ifndef __USE_TIME64_REDIRECTS
 extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
 			     int __descriptors), ftw64) __nonnull ((1, 2));
 #  else
@@ -146,7 +146,7 @@ extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
      __nonnull ((1, 2));
 #  endif
 # else
-#  ifndef __USE_TIME_BITS64
+#  ifndef __USE_TIME64_REDIRECTS
 #   define ftw ftw64
 #  else
 #   define ftw __ftw64_time64
@@ -154,7 +154,7 @@ extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-# ifndef __USE_TIME_BITS64
+# ifndef __USE_TIME64_REDIRECTS
 extern int ftw64 (const char *__dir, __ftw64_func_t __func,
 		  int __descriptors) __nonnull ((1, 2));
 # else
@@ -180,7 +180,7 @@ extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
 		 int __flag) __nonnull ((1, 2));
 # else
 #  ifdef __REDIRECT
-#   ifndef __USE_TIME_BITS64
+#   ifndef __USE_TIME64_REDIRECTS
 extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
 			      int __descriptors, int __flag), nftw64)
      __nonnull ((1, 2));
@@ -190,7 +190,7 @@ extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
      __nonnull ((1, 2));
 #   endif
 #  else
-#   ifndef __USE_TIME_BITS64
+#   ifndef __USE_TIME64_REDIRECTS
 #    define nftw nftw64
 #   else
 #    define nftw __nftw64_time64
@@ -198,7 +198,7 @@ extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-#  ifndef __USE_TIME_BITS64
+#  ifndef __USE_TIME64_REDIRECTS
 extern int nftw64 (const char *__dir, __nftw64_func_t __func,
 		   int __descriptors, int __flag) __nonnull ((1, 2));
 #  else