aboutsummaryrefslogtreecommitdiffstats
path: root/man/man2
diff options
context:
space:
mode:
Diffstat (limited to 'man/man2')
-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
105 files changed, 244 insertions, 265 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