[PATCH 2/8] fcntl-h: glibc now has openat2

Paul Eggert <[email protected]>
Newsgroups gmane.comp.lib.gnulib.bugs
Message-ID <[email protected]>
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): HAVE_OPENAT2 is now 1,
as glibc 2.43 (2026) supports it.
---
 ChangeLog                        |  4 ++++
 doc/glibc-functions/openat2.texi | 21 +++++++++++++++++++++
 doc/gnulib.texi                  |  2 ++
 m4/fcntl_h.m4                    |  4 ++--
 4 files changed, 29 insertions(+), 2 deletions(-)
 create mode 100644 doc/glibc-functions/openat2.texi

diff --git a/ChangeLog b/ChangeLog
index 884e6fe9f4..731cb8bd53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2026-06-16  Paul Eggert  <[email protected]>
 
+	fcntl-h: glibc now has openat2
+	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): HAVE_OPENAT2 is now 1,
+	as glibc 2.43 (2026) supports it.
+
 	openat2: fix prereq typo
 	* modules/openat2 (configure.ac): Fix typo in spelling of prereq
 	for gl_PREREQ_OPENAT2.
diff --git a/doc/glibc-functions/openat2.texi b/doc/glibc-functions/openat2.texi
new file mode 100644
index 0000000000..a29461fb59
--- /dev/null
+++ b/doc/glibc-functions/openat2.texi
@@ -0,0 +1,21 @@
+@node openat2
+@subsection @code{openat2}
+@findex openat2
+
+Documentation:@* @uref{https://www.kernel.org/doc/man-pages/online/pages/man2/openat2.2.html,,man openat2}
+
+Gnulib module: ---
+
+Portability problems fixed by Gnulib:
+@itemize
+@item
+This function is missing on most platforms:
+glibc 2.42 on Linux, glibc on non-Linux, all non-glibc platforms.
+@end itemize
+
+Portability problems not fixed by Gnulib:
+@itemize
+@item
+On platforms that do not natively support @code{openat2} functionality,
+the Gnulib emulation might not act atomically.
+@end itemize
diff --git a/doc/gnulib.texi b/doc/gnulib.texi
index 6cebe1d2a8..5589119a35 100644
--- a/doc/gnulib.texi
+++ b/doc/gnulib.texi
@@ -5723,6 +5723,7 @@ Glibc fcntl.h
 * name_to_handle_at::
 * readahead::
 * open_by_handle_at::
+* openat2::
 * sync_file_range::
 @end menu
 
@@ -5730,6 +5731,7 @@ Glibc fcntl.h
 @include glibc-functions/name_to_handle_at.texi
 @include glibc-functions/readahead.texi
 @include glibc-functions/open_by_handle_at.texi
+@include glibc-functions/openat2.texi
 @include glibc-functions/sync_file_range.texi
 
 @node Glibc fenv.h
diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4
index 946a0bd632..3a5ddb2219 100644
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,5 +1,5 @@
 # fcntl_h.m4
-# serial 21
+# serial 22
 dnl Copyright (C) 2006-2007, 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -67,7 +67,7 @@ AC_DEFUN([gl_FCNTL_H_DEFAULTS]
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCNTL=1;          AC_SUBST([HAVE_FCNTL])
   HAVE_OPENAT=1;         AC_SUBST([HAVE_OPENAT])
-  HAVE_OPENAT2=0;        AC_SUBST([HAVE_OPENAT2])
+  HAVE_OPENAT2=1;        AC_SUBST([HAVE_OPENAT2]) dnl GNU/Linux only
   REPLACE_CREAT=0;       AC_SUBST([REPLACE_CREAT])
   REPLACE_FCNTL=0;       AC_SUBST([REPLACE_FCNTL])
   REPLACE_OPEN=0;        AC_SUBST([REPLACE_OPEN])
-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.