diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2021-07-01 19:29:57 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2021-07-01 19:33:19 -0700 |
commit | dc09dc0888485698a8e74205b9df43159aef0f61 (patch) | |
tree | dde82a14a7d2a34c2d72f6decfc7b60fe6ee63a8 /doc/largefile.texi | |
parent | a1b12914220e2dd1619f2362e384492406231827 (diff) | |
download | gnulib-dc09dc0888485698a8e74205b9df43159aef0f61.tar.gz |
year2038: support glibc 2.34 _TIME_BITS=64
In glibc 2.34 on Linux kernels where time_t is traditionally 32-bit,
defining _FILE_OFFSET_BITS=64 and _TIME_BITS=64 makes time_t 64-bit.
Apps must define both macros. Gnulib applications that use either
the largefile or the year2038 modules will want this behavior;
largefile because it deals with the off_t and ino_t components of
struct stat already, and so should also deal with time_t.
* NEWS, doc/largefile.texi, doc/posix-headers/time.texi:
Mention this.
* m4/largefile.m4: Override two macros even in Autoconf 2.70 and later.
(_AC_SYS_LARGEFILE_MACRO_VALUE): #undef $1 before #defining it, in
case some other Gnulib macro has #defined it.
(AC_SYS_LARGEFILE): Use AS_IF and AS_CASE to propagate AC_REQUIREs.
Invoke gl_YEAR2038_BODY if we need to set _FILE_OFFSET_BITS=64.
* m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): New macro.
(gl_YEAR2038_BODY): New macro, with gl_YEAR2038’s old body; this
macro is designed to be used directly instead of being
AC_REQUIREd. It takes an argument specifying whether 64-bit is
required. Set _TIME_BITS=64 if this makes a difference in time_t
width when setting _FILE_OFFSET_BITS=64. Do not warn about
32-bit time_t more than once.
* modules/largefile (Files): Add year2038.m4.
(Depends-on): Require gl_YEAR2038_EARLY.
Diffstat (limited to 'doc/largefile.texi')
-rw-r--r-- | doc/largefile.texi | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/doc/largefile.texi b/doc/largefile.texi index 6d04b45b8a..13572b47e5 100644 --- a/doc/largefile.texi +++ b/doc/largefile.texi @@ -1,8 +1,9 @@ @node Large File Support @section Large File Support -The module provides support for files larger than 2 GB. -To this effect, it ensures that @code{off_t} is a 64-bit integer type +The module provides support for files larger than 2 GB, or with device +or inode numbers or timestamps exceeding 32 bits. To this effect, it +ensures that types like @code{off_t} and @code{time_t} are 64-bit when possible, at least on the following platforms: glibc, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, Solaris, Cygwin, mingw, MSVC. |