mirror of
https://github.com/pyenv/pyenv.git
synced 2026-10-02 23:41:06 +09:00
Backport XCode 27 support to 3.10 (#3549)
Adapted 3.11 downstream patch
This commit is contained in:
parent
f17a6499b0
commit
a99ef7fc4e
@ -0,0 +1,109 @@
|
||||
From 639cdfe83c371bcc87969cb6db926bc360135ac9 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 1baa145e3ed..b67faee87a8 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11709,7 +11709,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11719,7 +11719,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -11762,6 +11762,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 3e6c07c2793..c431bf42398 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3680,7 +3680,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3690,7 +3690,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3712,6 +3712,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 6fa96938bf9512e0205b279801a181ff2666df34 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 2e7e0b7e0a7..04e72587bbf 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11940,7 +11940,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11950,7 +11950,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -11993,6 +11993,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 0c069141478..96bcd704a07 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3702,7 +3702,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3712,7 +3712,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3734,6 +3734,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 3cf76ece0608dbb12ff03e7c8d406e7b7db2b267 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From a57787f02b8748622e4d6ca503bfda5eea2952ec Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From e7a4c51e2b860939fd571d9062ae48d65a8ef6ce Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From dec047356c85880ccde9ceb08aec873150ebb6ce Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From aa13fa0dccef42fe23311544960cfda52169e89f Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 169cf06dbfe83862835225eb170e199d7060f5c0 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 72b6601d648c31b0f970859d820c7cfa6d731ac8 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From e2eacb52f1825425539ae8d777a35ae62ea003ad Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 2c0df425ef4e26366251172e040a9d6cfb1f9471 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 5e98482b7f8a32b769426b279742504aa45ba9a7 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From bc7cf075bc9476e358303855ca4a7c88f2103108 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index a7d2975f1f5..c0b730f2746 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5aa91cbad35..9eae56f1d31 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 95ca265cab510ac5ccf8da44b45234e1d51dcfd7 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From cf8eba395ddf888ce7d9e5e4a257209841aff6a4 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 43ec16e5e7b527cff1c9e47699248f04afe8cf37 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 0cc86f9ed76..3c3eb939642 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 547255ff31e..13d44972ea8 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From 654bafbe923d5a8f7ef7c3dee3f4bc9e4fef0139 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 19f1bd59ba8..5e3f216954e 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 763fc697be7..c06f1a567c3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From fb4d6093b2b2e557711a747bae5c16742abf49bc Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 19f1bd59ba8..5e3f216954e 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 763fc697be7..c06f1a567c3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From d3864984569660dccaa498b92d8fdabe9d291882 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 19f1bd59ba8..5e3f216954e 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 763fc697be7..c06f1a567c3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From c3f875f9d55c7e2040dac25a8afcdd048d87b50b Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index bad619963ad..bb7f6bb1c00 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cc69015b102..e2ab2faed28 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From b1d96618e86c6135eba1556ca096ba1ab69b6973 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index bad619963ad..bb7f6bb1c00 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11951,7 +11951,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11961,7 +11961,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12004,6 +12004,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cc69015b102..e2ab2faed28 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3707,7 +3707,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3717,7 +3717,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3739,6 +3739,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
From c6b863db3ae5e6e142d5ea24ac72a3cbc9c68ac9 Mon Sep 17 00:00:00 2001
|
||||
From: Ned Deily <nad@python.org>
|
||||
Date: Wed, 5 Aug 2026 10:30:17 +0300
|
||||
Subject: [PATCH] (downstream) [3.10] gh-153711: Avoid use of dup3 and pipe2
|
||||
calls introduced in macOS 27 (#155211)
|
||||
|
||||
---
|
||||
...-08-05-02-02-33.gh-issue-153711.pO9fFb.rst | 3 +++
|
||||
configure | 23 +++++++++++++++++--
|
||||
configure.ac | 11 +++++++--
|
||||
3 files changed, 33 insertions(+), 4 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
|
||||
diff --git a/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
new file mode 100644
|
||||
index 00000000000..90804c179a4
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/macOS/2026-08-05-02-02-33.gh-issue-153711.pO9fFb.rst
|
||||
@@ -0,0 +1,3 @@
|
||||
+On macOS, do not attempt to use the :manpage:`dup3(2)` and
|
||||
+:manpage:`pipe2(2)` system calls introduced in
|
||||
+macOS 27 to prevent problems when running on older systems.
|
||||
diff --git a/configure b/configure
|
||||
index 4b71c4e00f8..bfe3e819fff 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11952,7 +11952,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -11962,7 +11962,7 @@ for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -12005,6 +12005,25 @@ done
|
||||
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ ac_fn_c_check_func "$LINENO" "dup3" "ac_cv_func_dup3"
|
||||
+if test "x$ac_cv_func_dup3" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_DUP3 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2"
|
||||
+if test "x$ac_cv_func_pipe2" = xyes
|
||||
+then :
|
||||
+ printf '%s\n' "#define HAVE_PIPE2 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ac3be3850a9..0b88132edfb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3708,7 +3708,7 @@ fi
|
||||
|
||||
# checks for library functions
|
||||
AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
- clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \
|
||||
+ clock confstr close_range copy_file_range ctermid execv explicit_bzero \
|
||||
explicit_memset faccessat fchmod fchmodat fchown fchownat \
|
||||
fdwalk fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
|
||||
futimens futimes gai_strerror getentropy \
|
||||
@@ -3718,7 +3718,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
|
||||
if_nameindex \
|
||||
initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
|
||||
memrchr mbrtowc mkdirat mkfifo \
|
||||
- madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
|
||||
+ madvise mkfifoat mknod mknodat mktime mremap nice openat pathconf pause plock poll \
|
||||
posix_fallocate posix_fadvise posix_spawn posix_spawnp pread preadv preadv2 \
|
||||
pthread_condattr_setclock pthread_init pthread_kill pwrite pwritev pwritev2 \
|
||||
readlink readlinkat readv realpath renameat \
|
||||
@@ -3740,6 +3740,13 @@ if test "$MACHDEP" != linux; then
|
||||
AC_CHECK_FUNCS(lchmod)
|
||||
fi
|
||||
|
||||
+# macOS introduced dup3 and pipe2 in macOS 27, late in the
|
||||
+# lifetime of this version of Python. Rather than adding weaklinking
|
||||
+# support for them, just continue to ignore them.
|
||||
+if test "$ac_sys_system" != "Darwin"; then
|
||||
+ AC_CHECK_FUNCS([dup3 pipe2])
|
||||
+fi
|
||||
+
|
||||
AC_CHECK_DECL(dirfd,
|
||||
AC_DEFINE(HAVE_DIRFD, 1,
|
||||
Define if you have the 'dirfd' function or macro.), ,
|
||||
--
|
||||
2.55.0.windows.3
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user