aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2025-10-29 12:27:06 +0100
committerAlejandro Colomar <alx@kernel.org>2025-10-29 12:27:06 +0100
commit0b2d9bd664822e5dd8affa0583c533a9fac45027 (patch)
tree6fd4fe1f8ad589066404d041d3874038e2230662
parent1411f78d518e043fbbc761409313db3be4bc038b (diff)
parent429fd8f39add390a2be28d8d4dee68e4d9897a32 (diff)
downloadman-pages-posix24.tar.gz
man/: Update some APIs for POSIX.1-2024posix24
This work is incomplete, but waiting until all pages have been updated would unnecessarily delay publishing these changes, which are already useful. Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--man/man2/_exit.210
-rw-r--r--man/man2/accept.28
-rw-r--r--man/man2/access.22
-rw-r--r--man/man2/alarm.22
-rw-r--r--man/man2/bind.213
-rw-r--r--man/man2/chdir.22
-rw-r--r--man/man2/chmod.22
-rw-r--r--man/man2/chown.22
-rw-r--r--man/man2/clock_getres.26
-rw-r--r--man/man2/clock_nanosleep.22
-rw-r--r--man/man2/close.237
-rw-r--r--man/man2/connect.213
-rw-r--r--man/man2/dup.210
-rw-r--r--man/man2/execve.22
-rw-r--r--man/man2/fcntl.22
-rw-r--r--man/man2/fcntl_locking.231
-rw-r--r--man/man2/fork.27
-rw-r--r--man/man2/fsync.22
-rw-r--r--man/man2/getgid.22
-rw-r--r--man/man2/getgroups.22
-rw-r--r--man/man2/gethostname.24
-rw-r--r--man/man2/getitimer.25
-rw-r--r--man/man2/getpeername.22
-rw-r--r--man/man2/getpid.22
-rw-r--r--man/man2/getpriority.22
-rw-r--r--man/man2/getrlimit.22
-rw-r--r--man/man2/getrusage.22
-rw-r--r--man/man2/getsid.22
-rw-r--r--man/man2/getsockname.25
-rw-r--r--man/man2/getsockopt.22
-rw-r--r--man/man2/gettimeofday.217
-rw-r--r--man/man2/getuid.22
-rw-r--r--man/man2/kill.22
-rw-r--r--man/man2/link.24
-rw-r--r--man/man2/listen.22
-rw-r--r--man/man2/lseek.212
-rw-r--r--man/man2/mkdir.23
-rw-r--r--man/man2/mknod.22
-rw-r--r--man/man2/mlock.22
-rw-r--r--man/man2/mmap.22
-rw-r--r--man/man2/mprotect.22
-rw-r--r--man/man2/msgctl.22
-rw-r--r--man/man2/msgget.22
-rw-r--r--man/man2/msgop.22
-rw-r--r--man/man2/msync.22
-rw-r--r--man/man2/nanosleep.22
-rw-r--r--man/man2/nice.22
-rw-r--r--man/man2/open.244
-rw-r--r--man/man2/pause.22
-rw-r--r--man/man2/pipe.28
-rw-r--r--man/man2/poll.212
-rw-r--r--man/man2/posix_fadvise.22
-rw-r--r--man/man2/pread.22
-rw-r--r--man/man2/readlink.22
-rw-r--r--man/man2/readv.22
-rw-r--r--man/man2/recv.24
-rw-r--r--man/man2/rename.27
-rw-r--r--man/man2/rmdir.23
-rw-r--r--man/man2/sched_get_priority_max.23
-rw-r--r--man/man2/sched_rr_get_interval.22
-rw-r--r--man/man2/sched_setparam.22
-rw-r--r--man/man2/sched_setscheduler.22
-rw-r--r--man/man2/sched_yield.22
-rw-r--r--man/man2/select.24
-rw-r--r--man/man2/semctl.22
-rw-r--r--man/man2/semget.22
-rw-r--r--man/man2/semop.22
-rw-r--r--man/man2/send.22
-rw-r--r--man/man2/seteuid.22
-rw-r--r--man/man2/setgid.22
-rw-r--r--man/man2/setpgid.29
-rw-r--r--man/man2/setresuid.23
-rw-r--r--man/man2/setreuid.22
-rw-r--r--man/man2/setsid.22
-rw-r--r--man/man2/setuid.22
-rw-r--r--man/man2/shmctl.22
-rw-r--r--man/man2/shmget.22
-rw-r--r--man/man2/shmop.26
-rw-r--r--man/man2/shutdown.22
-rw-r--r--man/man2/sigaction.22
-rw-r--r--man/man2/sigaltstack.22
-rw-r--r--man/man2/signal.22
-rw-r--r--man/man2/sigpending.22
-rw-r--r--man/man2/sigprocmask.22
-rw-r--r--man/man2/sigsuspend.22
-rw-r--r--man/man2/sigwaitinfo.22
-rw-r--r--man/man2/socket.220
-rw-r--r--man/man2/socketpair.223
-rw-r--r--man/man2/stat.22
-rw-r--r--man/man2/symlink.22
-rw-r--r--man/man2/sync.24
-rw-r--r--man/man2/time.26
-rw-r--r--man/man2/timer_create.22
-rw-r--r--man/man2/timer_delete.22
-rw-r--r--man/man2/timer_getoverrun.22
-rw-r--r--man/man2/timer_settime.22
-rw-r--r--man/man2/times.22
-rw-r--r--man/man2/truncate.24
-rw-r--r--man/man2/uname.22
-rw-r--r--man/man2/unlink.22
-rw-r--r--man/man2/utime.210
-rw-r--r--man/man2/utimensat.24
-rw-r--r--man/man2/vfork.21
-rw-r--r--man/man2/wait.211
-rw-r--r--man/man2/write.22
-rw-r--r--man/man2const/F_DUPFD.2const2
-rw-r--r--man/man2const/F_GETFD.2const2
-rw-r--r--man/man2const/F_GETFL.2const2
-rw-r--r--man/man2const/F_GETSIG.2const7
-rw-r--r--man/man3/MB_CUR_MAX.32
-rw-r--r--man/man3/_Fork.329
-rw-r--r--man/man3/ftime.32
-rw-r--r--man/man3/getenv.36
-rw-r--r--man/man3/ptsname.315
-rw-r--r--man/man3const/EOF.3const2
-rw-r--r--man/man3const/EXIT_SUCCESS.3const2
-rw-r--r--man/man3const/NULL.3const2
-rw-r--r--man/man3type/FILE.3type2
-rw-r--r--man/man3type/aiocb.3type2
-rw-r--r--man/man3type/blkcnt_t.3type2
-rw-r--r--man/man3type/blksize_t.3type2
-rw-r--r--man/man3type/cc_t.3type2
-rw-r--r--man/man3type/clock_t.3type2
-rw-r--r--man/man3type/clockid_t.3type2
-rw-r--r--man/man3type/dev_t.3type2
-rw-r--r--man/man3type/div_t.3type2
-rw-r--r--man/man3type/double_t.3type2
-rw-r--r--man/man3type/fenv_t.3type2
-rw-r--r--man/man3type/id_t.3type2
-rw-r--r--man/man3type/intN_t.3type2
-rw-r--r--man/man3type/intmax_t.3type2
-rw-r--r--man/man3type/intptr_t.3type2
-rw-r--r--man/man3type/iovec.3type2
-rw-r--r--man/man3type/itimerspec.3type2
-rw-r--r--man/man3type/lconv.3type2
-rw-r--r--man/man3type/locale_t.3type2
-rw-r--r--man/man3type/mbstate_t.3type2
-rw-r--r--man/man3type/mode_t.3type2
-rw-r--r--man/man3type/off_t.3type2
-rw-r--r--man/man3type/ptrdiff_t.3type2
-rw-r--r--man/man3type/sigevent.3type2
-rw-r--r--man/man3type/size_t.3type4
-rw-r--r--man/man3type/sockaddr.3type5
-rw-r--r--man/man3type/stat.3type2
-rw-r--r--man/man3type/time_t.3type40
-rw-r--r--man/man3type/timer_t.3type2
-rw-r--r--man/man3type/timespec.3type2
-rw-r--r--man/man3type/timeval.3type2
-rw-r--r--man/man3type/tm.3type3
-rw-r--r--man/man3type/va_list.3type2
-rw-r--r--man/man3type/void.3type2
-rw-r--r--man/man3type/wchar_t.3type2
-rw-r--r--man/man3type/wint_t.3type2
-rw-r--r--man/man7/pathname.75
-rw-r--r--man/man7/signal-safety.714
-rw-r--r--man/man7/signal.74
156 files changed, 367 insertions, 354 deletions
diff --git a/man/man2/_exit.2 b/man/man2/_exit.2
index 9d6c2505c4..e1f264c95d 100644
--- a/man/man2/_exit.2
+++ b/man/man2/_exit.2
@@ -58,15 +58,17 @@ These functions do not return.
.SH STANDARDS
.TP
.BR _exit ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR _Exit ()
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
+.TP
+.BR _exit ()
POSIX.1-2001, SVr4, 4.3BSD.
-.P
+.TP
.BR _Exit ()
-was introduced by C99.
+C99, POSIX.1-2001.
.SH NOTES
For a discussion on the effects of an exit, the transmission of
exit status, zombie processes, signals sent, and so on, see
diff --git a/man/man2/accept.2 b/man/man2/accept.2
index 9509c9be43..7c3c313371 100644
--- a/man/man2/accept.2
+++ b/man/man2/accept.2
@@ -269,12 +269,7 @@ of file status flags and always explicitly set all required flags on
the socket returned from
.BR accept ().
.SH STANDARDS
-.TP
-.BR accept ()
-POSIX.1-2008.
-.TP
-.BR accept4 ()
-Linux.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR accept ()
@@ -289,6 +284,7 @@ first appeared in 4.2BSD).
.\" In addition, SUSv2 documents EFAULT and ENOSR.
.TP
.BR accept4 ()
+POSIX.1-2024.
Linux 2.6.28,
glibc 2.10.
.SH NOTES
diff --git a/man/man2/access.2 b/man/man2/access.2
index 5ffac7b2db..2148a896d5 100644
--- a/man/man2/access.2
+++ b/man/man2/access.2
@@ -325,7 +325,7 @@ argument.
.BR access ()
.TQ
.BR faccessat ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR faccessat2 ()
Linux.
diff --git a/man/man2/alarm.2 b/man/man2/alarm.2
index 41b9d12980..9edde18cdb 100644
--- a/man/man2/alarm.2
+++ b/man/man2/alarm.2
@@ -35,7 +35,7 @@ returns the number of seconds remaining until any previously scheduled
alarm was due to be delivered, or zero if there was no previously
scheduled alarm.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
diff --git a/man/man2/bind.2 b/man/man2/bind.2
index 5311e98dc7..8d93014d33 100644
--- a/man/man2/bind.2
+++ b/man/man2/bind.2
@@ -177,12 +177,17 @@ A component of the path prefix is not a directory.
The socket inode would reside on a read-only filesystem.
.P
Other errors may be generated by the underlying protocol modules.
+.SH VERSIONS
+Portable programs must ensure that
+.I addr.sun_path
+is a null-terminated string
+for
+.B AF_UNIX
+sockets.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, SVr4, 4.4BSD
-.RB ( bind ()
-first appeared in 4.2BSD).
+POSIX.1-2001, SVr4, 4.2BSD.
.\" SVr4 documents an additional
.\" .B ENOSR
.\" general error condition, and
diff --git a/man/man2/chdir.2 b/man/man2/chdir.2
index f0e6744272..83702d2af3 100644
--- a/man/man2/chdir.2
+++ b/man/man2/chdir.2
@@ -101,7 +101,7 @@ is not a valid file descriptor.
.I fd
does not refer to a directory.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD.
.SH NOTES
diff --git a/man/man2/chmod.2 b/man/man2/chmod.2
index b5e6c9c0d6..20cf8649d4 100644
--- a/man/man2/chmod.2
+++ b/man/man2/chmod.2
@@ -340,7 +340,7 @@ that corresponds to the
.I dirfd
argument.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR chmod ()
diff --git a/man/man2/chown.2 b/man/man2/chown.2
index ac7a6d3e0e..4f741d2519 100644
--- a/man/man2/chown.2
+++ b/man/man2/chown.2
@@ -275,7 +275,7 @@ used only by the superuser (that is, ordinary users cannot give away files).
.\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
.\" error conditions.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR chown ()
diff --git a/man/man2/clock_getres.2 b/man/man2/clock_getres.2
index d10a28607c..5f8ed14f15 100644
--- a/man/man2/clock_getres.2
+++ b/man/man2/clock_getres.2
@@ -367,7 +367,7 @@ On some architectures, an implementation of
is provided in the
.BR vdso (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SUSv2.
Linux 2.6.
@@ -391,6 +391,10 @@ are available.
(See also
.BR sysconf (3).)
.\"
+.P
+POSIX.1-2024 made
+.B CLOCK_MONOTONIC
+mandatory.
.SS Historical note for SMP systems
Before Linux added kernel support for
.B CLOCK_PROCESS_CPUTIME_ID
diff --git a/man/man2/clock_nanosleep.2 b/man/man2/clock_nanosleep.2
index 3aa21db397..95a745635f 100644
--- a/man/man2/clock_nanosleep.2
+++ b/man/man2/clock_nanosleep.2
@@ -173,7 +173,7 @@ is not a permitted value for
The kernel does not support sleeping against this
.IR clockid .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
Linux 2.6,
diff --git a/man/man2/close.2 b/man/man2/close.2
index a19255a20d..56a3caaafd 100644
--- a/man/man2/close.2
+++ b/man/man2/close.2
@@ -75,7 +75,7 @@ subsequent
or
.BR close ().
.P
-See NOTES for a discussion of why
+See CAVEATS for a discussion of why
.BR close ()
should not be retried after an error.
.SH STANDARDS
@@ -84,6 +84,13 @@ POSIX.1-2008.
POSIX.1-2001, SVr4, 4.3BSD.
.\" SVr4 documents an additional ENOLINK error condition.
.SH NOTES
+The close-on-exec file descriptor flag can be used to ensure
+that a file descriptor is automatically closed upon a successful
+.BR execve (2);
+see
+.BR fcntl (2)
+for details.
+.SH CAVEATS
A successful close does not guarantee that the data has been successfully
saved to disk, as the kernel uses the buffer cache to defer writes.
Typically, filesystems do not flush buffers when a file is closed.
@@ -91,13 +98,6 @@ If you need to be sure that
the data is physically stored on the underlying disk, use
.BR fsync (2).
(It will depend on the disk hardware at this point.)
-.P
-The close-on-exec file descriptor flag can be used to ensure
-that a file descriptor is automatically closed upon a successful
-.BR execve (2);
-see
-.BR fcntl (2)
-for details.
.\"
.SS Multithreaded processes and close()
It is probably unwise to close file descriptors while
@@ -192,10 +192,7 @@ Many other implementations similarly always close the file descriptor
meaning that the file descriptor was invalid)
even if they subsequently report an error on return from
.BR close ().
-POSIX.1 is currently silent on this point,
-but there are plans to mandate this behavior in the next major release
-.\" Issue 8
-of the standard.
+POSIX.1-2008 was silent on this point.
.P
A careful programmer who wants to know about I/O errors may precede
.BR close ()
@@ -207,7 +204,7 @@ The
error is a somewhat special case.
Regarding the
.B EINTR
-error, POSIX.1-2008 says:
+error, POSIX.1-2008 said:
.P
.RS
If
@@ -244,16 +241,10 @@ must not be called again after an
error, and on at least one,
.BR close ()
must be called again.
-There are plans to address this conundrum for
-the next major release of the POSIX.1 standard.
-.\" FIXME . for later review when Issue 8 is one day released...
-.\" POSIX proposes further changes for EINTR
-.\" http://austingroupbugs.net/tag_view_page.php?tag_id=8
-.\" http://austingroupbugs.net/view.php?id=529
-.\"
-.\" FIXME .
-.\" Review the following glibc bug later
-.\" https://sourceware.org/bugzilla/show_bug.cgi?id=14627
+.P
+POSIX.1-2024 standardized the behavior of HP-UX,
+making Linux and many other implementations non-conforming.
+There are no plans to change the behavior on Linux.
.SH SEE ALSO
.BR close_range (2),
.BR fcntl (2),
diff --git a/man/man2/connect.2 b/man/man2/connect.2
index 00471be27d..243456aa74 100644
--- a/man/man2/connect.2
+++ b/man/man2/connect.2
@@ -208,12 +208,17 @@ The server may be too
busy to accept new connections.
Note that for IP sockets the timeout may
be very long when syncookies are enabled on the server.
+.SH VERSIONS
+Portable programs must ensure that
+.I addr.sun_path
+is a null-terminated string
+for
+.B AF_UNIX
+sockets.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, SVr4, 4.4BSD,
-.RB ( connect ()
-first appeared in 4.2BSD).
+POSIX.1-2001, SVr4, 4.2BSD.
.\" SVr4 documents the additional
.\" general error codes
.\" .BR EADDRNOTAVAIL ,
diff --git a/man/man2/dup.2 b/man/man2/dup.2
index c0126f6abc..941483319f 100644
--- a/man/man2/dup.2
+++ b/man/man2/dup.2
@@ -190,14 +190,7 @@ in
.B ENOMEM
Insufficient kernel memory was available.
.SH STANDARDS
-.TP
-.BR dup ()
-.TQ
-.BR dup2 ()
-POSIX.1-2008.
-.TP
-.BR dup3 ()
-Linux.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR dup ()
@@ -209,6 +202,7 @@ POSIX.1-2001, SVr4, 4.3BSD.
.\" The EBUSY return is Linux-specific.
.TP
.BR dup3 ()
+POSIX.1-2024.
Linux 2.6.27,
glibc 2.9.
.SH NOTES
diff --git a/man/man2/execve.2 b/man/man2/execve.2
index 0c0780c747..82b6cb2381 100644
--- a/man/man2/execve.2
+++ b/man/man2/execve.2
@@ -614,7 +614,7 @@ are used to delimit the arguments.
Linux (like most other modern UNIX systems)
ignores the set-user-ID and set-group-ID bits on scripts.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.\" SVr4 documents additional error
diff --git a/man/man2/fcntl.2 b/man/man2/fcntl.2
index 9a76bdb7b5..7f34e332ef 100644
--- a/man/man2/fcntl.2
+++ b/man/man2/fcntl.2
@@ -130,7 +130,7 @@ and
.BR F_DUPFD_CLOFORK ,
but Linux doesn't support them.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.\" .P
.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
.SH HISTORY
diff --git a/man/man2/fcntl_locking.2 b/man/man2/fcntl_locking.2
index a78b0719cf..dc98735571 100644
--- a/man/man2/fcntl_locking.2
+++ b/man/man2/fcntl_locking.2
@@ -561,27 +561,24 @@ was not specified as zero.
Too many segment locks open, lock table is full, or a remote locking
protocol failed (e.g., locking over NFS).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.\" .P
.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
-.P
-.BR F_OFD_SETLK ,
-.BR F_OFD_SETLKW ,
-and
-.B F_OFD_GETLK
-are Linux-specific (and one must define
-.B _GNU_SOURCE
-to obtain their definitions),
-but work is being done to have them included in the next version of POSIX.1.
.SH HISTORY
-SVr4, 4.3BSD, POSIX.1-2001.
-.P
-Only the operations
-.BR F_GETLK ,
-.BR F_SETLK ,
-and
+.TP
+.B F_GETLK
+.TQ
+.B F_SETLK
+.TQ
.B F_SETLKW
-are specified in POSIX.1-2001.
+SVr4, 4.3BSD, POSIX.1-2001.
+.TP
+.B F_OFD_SETLK
+.TQ
+.B F_OFD_SETLKW
+.TQ
+.B F_OFD_GETLK
+POSIX.1-2024.
.SH NOTES
.SS File locking
The original Linux
diff --git a/man/man2/fork.2 b/man/man2/fork.2
index 3c6190cece..995b7dd226 100644
--- a/man/man2/fork.2
+++ b/man/man2/fork.2
@@ -271,8 +271,12 @@ The glibc wrapper invokes any fork handlers that have been
established using
.BR pthread_atfork (3).
.\" and does some magic to ensure that getpid(2) returns the right value.
+.SS Async-signal safety
+.BR _Fork (3)
+is an async-signal safe variant of
+.BR fork (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH NOTES
@@ -333,6 +337,7 @@ main(void)
.BR vfork (2),
.BR wait (2),
.BR daemon (3),
+.BR _Fork (3),
.BR pthread_atfork (3),
.BR capabilities (7),
.BR credentials (7)
diff --git a/man/man2/fsync.2 b/man/man2/fsync.2
index 7ca3dd006e..d59e346ef1 100644
--- a/man/man2/fsync.2
+++ b/man/man2/fsync.2
@@ -149,7 +149,7 @@ to a value greater than 0.
.\" -1: unavailable, 0: ask using sysconf().
.\" glibc defines them to 1.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.2BSD.
.P
diff --git a/man/man2/getgid.2 b/man/man2/getgid.2
index af384ad61b..e56523ada7 100644
--- a/man/man2/getgid.2
+++ b/man/man2/getgid.2
@@ -44,7 +44,7 @@ See
.BR syscall (2)
for details regarding register mapping.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.P
diff --git a/man/man2/getgroups.2 b/man/man2/getgroups.2
index a31f879f77..78142e3bbd 100644
--- a/man/man2/getgroups.2
+++ b/man/man2/getgroups.2
@@ -150,7 +150,7 @@ For details, see
.SH STANDARDS
.TP
.BR getgroups ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR setgroups ()
None.
diff --git a/man/man2/gethostname.2 b/man/man2/gethostname.2
index c13bfabbd4..d657bfd7fc 100644
--- a/man/man2/gethostname.2
+++ b/man/man2/gethostname.2
@@ -140,13 +140,13 @@ in this case, a terminating null byte is not included in the returned
.SH STANDARDS
.TP
.BR gethostname ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR sethostname ()
None.
.SH HISTORY
SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).
-POSIX.1-2001 and POSIX.1-2008 specify
+POSIX.1 specifies
.BR gethostname ()
but not
.BR sethostname ().
diff --git a/man/man2/getitimer.2 b/man/man2/getitimer.2
index 40467b661f..6f35fa1304 100644
--- a/man/man2/getitimer.2
+++ b/man/man2/getitimer.2
@@ -179,10 +179,10 @@ the timer is disabled.
.IR "Don't use this Linux misfeature" :
it is nonportable and unnecessary.
.SH STANDARDS
-POSIX.1-2008.
+None.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).
-POSIX.1-2008 marks
+POSIX.1-2008 marked
.BR getitimer ()
and
.BR setitimer ()
@@ -190,6 +190,7 @@ obsolete, recommending the use of the POSIX timers API
.RB ( timer_gettime (2),
.BR timer_settime (2),
etc.) instead.
+POSIX.1-2024 removed them.
.SH NOTES
Timers will never expire before the requested time,
but may expire some (short) time afterward, which depends
diff --git a/man/man2/getpeername.2 b/man/man2/getpeername.2
index c367382423..16beb3a184 100644
--- a/man/man2/getpeername.2
+++ b/man/man2/getpeername.2
@@ -68,7 +68,7 @@ The file descriptor
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD
(first appeared in 4.2BSD).
diff --git a/man/man2/getpid.2 b/man/man2/getpid.2
index f0ec3f1ffa..2ae00557c3 100644
--- a/man/man2/getpid.2
+++ b/man/man2/getpid.2
@@ -51,7 +51,7 @@ See
.BR syscall (2)
for details regarding register mapping.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD, SVr4.
.SS C library/kernel differences
diff --git a/man/man2/getpriority.2 b/man/man2/getpriority.2
index 1b3a3107fb..02b98e8ee4 100644
--- a/man/man2/getpriority.2
+++ b/man/man2/getpriority.2
@@ -137,7 +137,7 @@ and
.I who
values specified.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).
diff --git a/man/man2/getrlimit.2 b/man/man2/getrlimit.2
index 1df2be2fdc..f53add91c4 100644
--- a/man/man2/getrlimit.2
+++ b/man/man2/getrlimit.2
@@ -529,7 +529,7 @@ T} Thread safety MT-Safe
.BR getrlimit ()
.TQ
.BR setrlimit ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR prlimit ()
Linux.
diff --git a/man/man2/getrusage.2 b/man/man2/getrusage.2
index 4236d367ee..44ec2fb469 100644
--- a/man/man2/getrusage.2
+++ b/man/man2/getrusage.2
@@ -183,7 +183,7 @@ T{
T} Thread safety MT-Safe
.TE
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
POSIX.1 specifies
.BR getrusage (),
diff --git a/man/man2/getsid.2 b/man/man2/getsid.2
index b83e167044..7688dd27c1 100644
--- a/man/man2/getsid.2
+++ b/man/man2/getsid.2
@@ -58,7 +58,7 @@ was found.
Linux does not return
.BR EPERM .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
Linux 2.0.
diff --git a/man/man2/getsockname.2 b/man/man2/getsockname.2
index 1bce1360c8..a7ca8573b8 100644
--- a/man/man2/getsockname.2
+++ b/man/man2/getsockname.2
@@ -64,10 +64,9 @@ The file descriptor
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, SVr4, 4.4BSD
-(first appeared in 4.2BSD).
+POSIX.1-2001, SVr4, 4.2BSD.
.\" SVr4 documents additional ENOMEM
.\" and ENOSR error codes.
.SH SEE ALSO
diff --git a/man/man2/getsockopt.2 b/man/man2/getsockopt.2
index f37b87d201..23180bae3b 100644
--- a/man/man2/getsockopt.2
+++ b/man/man2/getsockopt.2
@@ -140,7 +140,7 @@ The file descriptor
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
SVr4, 4.4BSD (first appeared in 4.2BSD).
diff --git a/man/man2/gettimeofday.2 b/man/man2/gettimeofday.2
index 03a7a7f4d7..8310f9c784 100644
--- a/man/man2/gettimeofday.2
+++ b/man/man2/gettimeofday.2
@@ -12,8 +12,10 @@ Standard C library
.nf
.B #include <sys/time.h>
.P
+.B [[deprecated]]
.BI "int gettimeofday(struct timeval *restrict " tv ,
.BI " struct timezone *_Nullable restrict " tz );
+.B [[deprecated]]
.BI "int settimeofday(const struct timeval *" tv ,
.BI " const struct timezone *_Nullable " tz );
.fi
@@ -173,23 +175,24 @@ but Android does not update the kernel timezone
based on the device timezone in Settings,
so the kernel's timezone is typically UTC.
.SH STANDARDS
-.TP
-.BR gettimeofday ()
-POSIX.1-2008 (obsolete).
-.TP
-.BR settimeofday ()
None.
.SH HISTORY
SVr4, 4.3BSD.
-POSIX.1-2001 describes
+POSIX.1-2001 described
.BR gettimeofday ()
but not
.BR settimeofday ().
-POSIX.1-2008 marks
+POSIX.1-2008 marked
.BR gettimeofday ()
as obsolete, recommending the use of
.BR clock_gettime (2)
instead.
+Likewise,
+.BR clock_settime (2)
+should be used instead of
+.BR settimeofday ().
+POSIX.1-2024 removed
+.BR gettimeofday ().
.P
Traditionally, the fields of
.I struct timeval
diff --git a/man/man2/getuid.2 b/man/man2/getuid.2
index de71632a4a..a1dd320fcf 100644
--- a/man/man2/getuid.2
+++ b/man/man2/getuid.2
@@ -28,7 +28,7 @@ and never modify
.\" 0000511: getuid and friends should not modify errno
.IR errno .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.P
diff --git a/man/man2/kill.2 b/man/man2/kill.2
index 684365c488..7ec979c076 100644
--- a/man/man2/kill.2
+++ b/man/man2/kill.2
@@ -116,7 +116,7 @@ has not yet been
.BR wait (2)ed
for.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SS Linux notes
diff --git a/man/man2/link.2 b/man/man2/link.2
index 1fd3821a9b..964f564d70 100644
--- a/man/man2/link.2
+++ b/man/man2/link.2
@@ -382,9 +382,7 @@ and
.I newdirfd
arguments.
.SH STANDARDS
-.TP
-.BR link ()
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR link ()
diff --git a/man/man2/listen.2 b/man/man2/listen.2
index beb4585b27..0af616689c 100644
--- a/man/man2/listen.2
+++ b/man/man2/listen.2
@@ -79,7 +79,7 @@ The socket is not of a type that supports the
.BR listen ()
operation.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.4BSD
(first appeared in 4.2BSD).
diff --git a/man/man2/lseek.2 b/man/man2/lseek.2
index 54005ca0c7..7d6fe98a38 100644
--- a/man/man2/lseek.2
+++ b/man/man2/lseek.2
@@ -203,17 +203,15 @@ on a terminal device fails with the error
.\" Other systems return the number of written characters,
.\" using SEEK_SET to set the counter. (Of written characters.)
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
-.P
+.TP
.B SEEK_DATA
-and
+.TQ
.B SEEK_HOLE
-are nonstandard extensions also present in Solaris,
-FreeBSD, and DragonFly BSD;
-they are proposed for inclusion in the next POSIX revision (Issue 8).
-.\" FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
+POSIX.1-2024;
+Solaris, FreeBSD, DragonFly BSD.
.SH NOTES
See
.BR open (2)
diff --git a/man/man2/mkdir.2 b/man/man2/mkdir.2
index 9e2a094a45..ac0d4405ec 100644
--- a/man/man2/mkdir.2
+++ b/man/man2/mkdir.2
@@ -226,7 +226,7 @@ that corresponds to the
.I dirfd
argument.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR mkdir ()
@@ -234,6 +234,7 @@ SVr4, BSD, POSIX.1-2001.
.\" SVr4 documents additional EIO, EMULTIHOP
.TP
.BR mkdirat ()
+POSIX.1-2008.
Linux 2.6.16,
glibc 2.4.
.SH NOTES
diff --git a/man/man2/mknod.2 b/man/man2/mknod.2
index 091727059a..1faa936800 100644
--- a/man/man2/mknod.2
+++ b/man/man2/mknod.2
@@ -262,7 +262,7 @@ One should make directories with
.BR mkdir (2).
.\" and one should make UNIX domain sockets with socket(2) and bind(2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR mknod ()
diff --git a/man/man2/mlock.2 b/man/man2/mlock.2
index 6a0397f50a..063dde4d4e 100644
--- a/man/man2/mlock.2
+++ b/man/man2/mlock.2
@@ -299,7 +299,7 @@ and
.BR mlockall ()
.TQ
.BR munlockall ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR mlock2 ()
Linux.
diff --git a/man/man2/mmap.2 b/man/man2/mmap.2
index 5a65846023..8f2c3ed5b1 100644
--- a/man/man2/mmap.2
+++ b/man/man2/mmap.2
@@ -735,7 +735,7 @@ wrapper function invokes
with a suitably adjusted value for
.IR offset .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD.
.\" SVr4 documents additional error codes ENXIO and ENODEV.
diff --git a/man/man2/mprotect.2 b/man/man2/mprotect.2
index 0734fbd76f..09cec72b76 100644
--- a/man/man2/mprotect.2
+++ b/man/man2/mprotect.2
@@ -258,7 +258,7 @@ is equivalent to
.SH STANDARDS
.TP
.BR mprotect ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR pkey_mprotect ()
Linux.
diff --git a/man/man2/msgctl.2 b/man/man2/msgctl.2
index 39d74c3e29..cff83924ab 100644
--- a/man/man2/msgctl.2
+++ b/man/man2/msgctl.2
@@ -378,7 +378,7 @@ but the caller is not privileged (Linux: does not have the
.B CAP_SYS_RESOURCE
capability).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVID does not document the EIDRM error condition.
diff --git a/man/man2/msgget.2 b/man/man2/msgget.2
index d92e96d51b..8600d66810 100644
--- a/man/man2/msgget.2
+++ b/man/man2/msgget.2
@@ -158,7 +158,7 @@ number of message queues
.RB ( MSGMNI )
would be exceeded.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.SS Linux
diff --git a/man/man2/msgop.2 b/man/man2/msgop.2
index 5d34b17857..4a5070f05a 100644
--- a/man/man2/msgop.2
+++ b/man/man2/msgop.2
@@ -440,7 +440,7 @@ were specified in
and this kernel was configured without
.BR CONFIG_CHECKPOINT_RESTORE .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
The
.B MSG_EXCEPT
diff --git a/man/man2/msync.2 b/man/man2/msync.2
index 240534050b..09b8ecb127 100644
--- a/man/man2/msync.2
+++ b/man/man2/msync.2
@@ -111,7 +111,7 @@ or
in
.IR flags .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
diff --git a/man/man2/nanosleep.2 b/man/man2/nanosleep.2
index d3effdb065..d291be5793 100644
--- a/man/man2/nanosleep.2
+++ b/man/man2/nanosleep.2
@@ -133,7 +133,7 @@ these time services shall expire when the requested duration elapses,
independently of the new or old value of the clock.
.RE
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
diff --git a/man/man2/nice.2 b/man/man2/nice.2
index 8c1be0b4c7..eeacbbefb0 100644
--- a/man/man2/nice.2
+++ b/man/man2/nice.2
@@ -88,7 +88,7 @@ wrapper function provided by glibc provides conformance to POSIX.1 by calling
.BR getpriority (2)
to obtain the new nice value, which is then returned to the caller.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.\" SVr4 documents an additional
diff --git a/man/man2/open.2 b/man/man2/open.2
index 12bf4452f8..eb29c77f31 100644
--- a/man/man2/open.2
+++ b/man/man2/open.2
@@ -1418,36 +1418,19 @@ but Linux doesn't support it.
.BR creat ()
.TQ
.BR openat ()
-POSIX.1-2008.
-.P
+POSIX.1-2024.
+.TP
.BR openat2 (2)
Linux.
-.P
-The
-.BR O_DIRECT ,
-.BR O_NOATIME ,
-.BR O_PATH ,
-and
+.TP
+.B O_DIRECT
+.TQ
+.B O_NOATIME
+.TQ
+.B O_PATH
+.TQ
.B O_TMPFILE
-flags are Linux-specific.
-One must define
-.B _GNU_SOURCE
-to obtain their definitions.
-.P
-The
-.BR O_CLOEXEC ,
-.BR O_DIRECTORY ,
-and
-.B O_NOFOLLOW
-flags are not specified in POSIX.1-2001,
-but are specified in POSIX.1-2008.
-Since glibc 2.12, one can obtain their definitions by defining either
-.B _POSIX_C_SOURCE
-with a value greater than or equal to 200809L or
-.B _XOPEN_SOURCE
-with a value greater than or equal to 700.
-In glibc 2.11 and earlier, one obtains the definitions by defining
-.BR _GNU_SOURCE .
+Linux.
.SH HISTORY
.TP
.BR open ()
@@ -1459,6 +1442,13 @@ SVr4, 4.3BSD, POSIX.1-2001.
POSIX.1-2008.
Linux 2.6.16,
glibc 2.4.
+.TP
+.B O_CLOEXEC
+.TQ
+.B O_DIRECTORY
+.TQ
+.B O_NOFOLLOW
+POSIX.1-2008.
.SH NOTES
Under Linux, the
.B O_NONBLOCK
diff --git a/man/man2/pause.2 b/man/man2/pause.2
index e5d3494c8f..c232978b40 100644
--- a/man/man2/pause.2
+++ b/man/man2/pause.2
@@ -35,7 +35,7 @@ is set to
.B EINTR
a signal was caught and the signal-catching function returned.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH SEE ALSO
diff --git a/man/man2/pipe.2 b/man/man2/pipe.2
index ed1a4eab47..0d1a6dbb84 100644
--- a/man/man2/pipe.2
+++ b/man/man2/pipe.2
@@ -203,18 +203,14 @@ See
.BR syscall (2)
for information regarding registers used for storing second file descriptor.
.SH STANDARDS
-.TP
-.BR pipe ()
-POSIX.1-2008.
-.TP
-.BR pipe2 ()
-Linux.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR pipe ()
POSIX.1-2001.
.TP
.BR pipe2 ()
+POSIX.1-2024.
Linux 2.6.27,
glibc 2.9.
.SH EXAMPLES
diff --git a/man/man2/poll.2 b/man/man2/poll.2
index fd1236fa36..135fa365ea 100644
--- a/man/man2/poll.2
+++ b/man/man2/poll.2
@@ -418,16 +418,7 @@ See
for a discussion on the differences between the kernel and the libc
notion of the sigset.
.SH STANDARDS
-.TP
-.BR poll ()
-POSIX.1-2008.
-.TP
-.BR ppoll ()
-Linux.
-.\" FIXME .
-.\" ppoll() is proposed for inclusion in POSIX:
-.\" https://www.austingroupbugs.net/view.php?id=1263
-.\" NetBSD 3.0 has a pollts() which is like Linux ppoll().
+POSIX.1-2024.
.SH HISTORY
.TP
.BR poll ()
@@ -441,6 +432,7 @@ wrapper function provides emulation using
.BR select (2).
.TP
.BR ppoll ()
+POSIX.1-2024.
Linux 2.6.16,
glibc 2.4.
.SH NOTES
diff --git a/man/man2/posix_fadvise.2 b/man/man2/posix_fadvise.2
index ed0c91e069..0a124a23a7 100644
--- a/man/man2/posix_fadvise.2
+++ b/man/man2/posix_fadvise.2
@@ -212,7 +212,7 @@ hidden from applications by the glibc
wrapper function,
which invokes the appropriate architecture-specific system call.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
diff --git a/man/man2/pread.2 b/man/man2/pread.2
index 278e7ec814..17151547f7 100644
--- a/man/man2/pread.2
+++ b/man/man2/pread.2
@@ -91,7 +91,7 @@ to any error specified for
or
.BR lseek (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
diff --git a/man/man2/readlink.2 b/man/man2/readlink.2
index c539b33025..f2a53500a1 100644
--- a/man/man2/readlink.2
+++ b/man/man2/readlink.2
@@ -179,7 +179,7 @@ is relative and
.I dirfd
is a file descriptor referring to a file other than a directory.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR readlink ()
diff --git a/man/man2/readv.2 b/man/man2/readv.2
index 7bcd391cb5..e045bf8e3c 100644
--- a/man/man2/readv.2
+++ b/man/man2/readv.2
@@ -431,7 +431,7 @@ These arguments contain, respectively, the low order and high order 32 bits of
.BR readv ()
.TQ
.BR writev ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR preadv ()
.TQ
diff --git a/man/man2/recv.2 b/man/man2/recv.2
index aa99d74030..1cfb73a99d 100644
--- a/man/man2/recv.2
+++ b/man/man2/recv.2
@@ -511,10 +511,10 @@ but glibc currently types both as
.\" across architectures, but socklen_t is always 32 bits,
.\" as (at least with GCC) is int.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
-4.4BSD (first appeared in 4.2BSD).
+4.2BSD.
.P
POSIX.1 describes only the
.BR MSG_OOB ,
diff --git a/man/man2/rename.2 b/man/man2/rename.2
index a1a529034a..fd7a807f5f 100644
--- a/man/man2/rename.2
+++ b/man/man2/rename.2
@@ -488,19 +488,20 @@ capability.
.SH STANDARDS
.TP
.BR rename ()
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.TP
.BR renameat ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR renameat2 ()
Linux.
.SH HISTORY
.TP
.BR rename ()
-4.3BSD, C89, POSIX.1-2001.
+C89, POSIX.1-2001, 4.3BSD.
.TP
.BR renameat ()
+POSIX.1-2008.
Linux 2.6.16,
glibc 2.4.
.TP
diff --git a/man/man2/rmdir.2 b/man/man2/rmdir.2
index 28c55dad38..8bf31d889b 100644
--- a/man/man2/rmdir.2
+++ b/man/man2/rmdir.2
@@ -86,7 +86,6 @@ has
.I ..
as its final component.
POSIX.1 also allows
-.\" POSIX.1-2001, POSIX.1-2008
.B EEXIST
for this condition.
.TP
@@ -110,7 +109,7 @@ does not support the removal of directories.
.I path
refers to a directory on a read-only filesystem.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.3BSD.
.SH BUGS
diff --git a/man/man2/sched_get_priority_max.2 b/man/man2/sched_get_priority_max.2
index e98656bd3c..eb5feafa7f 100644
--- a/man/man2/sched_get_priority_max.2
+++ b/man/man2/sched_get_priority_max.2
@@ -61,7 +61,6 @@ priority range and map it to the interval given by
and
.BR sched_get_priority_min ().
POSIX.1 requires
-.\" POSIX.1-2001, POSIX.1-2008 (XBD 2.8.4)
a spread of at least 32 between the maximum and the minimum values for
.B SCHED_FIFO
and
@@ -92,7 +91,7 @@ The argument
.I policy
does not identify a defined scheduling policy.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man2/sched_rr_get_interval.2 b/man/man2/sched_rr_get_interval.2
index 8c9a88877c..3139abd957 100644
--- a/man/man2/sched_rr_get_interval.2
+++ b/man/man2/sched_rr_get_interval.2
@@ -71,7 +71,7 @@ quantum: the
file exposes the quantum as a millisecond value, whose default is 100.
Writing 0 to this file resets the quantum to the default value.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SS Linux
diff --git a/man/man2/sched_setparam.2 b/man/man2/sched_setparam.2
index 76fdfb9b7d..bb5a450df6 100644
--- a/man/man2/sched_setparam.2
+++ b/man/man2/sched_setparam.2
@@ -110,7 +110,7 @@ The thread whose ID is
.I pid
could not be found.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man2/sched_setscheduler.2 b/man/man2/sched_setscheduler.2
index 2677e34fac..89ac605367 100644
--- a/man/man2/sched_setscheduler.2
+++ b/man/man2/sched_setscheduler.2
@@ -186,7 +186,7 @@ instead of the
.BR sched_* (2)
system calls.)
.SH STANDARDS
-POSIX.1-2008 (but see BUGS below).
+POSIX.1-2024 (but see BUGS below).
.P
.B SCHED_BATCH
and
diff --git a/man/man2/sched_yield.2 b/man/man2/sched_yield.2
index 2bc3216941..e7c5092bc7 100644
--- a/man/man2/sched_yield.2
+++ b/man/man2/sched_yield.2
@@ -31,7 +31,7 @@ In the Linux implementation,
.BR sched_yield ()
always succeeds.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001 (but optional).
POSIX.1-2008.
diff --git a/man/man2/select.2 b/man/man2/select.2
index e97be1c098..25e80f216f 100644
--- a/man/man2/select.2
+++ b/man/man2/select.2
@@ -21,7 +21,7 @@ Standard C library
.BI " struct timeval *_Nullable restrict " timeout );
.P
.BI "void FD_CLR(int " fd ", fd_set *" set );
-.BI "int FD_ISSET(int " fd ", fd_set *" set );
+.BI "int FD_ISSET(int " fd ", const fd_set *" set );
.BI "void FD_SET(int " fd ", fd_set *" set );
.BI "void FD_ZERO(fd_set *" set );
.P
@@ -436,7 +436,7 @@ Portable programs may wish to check for
and loop, just as with
.BR EINTR .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR select ()
diff --git a/man/man2/semctl.2 b/man/man2/semctl.2
index 68f8e9221a..52a582c0eb 100644
--- a/man/man2/semctl.2
+++ b/man/man2/semctl.2
@@ -548,7 +548,7 @@ This was rectified
.\" commit a5f4db877177d2a3d7ae62a7bac3a5a27e083d7f
in Linux 4.6.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVr4 documents more error conditions EINVAL and EOVERFLOW.
diff --git a/man/man2/semget.2 b/man/man2/semget.2
index 6a09f30806..d206cf297c 100644
--- a/man/man2/semget.2
+++ b/man/man2/semget.2
@@ -185,7 +185,7 @@ or the system wide maximum number of semaphores
.RB ( SEMMNS ),
would be exceeded.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, POSIX.1-2001.
.\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN,
diff --git a/man/man2/semop.2 b/man/man2/semop.2
index 9e9d6554e0..1e8213cbc7 100644
--- a/man/man2/semop.2
+++ b/man/man2/semop.2
@@ -348,7 +348,7 @@ is greater than
the implementation dependent maximum value for
.IR semval .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH VERSIONS
Linux 2.5.52 (backported into Linux 2.4.22),
glibc 2.3.3.
diff --git a/man/man2/send.2 b/man/man2/send.2
index e47925327f..21b4b55531 100644
--- a/man/man2/send.2
+++ b/man/man2/send.2
@@ -458,7 +458,7 @@ but glibc currently types both as
.\" across architectures, but socklen_t is always 32 bits,
.\" as (at least with GCC) is int.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
.B MSG_CONFIRM
is a Linux extension.
diff --git a/man/man2/seteuid.2 b/man/man2/seteuid.2
index 1b803e37db..ce33ea4694 100644
--- a/man/man2/seteuid.2
+++ b/man/man2/seteuid.2
@@ -117,7 +117,7 @@ are implemented as library functions that call, respectively,
and
.BR setresgid (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.SH SEE ALSO
diff --git a/man/man2/setgid.2 b/man/man2/setgid.2
index de9b52a82c..0d8f8e2197 100644
--- a/man/man2/setgid.2
+++ b/man/man2/setgid.2
@@ -66,7 +66,7 @@ all of the other threads in the process also change their credentials.
For details, see
.BR nptl (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.P
diff --git a/man/man2/setpgid.2 b/man/man2/setpgid.2
index 3bd9fc1d8d..39f3966de1 100644
--- a/man/man2/setpgid.2
+++ b/man/man2/setpgid.2
@@ -224,11 +224,9 @@ is not the calling process and not a child of the calling process.
.BR setpgid ()
.TQ
.BR getpgrp "() (no args)"
-.TQ
-.BR setpgrp "() (no args)"
-POSIX.1-2008 (but see HISTORY).
+POSIX.1-2024.
.TP
-.BR setpgrp "() (2 args)"
+.BR setpgrp ()
.TQ
.BR getpgrp "() (1 arg)"
None.
@@ -243,7 +241,8 @@ POSIX.1-2001.
.TP
.BR setpgrp "() (no args)"
POSIX.1-2001.
-POSIX.1-2008 marks it as obsolete.
+Obsoleted in POSIX.1-2008.
+Removed in POSIX.1-2024.
.TP
.BR setpgrp "() (2 args)"
.TQ
diff --git a/man/man2/setresuid.2 b/man/man2/setresuid.2
index 2f8bcd6900..a5655ddc8c 100644
--- a/man/man2/setresuid.2
+++ b/man/man2/setresuid.2
@@ -114,8 +114,9 @@ all of the other threads in the process also change their credentials.
For details, see
.BR nptl (7).
.SH STANDARDS
-None.
+POSIX.1-2024.
.SH HISTORY
+POSIX.1-2024.
Linux 2.1.44,
glibc 2.3.2.
HP-UX, FreeBSD.
diff --git a/man/man2/setreuid.2 b/man/man2/setreuid.2
index c14ed40231..61fb4914d1 100644
--- a/man/man2/setreuid.2
+++ b/man/man2/setreuid.2
@@ -129,7 +129,7 @@ across implementations.
POSIX.1 makes no specification about the effect of these calls
on the saved set-user-ID and saved set-group-ID.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.3BSD (first appeared in 4.2BSD).
.P
diff --git a/man/man2/setsid.2 b/man/man2/setsid.2
index e4c40beb42..b49f13931c 100644
--- a/man/man2/setsid.2
+++ b/man/man2/setsid.2
@@ -45,7 +45,7 @@ Thus, in particular,
.BR setsid ()
fails if the calling process is already a process group leader.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.SH NOTES
diff --git a/man/man2/setuid.2 b/man/man2/setuid.2
index a0599e4bd3..9b80cad2a6 100644
--- a/man/man2/setuid.2
+++ b/man/man2/setuid.2
@@ -110,7 +110,7 @@ all of the other threads in the process also change their credentials.
For details, see
.BR nptl (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.P
diff --git a/man/man2/shmctl.2 b/man/man2/shmctl.2
index e2f79f0d88..c6f9dbdec6 100644
--- a/man/man2/shmctl.2
+++ b/man/man2/shmctl.2
@@ -452,7 +452,7 @@ using
This feature is not available on other UNIX implementations;
portable applications should avoid relying on it.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVr4 documents additional error conditions EINVAL,
diff --git a/man/man2/shmget.2 b/man/man2/shmget.2
index fe530f302c..f40f5896a3 100644
--- a/man/man2/shmget.2
+++ b/man/man2/shmget.2
@@ -258,7 +258,7 @@ see the description of
in
.BR proc_sys_vm (5).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
.B SHM_HUGETLB
and
diff --git a/man/man2/shmop.2 b/man/man2/shmop.2
index f180c99774..3f3a3615f3 100644
--- a/man/man2/shmop.2
+++ b/man/man2/shmop.2
@@ -208,6 +208,12 @@ from
.I char\ *
into
.IR "void\ *" .
+.P
+POSIX.1-2024
+changed the error code from
+.I (void\ *)\ \-1
+to
+.BR SHM_FAILED .
.SH NOTES
After a
.BR fork (2),
diff --git a/man/man2/shutdown.2 b/man/man2/shutdown.2
index e12f099773..a1884594a3 100644
--- a/man/man2/shutdown.2
+++ b/man/man2/shutdown.2
@@ -61,7 +61,7 @@ The file descriptor
.I sockfd
does not refer to a socket.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, 4.4BSD
(first appeared in 4.2BSD).
diff --git a/man/man2/sigaction.2 b/man/man2/sigaction.2
index f8ed68c041..441725aecb 100644
--- a/man/man2/sigaction.2
+++ b/man/man2/sigaction.2
@@ -1032,7 +1032,7 @@ wrapper function hides these details from us, transparently calling
.BR rt_sigaction ()
when the kernel provides it.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4.
.\" SVr4 does not document the EINTR condition.
diff --git a/man/man2/sigaltstack.2 b/man/man2/sigaltstack.2
index b27e6b1b43..7d26dd384e 100644
--- a/man/man2/sigaltstack.2
+++ b/man/man2/sigaltstack.2
@@ -239,7 +239,7 @@ T{
T} Thread safety MT-Safe
.TE
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.P
.B SS_AUTODISARM
is a Linux extension.
diff --git a/man/man2/signal.2 b/man/man2/signal.2
index fc34e90f67..af7fa6daad 100644
--- a/man/man2/signal.2
+++ b/man/man2/signal.2
@@ -133,7 +133,7 @@ when a signal handler is invoked;
use that interface instead of
.BR signal ().
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.P
diff --git a/man/man2/sigpending.2 b/man/man2/sigpending.2
index 51557e40d4..2ff6cc92d6 100644
--- a/man/man2/sigpending.2
+++ b/man/man2/sigpending.2
@@ -42,7 +42,7 @@ is set to indicate the error.
.I set
points to memory which is not a valid part of the process address space.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SS C library/kernel differences
diff --git a/man/man2/sigprocmask.2 b/man/man2/sigprocmask.2
index 39248f7f3e..3fee7a5411 100644
--- a/man/man2/sigprocmask.2
+++ b/man/man2/sigprocmask.2
@@ -169,7 +169,7 @@ wrapper function hides these details from us, transparently calling
when the kernel provides it.
.\"
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man2/sigsuspend.2 b/man/man2/sigsuspend.2
index 4b7d4030ee..5bd4d50be1 100644
--- a/man/man2/sigsuspend.2
+++ b/man/man2/sigsuspend.2
@@ -64,7 +64,7 @@ points to memory which is not a valid part of the process address space.
The call was interrupted by a signal;
.BR signal (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SS C library/kernel differences
diff --git a/man/man2/sigwaitinfo.2 b/man/man2/sigwaitinfo.2
index 7d7061a380..44fef7e378 100644
--- a/man/man2/sigwaitinfo.2
+++ b/man/man2/sigwaitinfo.2
@@ -157,7 +157,7 @@ wrapper function hides these details from us, transparently calling
when the kernel provides it.
.\"
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man2/socket.2 b/man/man2/socket.2
index d443958ecc..7b594d70d5 100644
--- a/man/man2/socket.2
+++ b/man/man2/socket.2
@@ -431,18 +431,15 @@ The protocol type or the specified protocol is not
supported within this domain.
.P
Other errors may be generated by the underlying protocol modules.
+.SH VERSIONS
+POSIX.1-2024 specifies
+.BR SOCK_CLOFORK ,
+but Linux doesn't support it.
.SH STANDARDS
-POSIX.1-2008.
-.P
-.B SOCK_NONBLOCK
-and
-.B SOCK_CLOEXEC
-are Linux-specific.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, 4.4BSD.
+POSIX.1-2001, 4.2BSD.
.P
-.BR socket ()
-appeared in 4.2BSD.
It is generally portable to/from
non-BSD systems supporting clones of the BSD socket layer (including
System\ V variants).
@@ -459,6 +456,11 @@ families.
However, already the BSD man page promises: "The protocol
family generally is the same as the address family", and subsequent
standards use AF_* everywhere.
+.TP
+.B SOCK_NONBLOCK
+.TQ
+.B SOCK_CLOEXEC
+POSIX.1-2024.
.SH EXAMPLES
An example of the use of
.BR socket ()
diff --git a/man/man2/socketpair.2 b/man/man2/socketpair.2
index 698f6b0ab8..a25a486af0 100644
--- a/man/man2/socketpair.2
+++ b/man/man2/socketpair.2
@@ -79,26 +79,21 @@ and
.\" commit: 70b03759e9ecfae400605fa34f3d7154cccbbba3
(since Linux 4.12).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
-POSIX.1-2001, 4.4BSD.
+POSIX.1-2001, 4.2BSD.
.P
-.BR socketpair ()
-first appeared in 4.2BSD.
It is generally portable to/from
non-BSD systems supporting clones of the BSD socket layer (including
System\ V variants).
-.P
-Since Linux 2.6.27,
-.BR socketpair ()
-supports the
-.B SOCK_NONBLOCK
-and
+.TP
.B SOCK_CLOEXEC
-flags in the
-.I type
-argument, as described in
-.BR socket (2).
+.TQ
+.B SOCK_NONBLOCK
+POSIX.1-2024;
+Linux 2.6.27.
+(See
+.BR socket (2).)
.SH SEE ALSO
.BR pipe (2),
.BR read (2),
diff --git a/man/man2/stat.2 b/man/man2/stat.2
index 078c90ef41..dc5c5b70ac 100644
--- a/man/man2/stat.2
+++ b/man/man2/stat.2
@@ -296,7 +296,7 @@ on a file whose size exceeds
.I (1<<31)\-1
bytes.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR stat ()
diff --git a/man/man2/symlink.2 b/man/man2/symlink.2
index 5810d90139..bfaf34a59d 100644
--- a/man/man2/symlink.2
+++ b/man/man2/symlink.2
@@ -212,7 +212,7 @@ does not support the creation of symbolic links.
.I linkpath
is on a read-only filesystem.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR symlink ()
diff --git a/man/man2/sync.2 b/man/man2/sync.2
index d6e75c5050..8202524306 100644
--- a/man/man2/sync.2
+++ b/man/man2/sync.2
@@ -79,7 +79,7 @@ allocate space at the time of a
system call, and some previous write failed due to insufficient
storage space.
.SH VERSIONS
-According to the standard specification (e.g., POSIX.1-2001),
+According to the standard specification (i.e., POSIX.1),
.BR sync ()
schedules the writes, but may return before the actual
writing is done.
@@ -95,7 +95,7 @@ the system or filesystem respectively.
.SH STANDARDS
.TP
.BR sync ()
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.BR syncfs ()
Linux.
diff --git a/man/man2/time.2 b/man/man2/time.2
index a93817820a..10c67de0af 100644
--- a/man/man2/time.2
+++ b/man/man2/time.2
@@ -85,11 +85,9 @@ On some architectures, an implementation of
is provided in the
.BR vdso (7).
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
-SVr4, 4.3BSD, C89, POSIX.1-2001.
-.\" Under 4.3BSD, this call is obsoleted by
-.\" .BR gettimeofday (2).
+SVr4, 4.3BSD, C89, POSIX.1-2001, V7.
.SH BUGS
Error returns from this system call are indistinguishable from
successful reports that the time is a few seconds
diff --git a/man/man2/timer_create.2 b/man/man2/timer_create.2
index c23780be01..2a96f2e6cb 100644
--- a/man/man2/timer_create.2
+++ b/man/man2/timer_create.2
@@ -255,7 +255,7 @@ which maps these IDs to the timer IDs employed by the kernel.
.\" that glibc uses to map user-space timer IDs to kernel timer IDs
.\" The kernel-level timer ID is exposed via siginfo.si_tid.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
diff --git a/man/man2/timer_delete.2 b/man/man2/timer_delete.2
index 997e77274d..83f9adab7a 100644
--- a/man/man2/timer_delete.2
+++ b/man/man2/timer_delete.2
@@ -45,7 +45,7 @@ is set to indicate the error.
.I timerid
is not a valid timer ID.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
diff --git a/man/man2/timer_getoverrun.2 b/man/man2/timer_getoverrun.2
index c094707dd1..fd45f8573e 100644
--- a/man/man2/timer_getoverrun.2
+++ b/man/man2/timer_getoverrun.2
@@ -92,7 +92,7 @@ timer notifications using signals.
.\" FIXME . Austin bug filed, 11 Feb 09
.\" https://www.austingroupbugs.net/view.php?id=95
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
diff --git a/man/man2/timer_settime.2 b/man/man2/timer_settime.2
index 9415162753..581051c2ca 100644
--- a/man/man2/timer_settime.2
+++ b/man/man2/timer_settime.2
@@ -173,7 +173,7 @@ or
.I new_value.it_value.tv_nsec
is negative or greater than 999,999,999.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
Linux 2.6.
POSIX.1-2001.
diff --git a/man/man2/times.2 b/man/man2/times.2
index df439af132..b3172a6ab1 100644
--- a/man/man2/times.2
+++ b/man/man2/times.2
@@ -103,7 +103,7 @@ and most
other UNIX implementations require a non-NULL value for
.IR buf .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
SVr4,
diff --git a/man/man2/truncate.2 b/man/man2/truncate.2
index 3cd6354035..946d6aaf0e 100644
--- a/man/man2/truncate.2
+++ b/man/man2/truncate.2
@@ -201,10 +201,10 @@ the calling signature for these system calls differ,
for the reasons described in
.BR syscall (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001,
-4.4BSD, SVr4 (first appeared in 4.2BSD).
+SVr4, 4.2BSD.
.\" POSIX.1-1996 has
.\" .BR ftruncate ().
.\" POSIX.1-2001 also has
diff --git a/man/man2/uname.2 b/man/man2/uname.2
index 72395fd066..8dcab88a11 100644
--- a/man/man2/uname.2
+++ b/man/man2/uname.2
@@ -77,7 +77,7 @@ just use sizeof(...).
SVr4 uses 257, "to support Internet hostnames"
\[em]this is the largest value likely to be encountered in the wild\[em].
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001, SVr4, 4.4BSD.
.SS C library/kernel differences
diff --git a/man/man2/unlink.2 b/man/man2/unlink.2
index 8ec6257539..8f0840949d 100644
--- a/man/man2/unlink.2
+++ b/man/man2/unlink.2
@@ -245,7 +245,7 @@ is relative and
.I dirfd
is a file descriptor referring to a file other than a directory.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR unlink ()
diff --git a/man/man2/utime.2 b/man/man2/utime.2
index f4b6d1dc4a..94307a5b90 100644
--- a/man/man2/utime.2
+++ b/man/man2/utime.2
@@ -147,12 +147,18 @@ capability).
.I path
resides on a read-only filesystem.
.SH STANDARDS
-POSIX.1-2008.
+.TP
+.BR utime ()
+None.
+.TP
+.BR utimes ()
+POSIX.1-2024.
.SH HISTORY
.TP
.BR utime ()
SVr4, POSIX.1-2001.
-POSIX.1-2008 marks it as obsolete.
+Obsoleted in POSIX.1-2008.
+Removed in POSIX.1-2024.
.TP
.BR utimes ()
4.3BSD, POSIX.1-2001.
diff --git a/man/man2/utimensat.2 b/man/man2/utimensat.2
index c6fa4b3698..bd512d48d9 100644
--- a/man/man2/utimensat.2
+++ b/man/man2/utimensat.2
@@ -442,8 +442,8 @@ the wrapper function returns the error
.B EINVAL
in this case.
.SH STANDARDS
-POSIX.1-2008.
-.SH VERSIONS
+POSIX.1-2024.
+.SH HISTORY
.TP
.BR utimensat ()
Linux 2.6.22,
diff --git a/man/man2/vfork.2 b/man/man2/vfork.2
index 2a0a200dce..b4b52043aa 100644
--- a/man/man2/vfork.2
+++ b/man/man2/vfork.2
@@ -311,5 +311,6 @@ are allowed and input attempts result in an end-of-file indication."
.BR execve (2),
.BR _exit (2),
.BR fork (2),
+.BR _Fork (3),
.BR unshare (2),
.BR wait (2)
diff --git a/man/man2/wait.2 b/man/man2/wait.2
index cbec496405..69eb55f69d 100644
--- a/man/man2/wait.2
+++ b/man/man2/wait.2
@@ -184,19 +184,14 @@ This macro should be employed only if
.B WIFSIGNALED
returned true.
.TP
-.BI WCOREDUMP( wstatus )
+.BI WCOREDUMP( wstatus ) " \f[R]// POSIX.1-2024\f[]"
returns true if the child produced a core dump (see
.BR core (5)).
This macro should be employed only if
.B WIFSIGNALED
returned true.
-.IP
-This macro is not specified in POSIX.1-2001 and is not available on
-some UNIX implementations (e.g., AIX, SunOS).
-Therefore, enclose its use inside
-.IR \%#ifdef\~WCOREDUMP .
.TP
-.BI WIFSTOPPED( wstatus )
+.BI WIFSTOPPED( wstatus ) " \f[R]// POSIX.1-2024\f[]"
returns true if the child process was stopped by delivery of a signal;
this is possible only if the call was done using
.B WUNTRACED
@@ -476,7 +471,7 @@ See
.BR getrusage (2)
for details.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.SH NOTES
diff --git a/man/man2/write.2 b/man/man2/write.2
index eb5369f846..6cf8c67040 100644
--- a/man/man2/write.2
+++ b/man/man2/write.2
@@ -220,7 +220,7 @@ catches, blocks or ignores this signal.)
Other errors may occur, depending on the object connected to
.IR fd .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.\" SVr4 documents additional error
diff --git a/man/man2const/F_DUPFD.2const b/man/man2const/F_DUPFD.2const
index b3635982ad..907a1cb864 100644
--- a/man/man2const/F_DUPFD.2const
+++ b/man/man2const/F_DUPFD.2const
@@ -76,7 +76,7 @@ POSIX.1-2024 specifies
.BR F_DUPFD_CLOFORK ,
but Linux doesn't support it.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
.TP
.B F_DUPFD
diff --git a/man/man2const/F_GETFD.2const b/man/man2const/F_GETFD.2const
index 065ba4c005..e44aa644d6 100644
--- a/man/man2const/F_GETFD.2const
+++ b/man/man2const/F_GETFD.2const
@@ -60,7 +60,7 @@ is set to indicate the error.
See
.BR fcntl (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.SH CAVEATS
diff --git a/man/man2const/F_GETFL.2const b/man/man2const/F_GETFL.2const
index aec7959f5c..c1b9413602 100644
--- a/man/man2const/F_GETFL.2const
+++ b/man/man2const/F_GETFL.2const
@@ -88,7 +88,7 @@ Attempted to clear the
.B O_APPEND
flag on a file that has the append-only attribute set.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
SVr4, 4.3BSD, POSIX.1-2001.
.SH BUGS
diff --git a/man/man2const/F_GETSIG.2const b/man/man2const/F_GETSIG.2const
index da92eb6940..3964cb7fd1 100644
--- a/man/man2const/F_GETSIG.2const
+++ b/man/man2const/F_GETSIG.2const
@@ -427,12 +427,12 @@ is not an allowable signal number.
.B F_GETOWN
.TQ
.B F_SETOWN
-POSIX.1-2008.
-.TP
+.TQ
.B F_GETOWN_EX
.TQ
.B F_SETOWN_EX
-.TQ
+POSIX.1-2024.
+.TP
.B F_GETSIG
.TQ
.B F_SETSIG
@@ -459,6 +459,7 @@ with the value 200809L or greater.)
.B F_GETOWN_EX
.TQ
.B F_GETOWN_EX
+POSIX.1-2024.
Linux 2.6.32.
.TP
.B F_GETSIG
diff --git a/man/man3/MB_CUR_MAX.3 b/man/man3/MB_CUR_MAX.3
index 4ed552ca70..662f750c33 100644
--- a/man/man3/MB_CUR_MAX.3
+++ b/man/man3/MB_CUR_MAX.3
@@ -24,7 +24,7 @@ An integer in the range [1,
.BR MB_LEN_MAX ].
The value 1 denotes traditional 8-bit encoded characters.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3/_Fork.3 b/man/man3/_Fork.3
new file mode 100644
index 0000000000..95b0bc61ba
--- /dev/null
+++ b/man/man3/_Fork.3
@@ -0,0 +1,29 @@
+.\" Copyright, The authors of the Linux man-pages project
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH _Fork 3 (date) "Linux man-pages (unreleased)"
+.SH NAME
+_Fork \- create a child process
+.SH LIBRARY
+Standard C library
+.RI ( libc ,\~ \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <unistd.h>
+.P
+.B pid_t _Fork(void);
+.fi
+.SH DESCRIPTION
+This function is equivalent to
+.BR fork (2),
+except that fork handlers registered with
+.BR pthread_atfork (3)
+are not called.
+.SH STANDARDS
+POSIX.1-2024.
+.SH HISTORY
+POSIX.1-2024.
+.SH SEE ALSO
+.BR fork (2),
+.BR vfork (2)
diff --git a/man/man3/ftime.3 b/man/man3/ftime.3
index 0a69706897..5a5e61df92 100644
--- a/man/man3/ftime.3
+++ b/man/man3/ftime.3
@@ -13,7 +13,7 @@ Standard C library
.nf
.B "#include <sys/timeb.h>"
.P
-.BI "int ftime(struct timeb *" tp );
+.BI "[[deprecated]] int ftime(struct timeb *" tp );
.fi
.SH DESCRIPTION
.BR NOTE :
diff --git a/man/man3/getenv.3 b/man/man3/getenv.3
index 0d0ff9eea9..529c1a8fb5 100644
--- a/man/man3/getenv.3
+++ b/man/man3/getenv.3
@@ -36,7 +36,7 @@ and returns a pointer to the corresponding
.I value
string.
.P
-The GNU-specific
+The
.BR secure_getenv ()
function is just like
.BR getenv ()
@@ -89,14 +89,14 @@ T} Thread safety MT-Safe env
C11, POSIX.1-2008.
.TP
.BR secure_getenv ()
-GNU.
+POSIX.1-2024.
.SH HISTORY
.TP
.BR getenv ()
POSIX.1-2001, C89, C99, SVr4, 4.3BSD.
.TP
.BR secure_getenv ()
-glibc 2.17.
+POSIX.1-2024, glibc 2.17.
.SH NOTES
The strings in the environment list are of the form
.IR name=value .
diff --git a/man/man3/ptsname.3 b/man/man3/ptsname.3
index 0049449d2e..8ed52caf55 100644
--- a/man/man3/ptsname.3
+++ b/man/man3/ptsname.3
@@ -110,7 +110,7 @@ T} Thread safety MT-Safe
.SH VERSIONS
A version of
.BR ptsname_r ()
-is documented on Tru64 and HP-UX,
+is documented on Tru64, HP-UX, and FreeBSD,
but on those implementations,
\-1 is returned on error, with
.I errno
@@ -120,13 +120,9 @@ Avoid using this function in portable programs.
.TP
.BR ptsname ():
POSIX.1-2008.
-.P
-.BR ptsname_r ()
-is a Linux extension, that is proposed for inclusion
-.\" FIXME . for later review when Issue 8 is one day released
-.\" http://austingroupbugs.net/tag_view_page.php?tag_id=8
-.\" http://austingroupbugs.net/view.php?id=508
-in the next major revision of POSIX.1 (Issue 8).
+.TP
+.BR ptsname_r ():
+POSIX.1-2024.
.SH HISTORY
.TP
.BR ptsname ():
@@ -136,6 +132,9 @@ glibc 2.1.
.BR ptsname ()
is part of the UNIX 98 pseudoterminal support (see
.BR pts (4)).
+.TP
+.BR ptsname_r ():
+GNU.
.SH SEE ALSO
.BR grantpt (3),
.BR posix_openpt (3),
diff --git a/man/man3const/EOF.3const b/man/man3const/EOF.3const
index 43e84e0e9c..3d15d909ac 100644
--- a/man/man3const/EOF.3const
+++ b/man/man3const/EOF.3const
@@ -27,7 +27,7 @@ is not a character
.IR "unsigned char" ).
It is instead a sentinel value outside of the valid range for valid characters.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH CAVEATS
diff --git a/man/man3const/EXIT_SUCCESS.3const b/man/man3const/EXIT_SUCCESS.3const
index e90238a771..7f5f6030dc 100644
--- a/man/man3const/EXIT_SUCCESS.3const
+++ b/man/man3const/EXIT_SUCCESS.3const
@@ -25,7 +25,7 @@ and can be used as arguments to the
.BR exit (3)
function.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH EXAMPLES
diff --git a/man/man3const/NULL.3const b/man/man3const/NULL.3const
index 1bba206b49..e8fed08489 100644
--- a/man/man3const/NULL.3const
+++ b/man/man3const/NULL.3const
@@ -20,7 +20,7 @@ Standard C library
represents a null pointer constant,
that is, a pointer that does not point to anything.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/FILE.3type b/man/man3type/FILE.3type
index d0930f13f4..3adc5f4bc2 100644
--- a/man/man3type/FILE.3type
+++ b/man/man3type/FILE.3type
@@ -17,7 +17,7 @@ Standard C library
.SH DESCRIPTION
An object type used for streams.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/aiocb.3type b/man/man3type/aiocb.3type
index 6b1d1fdcd9..d81f425fce 100644
--- a/man/man3type/aiocb.3type
+++ b/man/man3type/aiocb.3type
@@ -26,7 +26,7 @@ Standard C library
For further information about this structure, see
.BR aio (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/blkcnt_t.3type b/man/man3type/blkcnt_t.3type
index 9cb27230bf..7247f6486b 100644
--- a/man/man3type/blkcnt_t.3type
+++ b/man/man3type/blkcnt_t.3type
@@ -18,7 +18,7 @@ Standard C library
Used for file block counts.
It is a signed integer type.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/blksize_t.3type b/man/man3type/blksize_t.3type
index 88d637ed69..4ec9013fdb 100644
--- a/man/man3type/blksize_t.3type
+++ b/man/man3type/blksize_t.3type
@@ -18,7 +18,7 @@ Standard C library
Used for file block sizes.
It is a signed integer type.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/cc_t.3type b/man/man3type/cc_t.3type
index 7bb44fa477..99ed8d4a9e 100644
--- a/man/man3type/cc_t.3type
+++ b/man/man3type/cc_t.3type
@@ -26,7 +26,7 @@ for modes.
.P
All are unsigned integer types.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/clock_t.3type b/man/man3type/clock_t.3type
index 89d80b36f0..6701862d0e 100644
--- a/man/man3type/clock_t.3type
+++ b/man/man3type/clock_t.3type
@@ -22,7 +22,7 @@ Used for system time in clock ticks or
According to POSIX,
it is an integer type or a real-floating type.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/clockid_t.3type b/man/man3type/clockid_t.3type
index 6e3fa877a7..fc44444508 100644
--- a/man/man3type/clockid_t.3type
+++ b/man/man3type/clockid_t.3type
@@ -18,7 +18,7 @@ Standard C library
Used for clock ID type in the clock and timer functions.
It is defined as an arithmetic type.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/dev_t.3type b/man/man3type/dev_t.3type
index 6931ff950c..398e6f9530 100644
--- a/man/man3type/dev_t.3type
+++ b/man/man3type/dev_t.3type
@@ -20,7 +20,7 @@ It is an integer type.
For further details of this type, see
.BR makedev (3).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/div_t.3type b/man/man3type/div_t.3type
index 45fd719ab3..19af4ee7d5 100644
--- a/man/man3type/div_t.3type
+++ b/man/man3type/div_t.3type
@@ -47,7 +47,7 @@ is the type of the value returned by the
.BR imaxdiv (3)
function.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/double_t.3type b/man/man3type/double_t.3type
index f3a4523957..88c9b64bf3 100644
--- a/man/man3type/double_t.3type
+++ b/man/man3type/double_t.3type
@@ -46,7 +46,7 @@ and
.I double_t
are implementation-defined.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/fenv_t.3type b/man/man3type/fenv_t.3type
index edc8b4855a..052b6ab490 100644
--- a/man/man3type/fenv_t.3type
+++ b/man/man3type/fenv_t.3type
@@ -26,7 +26,7 @@ represents the floating-point status flags collectively.
For further details see
.BR fenv (3).
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/id_t.3type b/man/man3type/id_t.3type
index 736f854bf0..6b17320d96 100644
--- a/man/man3type/id_t.3type
+++ b/man/man3type/id_t.3type
@@ -38,7 +38,7 @@ It is an integer type that can be used to contain a
or
.IR gid_t .
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/intN_t.3type b/man/man3type/intN_t.3type
index f8246410e1..8f68aeccee 100644
--- a/man/man3type/intN_t.3type
+++ b/man/man3type/intN_t.3type
@@ -154,7 +154,7 @@ for scanning
.I uint8_t
values.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.P
diff --git a/man/man3type/intmax_t.3type b/man/man3type/intmax_t.3type
index 90e6c0ef4a..9da2891f3e 100644
--- a/man/man3type/intmax_t.3type
+++ b/man/man3type/intmax_t.3type
@@ -79,7 +79,7 @@ for printing
.RI [ u ] intmax_t
values.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/intptr_t.3type b/man/man3type/intptr_t.3type
index 7ff23d9ee2..3201e8af3f 100644
--- a/man/man3type/intptr_t.3type
+++ b/man/man3type/intptr_t.3type
@@ -94,7 +94,7 @@ for scanning
.I uintptr_t
values.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/iovec.3type b/man/man3type/iovec.3type
index e464c3bb28..368f57157c 100644
--- a/man/man3type/iovec.3type
+++ b/man/man3type/iovec.3type
@@ -37,7 +37,7 @@ is limited by
or accessible via the call
.IR sysconf(_SC_IOV_MAX) ).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/itimerspec.3type b/man/man3type/itimerspec.3type
index c1c2fc5747..00eca67022 100644
--- a/man/man3type/itimerspec.3type
+++ b/man/man3type/itimerspec.3type
@@ -22,7 +22,7 @@ Describes the initial expiration of a timer,
and its interval,
in seconds and nanoseconds.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/lconv.3type b/man/man3type/lconv.3type
index 99427658f1..e7bb3bde3c 100644
--- a/man/man3type/lconv.3type
+++ b/man/man3type/lconv.3type
@@ -44,7 +44,7 @@ Contains members related to the formatting of numeric values.
In the "C" locale, its members have the values
shown in the comments above.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/locale_t.3type b/man/man3type/locale_t.3type
index 2292224a31..f254d50e7f 100644
--- a/man/man3type/locale_t.3type
+++ b/man/man3type/locale_t.3type
@@ -20,7 +20,7 @@ Standard C library
.I locale_t
is a type used for storing a locale object.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2008.
.SH NOTES
diff --git a/man/man3type/mbstate_t.3type b/man/man3type/mbstate_t.3type
index 67bad55161..a4e090477b 100644
--- a/man/man3type/mbstate_t.3type
+++ b/man/man3type/mbstate_t.3type
@@ -72,7 +72,7 @@ mbstate_t state = { 0 };
.EE
.in
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/mode_t.3type b/man/man3type/mode_t.3type
index 8aef0288d8..fdfea91a44 100644
--- a/man/man3type/mode_t.3type
+++ b/man/man3type/mode_t.3type
@@ -18,7 +18,7 @@ Standard C library
Used for some file attributes (e.g., file mode).
It is an integer type.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/off_t.3type b/man/man3type/off_t.3type
index 78458b6deb..b0eebcf4af 100644
--- a/man/man3type/off_t.3type
+++ b/man/man3type/off_t.3type
@@ -39,7 +39,7 @@ introduced by the Linux kernel.
.SH STANDARDS
.TP
.I off_t
-POSIX.1-2008.
+POSIX.1-2024.
.TP
.I off64_t
GNU and some BSDs.
diff --git a/man/man3type/ptrdiff_t.3type b/man/man3type/ptrdiff_t.3type
index a606236a79..9d7811a1fe 100644
--- a/man/man3type/ptrdiff_t.3type
+++ b/man/man3type/ptrdiff_t.3type
@@ -38,7 +38,7 @@ for printing
.I ptrdiff_t
values.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/sigevent.3type b/man/man3type/sigevent.3type
index ac0383af20..97e369df51 100644
--- a/man/man3type/sigevent.3type
+++ b/man/man3type/sigevent.3type
@@ -113,7 +113,7 @@ see
.SS sigval
Data passed with a signal.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
diff --git a/man/man3type/size_t.3type b/man/man3type/size_t.3type
index 83ebce9ad7..38338b97e1 100644
--- a/man/man3type/size_t.3type
+++ b/man/man3type/size_t.3type
@@ -85,10 +85,10 @@ and using its length modifier
.SH STANDARDS
.TP
.I size_t
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.TP
.I ssize_t
-POSIX.1-2008.
+POSIX.1-2024.
.PD
.SH HISTORY
.TP
diff --git a/man/man3type/sockaddr.3type b/man/man3type/sockaddr.3type
index ed16cd343e..d0307280e5 100644
--- a/man/man3type/sockaddr.3type
+++ b/man/man3type/sockaddr.3type
@@ -107,7 +107,7 @@ stored in network byte order.
.I sockaddr_un
Describes a UNIX domain socket address.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
@@ -120,7 +120,8 @@ These structures were invented before modern ISO C strict-aliasing rules.
If aliasing rules are applied strictly,
these structures would be extremely difficult to use
without invoking undefined behavior.
-POSIX Issue 8 will fix this by requiring that implementations
+POSIX.1-2024 fixed this
+by requiring that implementations
make sure that these structures
can be safely used as they were designed.
.SH NOTES
diff --git a/man/man3type/stat.3type b/man/man3type/stat.3type
index 53547c1e15..67ecc0013b 100644
--- a/man/man3type/stat.3type
+++ b/man/man3type/stat.3type
@@ -115,7 +115,7 @@ This is the file's last status change timestamp
For further information on the above fields, see
.BR inode (7).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.P
diff --git a/man/man3type/time_t.3type b/man/man3type/time_t.3type
index 426868fed0..28205755f6 100644
--- a/man/man3type/time_t.3type
+++ b/man/man3type/time_t.3type
@@ -24,11 +24,8 @@ Standard C library
.I time_t
Used for time in seconds.
According to POSIX,
-it is an integer type.
-.\" In POSIX.1-2001, the type was specified as being either an integer
-.\" type or a real-floating type. However, existing implementations
-.\" used an integer type, and POSIX.1-2008 tightened the specification
-.\" to reflect this.
+it is an integer type
+of at least 64 bits.
.TP
.I suseconds_t
Used for time in microseconds.
@@ -46,33 +43,40 @@ capable of storing values at least in the range
.SH STANDARDS
.TP
.I time_t
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.TP
.I suseconds_t
-.TQ
+POSIX.1-2024.
+.TP
.I useconds_t
-POSIX.1-2008.
-.PD
+None.
.SH HISTORY
.TP
.I time_t
C89, POSIX.1-2001.
.TP
.I suseconds_t
-.TQ
+POSIX.1-2001.
+.TP
.I useconds_t
POSIX.1-2001.
-.P
+Removed in POSIX.1-2008.
+.SS Header files
.I <sched.h>
defines
.I time_t
since POSIX.1-2008.
+.SS time_t
+In POSIX.1-2001,
+.I time_t
+was specified as being either an integer type or a real-floating type.
+However,
+existing implementations used an integer type,
+and POSIX.1-2008 tightened the specification to reflect this.
.P
-POSIX.1-2001 defined
-.I useconds_t
-in
-.I <unistd.h>
-too.
+POSIX.1-2024 required that the width of
+.I time_t
+is at least 64 bits.
.SH NOTES
On some architectures,
the width of
@@ -100,6 +104,10 @@ The following headers also provide
.I <sys/select.h>
and
.IR <sys/time.h> .
+.P
+The following headers also provided
+.IR useconds_t :
+.IR <unistd.h> .
.SH SEE ALSO
.BR stime (2),
.BR time (2),
diff --git a/man/man3type/timer_t.3type b/man/man3type/timer_t.3type
index f0dec38665..ff90787181 100644
--- a/man/man3type/timer_t.3type
+++ b/man/man3type/timer_t.3type
@@ -18,7 +18,7 @@ Standard C library
Used for timer ID returned by
.BR timer_create (2).
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/timespec.3type b/man/man3type/timespec.3type
index 55ce507b2e..30bad58d1c 100644
--- a/man/man3type/timespec.3type
+++ b/man/man3type/timespec.3type
@@ -36,7 +36,7 @@ Prior to C23,
was
.IR long .
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/timeval.3type b/man/man3type/timeval.3type
index 5aefbb9eec..d11ad0b7eb 100644
--- a/man/man3type/timeval.3type
+++ b/man/man3type/timeval.3type
@@ -20,7 +20,7 @@ Standard C library
.SH DESCRIPTION
Describes times in seconds and microseconds.
.SH STANDARDS
-POSIX.1-2008.
+POSIX.1-2024.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/tm.3type b/man/man3type/tm.3type
index 0a1de7df9b..ec7600fdd3 100644
--- a/man/man3type/tm.3type
+++ b/man/man3type/tm.3type
@@ -25,7 +25,8 @@ Standard C library
.BR " int tm_yday;" \
" /* Day of the year [" 0 ", " 365 "] (Jan/01 = " 0 ") */"
.BR " int tm_isdst;" " /* Daylight savings flag */"
-.P
+\&
+ /* Since POSIX.1-2024: */
.BR " long tm_gmtoff;" " /* Seconds East of UTC */"
.BR " const char *tm_zone;" " /* Timezone abbreviation */"
.B };
diff --git a/man/man3type/va_list.3type b/man/man3type/va_list.3type
index afe933e4ee..96973ef180 100644
--- a/man/man3type/va_list.3type
+++ b/man/man3type/va_list.3type
@@ -26,7 +26,7 @@ and
.BR va_end (3)
to traverse the list of arguments.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH NOTES
diff --git a/man/man3type/void.3type b/man/man3type/void.3type
index 745331c1bd..ebbeb4d154 100644
--- a/man/man3type/void.3type
+++ b/man/man3type/void.3type
@@ -63,7 +63,7 @@ The POSIX requirement about compatibility between
and function pointers was added in
POSIX.1-2008 Technical Corrigendum 1 (2013).
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C89, POSIX.1-2001.
.SH SEE ALSO
diff --git a/man/man3type/wchar_t.3type b/man/man3type/wchar_t.3type
index b9ba303cf0..165a990b7e 100644
--- a/man/man3type/wchar_t.3type
+++ b/man/man3type/wchar_t.3type
@@ -27,7 +27,7 @@ Standard C library
is a type used for storing a wide character.
It is an integer type.
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.P
diff --git a/man/man3type/wint_t.3type b/man/man3type/wint_t.3type
index ed436409da..3c04562505 100644
--- a/man/man3type/wint_t.3type
+++ b/man/man3type/wint_t.3type
@@ -38,7 +38,7 @@ or an error.
It is of type
.IR wint_t .
.SH STANDARDS
-C11, POSIX.1-2008.
+C11, POSIX.1-2024.
.SH HISTORY
C99, POSIX.1-2001.
.P
diff --git a/man/man7/pathname.7 b/man/man7/pathname.7
index 3cdc367d81..438e4ce16e 100644
--- a/man/man7/pathname.7
+++ b/man/man7/pathname.7
@@ -68,6 +68,11 @@ characters in the POSIX
.UR https://pubs.opengroup.org/\:onlinepubs/\:9799919799/\:basedefs/\:V1_chap03.html#tag_03_265
Portable Filename Character Set
.UE .
+.SH VERSIONS
+POSIX.1-2024 encourages implementations to
+disallow creation of filenames containing new-line characters.
+Linux doesn't follow this,
+and allows using new-line characters.
.SH SEE ALSO
.BR limits.h (0p),
.BR open (2),
diff --git a/man/man7/signal-safety.7 b/man/man7/signal-safety.7
index c7d5ef10d2..d844d2725a 100644
--- a/man/man7/signal-safety.7
+++ b/man/man7/signal-safety.7
@@ -115,7 +115,7 @@ T}
\f[B]fdatasync\f[](2)
\f[B]fexecve\f[](3) Added in POSIX.1-2008
\f[B]ffs\f[](3) Added in POSIX.1-2008 TC2
-\f[B]fork\f[](2) See notes below
+\f[B]_Fork\f[](3)
\f[B]fstat\f[](2)
\f[B]fstatat\f[](2) Added in POSIX.1-2008
\f[B]fsync\f[](2)
@@ -295,18 +295,6 @@ or
.BR siglongjmp (3)
and the program subsequently calls an unsafe function,
then the behavior of the program is undefined.
-.IP \[bu]
-POSIX.1-2001 TC1 clarified
-that if an application calls
-.BR fork (2)
-from a signal handler and any of the fork handlers registered by
-.BR pthread_atfork (3)
-calls a function that is not async-signal-safe, the behavior is undefined.
-A future revision of the standard
-.\" http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt
-is likely to remove
-.BR fork (2)
-from the list of async-signal-safe functions.
.\"
.IP \[bu]
Asynchronous signal handlers that call functions which are cancelation
diff --git a/man/man7/signal.7 b/man/man7/signal.7
index 8de2f06ece..ae3daaabd3 100644
--- a/man/man7/signal.7
+++ b/man/man7/signal.7
@@ -345,6 +345,8 @@ specified the signal: "P1990" indicates that the signal is described
in the original POSIX.1-1990 standard;
"P2001" indicates that the signal was added or its definition changed
in SUSv2 and POSIX.1-2001.
+"P2024" indicates that the signal was added or its definition changed
+in POSIX.1-2024.
.TS
l c c l
lB c c l.
@@ -393,7 +395,7 @@ SIGXCPU P2001 Core CPU time limit exceeded (4.2BSD);
see \f[B]setrlimit\f[](2)
SIGXFSZ P2001 Core File size limit exceeded (4.2BSD);
see \f[B]setrlimit\f[](2)
-SIGWINCH \- Ign Window resize signal (4.3BSD, Sun)
+SIGWINCH P2024 Ign Window resize signal (4.3BSD, Sun)
.TE
.P
The signals