From 4b60490554dbc981f15d46976cb0e74faba707d0 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 9 Apr 2023 18:16:57 -0700 Subject: doc: improve cross-refs for year 2038 issue --- doc/posix-functions/aio_cancel.texi | 7 +++---- doc/posix-functions/aio_error.texi | 7 +++---- doc/posix-functions/aio_fsync.texi | 7 +++---- doc/posix-functions/aio_read.texi | 7 +++---- doc/posix-functions/aio_return.texi | 7 +++---- doc/posix-functions/aio_suspend.texi | 7 +++---- doc/posix-functions/aio_write.texi | 7 +++---- doc/posix-functions/creat.texi | 2 +- doc/posix-functions/fgetpos.texi | 7 +++---- doc/posix-functions/fopen.texi | 2 +- doc/posix-functions/freopen.texi | 2 +- doc/posix-functions/fseek.texi | 2 +- doc/posix-functions/fseeko.texi | 2 +- doc/posix-functions/fsetpos.texi | 7 +++---- doc/posix-functions/fstat.texi | 6 +++--- doc/posix-functions/fstatat.texi | 2 +- doc/posix-functions/fstatvfs.texi | 10 +++++----- doc/posix-functions/ftell.texi | 2 +- doc/posix-functions/ftello.texi | 2 +- doc/posix-functions/ftruncate.texi | 5 ++--- doc/posix-functions/ftw.texi | 7 +++---- doc/posix-functions/getrlimit.texi | 8 ++++---- doc/posix-functions/glob.texi | 4 ++-- doc/posix-functions/lio_listio.texi | 7 +++---- doc/posix-functions/lockf.texi | 8 ++++---- doc/posix-functions/lseek.texi | 2 +- doc/posix-functions/lstat.texi | 6 +++--- doc/posix-functions/mkstemp.texi | 2 +- doc/posix-functions/mmap.texi | 8 ++++---- doc/posix-functions/nftw.texi | 8 ++++---- doc/posix-functions/open.texi | 2 +- doc/posix-functions/openat.texi | 2 +- doc/posix-functions/opendir.texi | 4 ++-- doc/posix-functions/posix_fadvise.texi | 8 ++++---- doc/posix-functions/posix_fallocate.texi | 8 ++++---- doc/posix-functions/pread.texi | 2 +- doc/posix-functions/pwrite.texi | 2 +- doc/posix-functions/readdir.texi | 4 ++-- doc/posix-functions/readdir_r.texi | 12 ++++++------ doc/posix-functions/rewinddir.texi | 4 ++-- doc/posix-functions/scandir.texi | 4 ++-- doc/posix-functions/seekdir.texi | 8 ++++---- doc/posix-functions/setrlimit.texi | 8 ++++---- doc/posix-functions/stat.texi | 6 +++--- doc/posix-functions/statvfs.texi | 10 +++++----- doc/posix-functions/telldir.texi | 8 ++++---- doc/posix-functions/tmpfile.texi | 2 +- doc/posix-functions/truncate.texi | 4 ++-- doc/posix-headers/sys_stat.texi | 6 +++--- doc/posix-headers/sys_time.texi | 3 +++ doc/posix-headers/sys_types.texi | 6 +++++- 51 files changed, 134 insertions(+), 139 deletions(-) (limited to 'doc') diff --git a/doc/posix-functions/aio_cancel.texi b/doc/posix-functions/aio_cancel.texi index 8228d6a7af..978247515a 100644 --- a/doc/posix-functions/aio_cancel.texi +++ b/doc/posix-functions/aio_cancel.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/aio_error.texi b/doc/posix-functions/aio_error.texi index fd1257c329..9c461f079a 100644 --- a/doc/posix-functions/aio_error.texi +++ b/doc/posix-functions/aio_error.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/aio_fsync.texi b/doc/posix-functions/aio_fsync.texi index 4163e27c6e..8ac2b9afc3 100644 --- a/doc/posix-functions/aio_fsync.texi +++ b/doc/posix-functions/aio_fsync.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 6.0, NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/aio_read.texi b/doc/posix-functions/aio_read.texi index 4923e556fc..57b607064e 100644 --- a/doc/posix-functions/aio_read.texi +++ b/doc/posix-functions/aio_read.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/aio_return.texi b/doc/posix-functions/aio_return.texi index 40385de063..faa6288477 100644 --- a/doc/posix-functions/aio_return.texi +++ b/doc/posix-functions/aio_return.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/aio_suspend.texi b/doc/posix-functions/aio_suspend.texi index 6d9d421d32..ddf1b720dd 100644 --- a/doc/posix-functions/aio_suspend.texi +++ b/doc/posix-functions/aio_suspend.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/aio_write.texi b/doc/posix-functions/aio_write.texi index 1e82adde59..5d8dfb22ff 100644 --- a/doc/posix-functions/aio_write.texi +++ b/doc/posix-functions/aio_write.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/creat.texi b/doc/posix-functions/creat.texi index e7cc57e90c..90ce9a4e24 100644 --- a/doc/posix-functions/creat.texi +++ b/doc/posix-functions/creat.texi @@ -14,7 +14,7 @@ on some platforms: MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, @code{creat} may not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @item This function does not fail when the file name argument ends in a slash and (without the slash) names a nonexistent file, on some platforms: diff --git a/doc/posix-functions/fgetpos.texi b/doc/posix-functions/fgetpos.texi index 607673ddf6..89e3acd58f 100644 --- a/doc/posix-functions/fgetpos.texi +++ b/doc/posix-functions/fgetpos.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -16,8 +19,4 @@ Portability problems not fixed by Gnulib: @code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly on input streams that are opened in @code{O_TEXT} mode and whose contents contains Unix line terminators (LF), on some platforms: mingw, MSVC 14. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/fopen.texi b/doc/posix-functions/fopen.texi index fee872601e..eb6744e323 100644 --- a/doc/posix-functions/fopen.texi +++ b/doc/posix-functions/fopen.texi @@ -15,7 +15,7 @@ directory, on some platforms: HP-UX 11.00, AIX 7.1, Solaris 9. @item On platforms where @code{off_t} is a 32-bit type, @code{fopen} may not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @item On Windows platforms (excluding Cygwin), this function does usually not recognize the @file{/dev/null} filename. diff --git a/doc/posix-functions/freopen.texi b/doc/posix-functions/freopen.texi index 4b6cd8b13b..7e075fdd09 100644 --- a/doc/posix-functions/freopen.texi +++ b/doc/posix-functions/freopen.texi @@ -14,7 +14,7 @@ file descriptor, @code{freopen} returns the stream without opening the file: glibc 2.24. @item On platforms where @code{off_t} is a 32-bit type, @code{freopen} may not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @item On Windows platforms (excluding Cygwin), this function does usually not recognize the @file{/dev/null} filename. diff --git a/doc/posix-functions/fseek.texi b/doc/posix-functions/fseek.texi index d35765826b..61e3191342 100644 --- a/doc/posix-functions/fseek.texi +++ b/doc/posix-functions/fseek.texi @@ -20,6 +20,6 @@ On Windows platforms (excluding Cygwin), this function does not set @code{errno} upon failure. @item On platforms where @code{long} is a 32-bit type, @code{fseek} does not work -correctly with files larger than 2 GB, even when the @code{AC_SYS_LARGEFILE} +correctly with files 2 GiB and larger, even when the @code{AC_SYS_LARGEFILE} macro is used. The fix is to use @code{fseeko} instead. @end itemize diff --git a/doc/posix-functions/fseeko.texi b/doc/posix-functions/fseeko.texi index b327600624..eb3991f693 100644 --- a/doc/posix-functions/fseeko.texi +++ b/doc/posix-functions/fseeko.texi @@ -19,7 +19,7 @@ glibc 2.3.6. This function fails on seekable stdin, stdout, and stderr: cygwin <= 1.5.24. @item On platforms where @code{off_t} is a 32-bit type, @code{fseeko} does not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/fsetpos.texi b/doc/posix-functions/fsetpos.texi index f955970d38..f305b90f40 100644 --- a/doc/posix-functions/fsetpos.texi +++ b/doc/posix-functions/fsetpos.texi @@ -8,12 +8,11 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @itemize -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/fstat.texi b/doc/posix-functions/fstat.texi index a404891cb7..b4c2431ff4 100644 --- a/doc/posix-functions/fstat.texi +++ b/doc/posix-functions/fstat.texi @@ -13,13 +13,13 @@ This function crashes when invoked with invalid arguments on some platforms: MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, @code{fstat} may not correctly -report the size of files or block devices larger than 2 GB. -(Cf. @code{AC_SYS_LARGEFILE}.) +report the size of files or block devices 2 GiB and larger.. +@xref{Large File Support}. @item On Linux/x86 and Linux/x86_64, applications compiled in 32-bit mode cannot access files that happen to have a 64-bit inode number. This can occur with file systems such as XFS (typically on large disks) and NFS. -(Cf. @code{AC_SYS_LARGEFILE}.) +@xref{Large File Support}. @item On Solaris 11.4, when this function yields a timestamp with a nonpositive @code{tv_sec} value, @code{tv_nsec} might be in the range diff --git a/doc/posix-functions/fstatat.texi b/doc/posix-functions/fstatat.texi index a37ee428b6..49d394addf 100644 --- a/doc/posix-functions/fstatat.texi +++ b/doc/posix-functions/fstatat.texi @@ -16,7 +16,7 @@ But the replacement function is not safe to be used in libraries and is not mult @item On platforms where @code{off_t} is a 32-bit type, @code{fstatat} may not correctly report the size of files or block devices larger than 2 -GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +GB@. @xref{Large File Support}. @item On some platforms, @code{fstatat(fd,"file/",buf,flag)} succeeds instead of failing with @code{ENOTDIR}. diff --git a/doc/posix-functions/fstatvfs.texi b/doc/posix-functions/fstatvfs.texi index 805902f21e..486fb354da 100644 --- a/doc/posix-functions/fstatvfs.texi +++ b/doc/posix-functions/fstatvfs.texi @@ -8,6 +8,11 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit +value, this function may not work correctly on files systems larger than +4 TiB@. @xref{Large File Support}. This affects +glibc/Hurd, HP-UX 11, Solaris. @end itemize Portability problems not fixed by Gnulib: @@ -15,9 +20,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: OpenBSD 3.8, mingw, MSVC 14, Android 4.3. -@item -On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit -value, this function may not work correctly on files systems larger than -4 TiB@. The fix is to use the @code{AC_SYS_LARGEFILE} macro. This affects -glibc/Hurd, HP-UX 11, Solaris. @end itemize diff --git a/doc/posix-functions/ftell.texi b/doc/posix-functions/ftell.texi index 3d405bf2a1..5a15dee8ea 100644 --- a/doc/posix-functions/ftell.texi +++ b/doc/posix-functions/ftell.texi @@ -34,6 +34,6 @@ on input streams that are opened in @code{O_TEXT} mode and whose contents contains Unix line terminators (LF), on some platforms: mingw, MSVC 14. @item On platforms where @code{long} is a 32-bit type, @code{ftell} does not work -correctly with files larger than 2 GB, even when the @code{AC_SYS_LARGEFILE} +correctly with files 2 GiB and larger, even when the @code{AC_SYS_LARGEFILE} macro is used. The fix is to use @code{ftello} instead. @end itemize diff --git a/doc/posix-functions/ftello.texi b/doc/posix-functions/ftello.texi index eab591fca0..ded1df0c11 100644 --- a/doc/posix-functions/ftello.texi +++ b/doc/posix-functions/ftello.texi @@ -28,7 +28,7 @@ macOS 10.15 and newer. This function fails on seekable stdin, stdout, and stderr: cygwin <= 1.5.24. @item On platforms where @code{off_t} is a 32-bit type, @code{ftello} does not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/ftruncate.texi b/doc/posix-functions/ftruncate.texi index 2abf1053ee..504d8e9e88 100644 --- a/doc/posix-functions/ftruncate.texi +++ b/doc/posix-functions/ftruncate.texi @@ -12,9 +12,8 @@ Portability problems fixed by Gnulib: This function is missing on some platforms: MSVC 14. @item -On platforms where @code{off_t} is a 32-bit type, this function is not -applicable to arbitrary lengths for files larger than 2 GB@. The fix is to -use the @code{AC_SYS_LARGEFILE} macro. +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/ftw.texi b/doc/posix-functions/ftw.texi index 0b4796602e..b880339a9e 100644 --- a/doc/posix-functions/ftw.texi +++ b/doc/posix-functions/ftw.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, MSVC 14, Android 4.1. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -correctly report the size of files or block devices larger than 2 GB. -The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/getrlimit.texi b/doc/posix-functions/getrlimit.texi index 5a29faac98..d091fc8f9b 100644 --- a/doc/posix-functions/getrlimit.texi +++ b/doc/posix-functions/getrlimit.texi @@ -10,6 +10,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{rlim_t} is a 32-bit type, this function does not +allow to retrieve limits larger than 4 GiB and larger, +such as for RLIMIT_FSIZE@. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -17,8 +21,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: mingw, MSVC 14. -@item -On platforms where @code{rlim_t} is a 32-bit type, this function does not -allow to retrieve limits larger than 4 GB, such as for RLIMIT_FSIZE@. The -fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/glob.texi b/doc/posix-functions/glob.texi index 74ac551ebc..8c0e3cff25 100644 --- a/doc/posix-functions/glob.texi +++ b/doc/posix-functions/glob.texi @@ -17,8 +17,8 @@ on some platforms: glibc 2.26, AIX 7.2, HP-UX 11, Solaris 11.4. @item On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB. -(Cf. @code{AC_SYS_LARGEFILE}.) +work correctly on huge directories 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/lio_listio.texi b/doc/posix-functions/lio_listio.texi index f133e65ba5..bd373aad6e 100644 --- a/doc/posix-functions/lio_listio.texi +++ b/doc/posix-functions/lio_listio.texi @@ -8,6 +8,9 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +18,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, Cygwin 2.9, mingw, MSVC 14, Android 9.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. The fix is to use the -@code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/lockf.texi b/doc/posix-functions/lockf.texi index 9b0fe2f814..efb9748b72 100644 --- a/doc/posix-functions/lockf.texi +++ b/doc/posix-functions/lockf.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly across the entire data range of files 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +19,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: Minix 3.1.8, Cygwin 1.5.x, mingw, MSVC 14, Android 6.0. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly across the entire data range of files larger than 2 GB. -The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/lseek.texi b/doc/posix-functions/lseek.texi index 3470524b12..026bbada40 100644 --- a/doc/posix-functions/lseek.texi +++ b/doc/posix-functions/lseek.texi @@ -18,7 +18,7 @@ on some platforms: MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, @code{lseek} does not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @item This function mistakenly succeeds on pipes on some platforms: mingw, MSVC 14. @end itemize diff --git a/doc/posix-functions/lstat.texi b/doc/posix-functions/lstat.texi index 31b7759d95..f0a6ffb572 100644 --- a/doc/posix-functions/lstat.texi +++ b/doc/posix-functions/lstat.texi @@ -10,13 +10,13 @@ Portability problems fixed by Gnulib: @itemize @item On platforms where @code{off_t} is a 32-bit type, @code{lstat} may not -correctly report the size of files or block devices larger than 2 GB. -(Cf. @code{AC_SYS_LARGEFILE}.) +correctly report the size of files or block devices 2 GiB and larger. +@xref{Large File Support}. @item On Linux/x86 and Linux/x86_64, applications compiled in 32-bit mode cannot access files that happen to have a 64-bit inode number. This can occur with file systems such as XFS (typically on large disks) and NFS. -(Cf. @code{AC_SYS_LARGEFILE}.) +@xref{Large File Support}. @item For symlinks, when the argument ends in a slash, some platforms don't dereference the argument: diff --git a/doc/posix-functions/mkstemp.texi b/doc/posix-functions/mkstemp.texi index 0ec65f1b58..b40305f022 100644 --- a/doc/posix-functions/mkstemp.texi +++ b/doc/posix-functions/mkstemp.texi @@ -13,7 +13,7 @@ This function is missing on some platforms: mingw, MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, @code{mkstemp} may not work -correctly to create files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly to create files 2 GiB and larger. @xref{Large File Support}. @item On some older platforms, @code{mkstemp} can create a world or group writable or readable file, if you haven't set the process umask to diff --git a/doc/posix-functions/mmap.texi b/doc/posix-functions/mmap.texi index 016d0d279e..24a79d554c 100644 --- a/doc/posix-functions/mmap.texi +++ b/doc/posix-functions/mmap.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly across the entire data range of files 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -16,10 +20,6 @@ Portability problems not fixed by Gnulib: This function is missing on some platforms: mingw, MSVC 14. @item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly across the entire data range of files larger than 2 GB. -The fix is to use the @code{AC_SYS_LARGEFILE} macro. -@item To get anonymous memory, on some platforms, you can use the flags @code{MAP_ANONYMOUS | MAP_PRIVATE} and @code{-1} instead of a file descriptor; on others you have to use a read-only file descriptor of @file{/dev/zero}. diff --git a/doc/posix-functions/nftw.texi b/doc/posix-functions/nftw.texi index 59fee8ce66..7f2c293549 100644 --- a/doc/posix-functions/nftw.texi +++ b/doc/posix-functions/nftw.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +correctly report the size of files or block devices 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +19,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: FreeBSD 5.2.1, NetBSD 3.0, Minix 3.1.8, mingw, MSVC 14, Android 4.1. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -correctly report the size of files or block devices larger than 2 GB. -The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/open.texi b/doc/posix-functions/open.texi index aa4f08b67d..2dc89d0a89 100644 --- a/doc/posix-functions/open.texi +++ b/doc/posix-functions/open.texi @@ -14,7 +14,7 @@ Some platforms do not support @code{O_CLOEXEC}: Mac OS X 10.6, FreeBSD 8.4, NetBSD 5.1, OpenBSD 4.9, Minix 3.1.8, AIX 7.1, HP-UX 11, IRIX 6.5, Solaris 10, Cygwin 1.7.x, mingw, MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, @code{open} may not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @item This function does not fail when the file name argument ends in a slash and (without the slash) names a nonexistent file or a file that is not a diff --git a/doc/posix-functions/openat.texi b/doc/posix-functions/openat.texi index 96b99f3e95..0d761e6f40 100644 --- a/doc/posix-functions/openat.texi +++ b/doc/posix-functions/openat.texi @@ -18,7 +18,7 @@ Some platforms do not support @code{O_CLOEXEC}: AIX 7.1, Solaris 10. @item On platforms where @code{off_t} is a 32-bit type, @code{open} may not work -correctly with files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly with files 2 GiB and larger. @xref{Large File Support}. @item This function does not fail when the file name argument ends in a slash and (without the slash) names a nonexistent file or a file that is not a diff --git a/doc/posix-functions/opendir.texi b/doc/posix-functions/opendir.texi index 906866ecd6..6882696be3 100644 --- a/doc/posix-functions/opendir.texi +++ b/doc/posix-functions/opendir.texi @@ -13,9 +13,9 @@ This function is missing on some platforms: MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB@. Also, on platforms +work correctly on huge directories 2 GiB and larger. Also, on platforms where @code{ino_t} is a 32-bit type, this function may report inode numbers -incorrectly. (Cf. @code{AC_SYS_LARGEFILE}.) +incorrectly. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/posix_fadvise.texi b/doc/posix-functions/posix_fadvise.texi index e6edb52b9a..c05faff37a 100644 --- a/doc/posix-functions/posix_fadvise.texi +++ b/doc/posix-functions/posix_fadvise.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly across the entire data range of files 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +19,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: macOS 11.1, FreeBSD 6.0, NetBSD 3.0, OpenBSD 6.7, Minix 3.1.8, AIX 5.1, HP-UX 11.23, IRIX 6.5, Solaris 10, Cygwin 1.5.x, mingw, MSVC 14, Android 4.4. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly across the entire data range of files larger than 2 GB. -The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/posix_fallocate.texi b/doc/posix-functions/posix_fallocate.texi index 2f95bade51..1902cab7b1 100644 --- a/doc/posix-functions/posix_fallocate.texi +++ b/doc/posix-functions/posix_fallocate.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly across the entire data range of files 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -21,8 +25,4 @@ support the allocation operation directly. glibc however emulates the file syst allocation with writes where unsupported, and apps have depended on that long term implementation. This is both inefficient, and as of glibc 2.21 at least, buggy on certain NFS setups. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly across the entire data range of files larger than 2 GB. -The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/pread.texi b/doc/posix-functions/pread.texi index 6dfe9772ba..d2f53733b6 100644 --- a/doc/posix-functions/pread.texi +++ b/doc/posix-functions/pread.texi @@ -13,7 +13,7 @@ This function is missing on some platforms: mingw, MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +work correctly on files 2 GiB and larger. @xref{Large File Support}. @item This function returns zero instead of positive values when large file support is enabled on some platforms: diff --git a/doc/posix-functions/pwrite.texi b/doc/posix-functions/pwrite.texi index 3faf7263b2..b93664103d 100644 --- a/doc/posix-functions/pwrite.texi +++ b/doc/posix-functions/pwrite.texi @@ -13,7 +13,7 @@ This function is missing on some platforms: mingw, MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +work correctly on files 2 GiB and larger. @xref{Large File Support}. @item This function does not fail when an invalid (negative) offset is passed when large file support is enabled on some platforms: diff --git a/doc/posix-functions/readdir.texi b/doc/posix-functions/readdir.texi index 195d16c363..896a81d85b 100644 --- a/doc/posix-functions/readdir.texi +++ b/doc/posix-functions/readdir.texi @@ -13,10 +13,10 @@ This function is missing on some platforms: MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB@. Also, on platforms +work correctly on huge directories 2 GiB and larger. Also, on platforms where @code{ino_t} is a 32-bit type, this function may report inode numbers incorrectly. This can occur with file systems such as XFS (typically on -large disks) and NFS@. (Cf. @code{AC_SYS_LARGEFILE}.) +large disks) and NFS@. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/readdir_r.texi b/doc/posix-functions/readdir_r.texi index 5a7391bfd6..9a175848e8 100644 --- a/doc/posix-functions/readdir_r.texi +++ b/doc/posix-functions/readdir_r.texi @@ -14,6 +14,12 @@ in glibc. Portable applications should use @code{readdir}. @item This function has an incompatible declaration on some platforms: Solaris 11.4 (when @code{_POSIX_PTHREAD_SEMANTICS} is not defined). +@item +On platforms where @code{off_t} is a 32-bit type, this function may not +work correctly on huge directories 2 GiB and larger. Also, on platforms +where @code{ino_t} is a 32-bit type, this function may report inode numbers +incorrectly. This can occur with file systems such as XFS (typically on +large disks) and NFS@. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -21,10 +27,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: Minix 3.1.8, mingw, MSVC 14. -@item -On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB@. Also, on platforms -where @code{ino_t} is a 32-bit type, this function may report inode numbers -incorrectly. This can occur with file systems such as XFS (typically on -large disks) and NFS@. The fix is to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/rewinddir.texi b/doc/posix-functions/rewinddir.texi index b0202285ac..d3370c2ed0 100644 --- a/doc/posix-functions/rewinddir.texi +++ b/doc/posix-functions/rewinddir.texi @@ -13,8 +13,8 @@ This function is missing on some platforms: MSVC 14. @item On Mac OS X platforms where @code{long int} is a 32-bit type, this function may -not work correctly on huge directories larger than 2 GB. -(Cf. @code{AC_SYS_LARGEFILE}.) +not work correctly on huge directories 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/scandir.texi b/doc/posix-functions/scandir.texi index 216d0b3822..b39386ff38 100644 --- a/doc/posix-functions/scandir.texi +++ b/doc/posix-functions/scandir.texi @@ -13,9 +13,9 @@ This function is missing on some platforms: Minix 3.1.8, Solaris 9, mingw, MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB@. Also, on platforms +work correctly on huge directories 2 GiB and larger. Also, on platforms where @code{ino_t} is a 32-bit type, this function may report inode numbers -incorrectly. (Cf. @code{AC_SYS_LARGEFILE}.) +incorrectly. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/seekdir.texi b/doc/posix-functions/seekdir.texi index d4e92ac850..64e8ef58e8 100644 --- a/doc/posix-functions/seekdir.texi +++ b/doc/posix-functions/seekdir.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{long int} is a 32-bit type, this function may not +work correctly on huge directories 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +19,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MSVC 14, Android 5.1. -@item -On platforms where @code{long int} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB@. The fix is to use -the @code{AC_SYS_LARGEFILE} macro (only on Mac OS X systems). @end itemize diff --git a/doc/posix-functions/setrlimit.texi b/doc/posix-functions/setrlimit.texi index 8559d9ed57..e5b8eeeb5b 100644 --- a/doc/posix-functions/setrlimit.texi +++ b/doc/posix-functions/setrlimit.texi @@ -10,6 +10,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{rlim_t} is a 32-bit type, this function does not +allow to set limits 4 GiB and larger, such as for RLIMIT_FSIZE@. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -17,8 +21,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: Minix 3.1.8, mingw, MSVC 14. -@item -On platforms where @code{rlim_t} is a 32-bit type, this function does not -allow to set limits larger than 4 GB, such as for RLIMIT_FSIZE@. The fix is -to use the @code{AC_SYS_LARGEFILE} macro. @end itemize diff --git a/doc/posix-functions/stat.texi b/doc/posix-functions/stat.texi index 0e3f56a96d..b64bdd3a01 100644 --- a/doc/posix-functions/stat.texi +++ b/doc/posix-functions/stat.texi @@ -10,13 +10,13 @@ Portability problems fixed by Gnulib: @itemize @item On platforms where @code{off_t} is a 32-bit type, @code{stat} may not correctly -report the size of files or block devices larger than 2 GB. -(Cf. @code{AC_SYS_LARGEFILE}.) +report the size of files or block devices 2 GiB and larger. +@xref{Large File Support}. @item On Linux/x86 and Linux/x86_64, applications compiled in 32-bit mode cannot access files that happen to have a 64-bit inode number. This can occur with file systems such as XFS (typically on large disks) and NFS. -(Cf. @code{AC_SYS_LARGEFILE}.) +@xref{Large File Support}. @item The @code{st_atime}, @code{st_ctime}, @code{st_mtime} fields are affected by the current time zone and by the DST flag of the current time zone on some diff --git a/doc/posix-functions/statvfs.texi b/doc/posix-functions/statvfs.texi index 3515a01444..0c86f9244b 100644 --- a/doc/posix-functions/statvfs.texi +++ b/doc/posix-functions/statvfs.texi @@ -8,6 +8,11 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit +value, this function may not work correctly on files systems larger than +4 TiB@. @xref{Large File Support}. This affects +glibc/Hurd, HP-UX 11, Solaris. @end itemize Portability problems not fixed by Gnulib: @@ -20,11 +25,6 @@ This function can hang if it stats all preceding entries in /proc/mounts, and any of those file systems are hard-mounted and not available. This affects Linux < 2.6.36. -@item -On platforms where @code{f_blocks} in @samp{struct statvfs} is a 32-bit -value, this function may not work correctly on files systems larger than -4 TiB@. The fix is to use the @code{AC_SYS_LARGEFILE} macro. This affects -glibc/Hurd, HP-UX 11, Solaris. @end itemize Gnulib provides a module @code{fsusage} that provides similar information diff --git a/doc/posix-functions/telldir.texi b/doc/posix-functions/telldir.texi index 72ac57465e..620b20b5c4 100644 --- a/doc/posix-functions/telldir.texi +++ b/doc/posix-functions/telldir.texi @@ -8,6 +8,10 @@ Gnulib module: --- Portability problems fixed by Gnulib: @itemize +@item +On platforms where @code{long int} is a 32-bit type, this function may not +work correctly on huge directories 2 GiB and larger. +@xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: @@ -15,8 +19,4 @@ Portability problems not fixed by Gnulib: @item This function is missing on some platforms: MSVC 14, Android 5.1. -@item -On platforms where @code{long int} is a 32-bit type, this function may not -work correctly on huge directories larger than 2 GB@. The fix is to use -the @code{AC_SYS_LARGEFILE} macro (only on Mac OS X systems). @end itemize diff --git a/doc/posix-functions/tmpfile.texi b/doc/posix-functions/tmpfile.texi index 0df5901dd1..73264438b1 100644 --- a/doc/posix-functions/tmpfile.texi +++ b/doc/posix-functions/tmpfile.texi @@ -16,7 +16,7 @@ This function often fails for trivial reasons on some platforms: mingw, MSVC 14. @item On platforms where @code{off_t} is a 32-bit type, @code{tmpfile} may not work -correctly to create files larger than 2 GB@. (Cf. @code{AC_SYS_LARGEFILE}.) +correctly to create files 2 GiB and larger. @xref{Large File Support}. @end itemize Portability problems not fixed by Gnulib: diff --git a/doc/posix-functions/truncate.texi b/doc/posix-functions/truncate.texi index 8ee1fa7d18..1cfea6d40f 100644 --- a/doc/posix-functions/truncate.texi +++ b/doc/posix-functions/truncate.texi @@ -13,8 +13,8 @@ This function is missing on some platforms: mingw, MSVC 14, Android 4.4 with @code{AC_SYS_LARGEFILE} in effect. @item On platforms where @code{off_t} is a 32-bit type, this function is not -applicable to arbitrary lengths for files larger than 2 GB@. The fix is to -use the @code{AC_SYS_LARGEFILE} macro. +applicable to arbitrary lengths for files 2 GiB and larger. +@xref{Large File Support}. @item This function does not fail when the file name argument ends in a slash and (without the slash) names a non-directory, on some platforms: diff --git a/doc/posix-headers/sys_stat.texi b/doc/posix-headers/sys_stat.texi index 78b423097b..afa3a1c912 100644 --- a/doc/posix-headers/sys_stat.texi +++ b/doc/posix-headers/sys_stat.texi @@ -37,12 +37,12 @@ Portability problems fixed by Gnulib module @code{sys_stat}, together with modul On Windows platforms (excluding Cygwin), @code{st_ino} is always 0. @end itemize +@xref{Avoiding the year 2038 problem}, for portability issues with the +@code{time_t} components of @code{struct stat}. + Portability problems not fixed by Gnulib: @itemize @item -@xref{time.h}, for general portability problems with the -@code{time_t} components of @code{struct stat}. -@item The macro @code{S_IFBLK} is missing on some platforms: MSVC 14. @item diff --git a/doc/posix-headers/sys_time.texi b/doc/posix-headers/sys_time.texi index 4635cfe30c..01283ca660 100644 --- a/doc/posix-headers/sys_time.texi +++ b/doc/posix-headers/sys_time.texi @@ -22,6 +22,9 @@ MSVC 14 in 64-bit mode, MSVC 14 in 32-bit mode when @code{_USE_32BIT_TIME_T} is not defined. @end itemize +@xref{Avoiding the year 2038 problem}, for portability issues with +@code{time_t} and the @code{time_t} component of @code{struct timeval}. + Portability problems not fixed by Gnulib: @itemize @item diff --git a/doc/posix-headers/sys_types.texi b/doc/posix-headers/sys_types.texi index 6b6f14aa1c..7590e78695 100644 --- a/doc/posix-headers/sys_types.texi +++ b/doc/posix-headers/sys_types.texi @@ -27,6 +27,9 @@ avoid deprecation warnings from the versions in this header: glibc 2.25. @end itemize +@xref{Avoiding the year 2038 problem}, for portability issues with +@code{time_t}. + Portability problems not fixed by Gnulib: @itemize @item @@ -35,6 +38,7 @@ are signed integer types that are wider than @code{long}: glibc x32 @end itemize -This module, together with the module @code{largefile}, also defines the type +This module, together with the modules @code{largefile-required} +or @code{largefile}, also defines the type @code{off_t} to a 64-bit integer type on some platforms: mingw, MSVC 14. -- cgit v1.2.1