From 9bbfac9b0375ee1133107d5d40a6419dab45eaae Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:13:08 +0200 Subject: [PATCH 1/6] Set PY_SUPPORT_TIER=2 for Windows ARM64 builds --- PC/pyconfig.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PC/pyconfig.h b/PC/pyconfig.h index 22c3ccc05bb004e..982d4c662599a44 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -152,7 +152,7 @@ WIN32 is still required for the locale module. * * win_amd64 MSVC (x86_64-pc-windows-msvc): 1 * win32 MSVC (i686-pc-windows-msvc): 1 - * win_arm64 MSVC (aarch64-pc-windows-msvc): 3 + * win_arm64 MSVC (aarch64-pc-windows-msvc): 2 * other archs and ICC: 0 */ #ifdef MS_WIN64 @@ -170,7 +170,7 @@ WIN32 is still required for the locale module. #define PYD_PLATFORM_TAG "win_amd64" #elif defined(_M_ARM64) #define _Py_COMPILER _Py_PASTE_VERSION("64 bit (ARM64)") -#define PY_SUPPORT_TIER 3 +#define PY_SUPPORT_TIER 2 #define PYD_PLATFORM_TAG "win_arm64" #else #define _Py_COMPILER _Py_PASTE_VERSION("64 bit (Unknown)") From afd320db4a7a50fab4ac0021c415eb346e5cbab9 Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Sat, 29 Aug 2026 15:15:18 +0200 Subject: [PATCH 2/6] blurb it --- .../next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst diff --git a/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst b/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst new file mode 100644 index 000000000000000..b4ff01811203bda --- /dev/null +++ b/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst @@ -0,0 +1 @@ +Set ``PY_SUPPORT_TIER=2`` for Windows ARM64 builds. From aa17335449afdda76c8c580ea257bcbd7494384d Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Sat, 29 Aug 2026 17:57:20 +0200 Subject: [PATCH 3/6] update configure --- configure | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 6b560fe6841b722..bbe91d8bbdb5b89 100755 --- a/configure +++ b/configure @@ -7465,7 +7465,7 @@ case $host/$ac_cv_cc_name in #( PY_SUPPORT_TIER=2 ;; #( aarch64-pc-windows-msvc/msvc) : - PY_SUPPORT_TIER=3 ;; #( + PY_SUPPORT_TIER=2 ;; #( armv7l-*-linux-gnueabihf/gcc) : PY_SUPPORT_TIER=3 ;; #( powerpc64le-*-linux-gnu/clang) : diff --git a/configure.ac b/configure.ac index 476f13c82bbb2b9..beb1eb9945ade97 100644 --- a/configure.ac +++ b/configure.ac @@ -1266,7 +1266,7 @@ AS_CASE([$host/$ac_cv_cc_name], [wasm32-unknown-wasip1/clang], [PY_SUPPORT_TIER=2], dnl WebAssembly System Interface preview1, clang [x86_64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], dnl Linux on AMD64, any vendor, glibc, clang - [aarch64-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=3], dnl Windows ARM64, MSVC + [aarch64-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=2], dnl Windows ARM64, MSVC [armv7l-*-linux-gnueabihf/gcc], [PY_SUPPORT_TIER=3], dnl ARMv7 LE with hardware floats, any vendor, glibc, gcc [powerpc64le-*-linux-gnu/clang], [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, clang [riscv64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=3], dnl Linux on RISC-V 64bit, glibc, gcc+clang From cd69d253ccad6cbb2984a65ff55c65723bb5107c Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:03:18 +0200 Subject: [PATCH 4/6] place aarch64-pc-windows-msvc/msvc after aarch64-*-linux-gnu/clang --- configure | 8 ++++---- configure.ac | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configure b/configure index bbe91d8bbdb5b89..f6dfbe9365c47e7 100755 --- a/configure +++ b/configure @@ -7457,16 +7457,16 @@ case $host/$ac_cv_cc_name in #( PY_SUPPORT_TIER=2 ;; #( aarch64-*-linux-gnu/clang) : PY_SUPPORT_TIER=2 ;; #( - powerpc64le-*-linux-gnu/gcc) : + aarch64-pc-windows-msvc/msvc) : + PY_SUPPORT_TIER=2 ;; #( + powerpc64le-*-linux-gnu/gcc) : PY_SUPPORT_TIER=2 ;; #( wasm32-unknown-wasip1/clang) : PY_SUPPORT_TIER=2 ;; #( x86_64-*-linux-gnu/clang) : PY_SUPPORT_TIER=2 ;; #( - aarch64-pc-windows-msvc/msvc) : - PY_SUPPORT_TIER=2 ;; #( - armv7l-*-linux-gnueabihf/gcc) : + armv7l-*-linux-gnueabihf/gcc) : PY_SUPPORT_TIER=3 ;; #( powerpc64le-*-linux-gnu/clang) : PY_SUPPORT_TIER=3 ;; #( diff --git a/configure.ac b/configure.ac index beb1eb9945ade97..8c7f645a0405ef4 100644 --- a/configure.ac +++ b/configure.ac @@ -1262,11 +1262,11 @@ AS_CASE([$host/$ac_cv_cc_name], [aarch64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=2], dnl Linux ARM64, glibc, gcc+clang [aarch64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], + [aarch64-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=2], dnl Windows ARM64, MSVC [powerpc64le-*-linux-gnu/gcc], [PY_SUPPORT_TIER=2], dnl Linux on PPC64 little endian, glibc, gcc [wasm32-unknown-wasip1/clang], [PY_SUPPORT_TIER=2], dnl WebAssembly System Interface preview1, clang [x86_64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], dnl Linux on AMD64, any vendor, glibc, clang - [aarch64-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=2], dnl Windows ARM64, MSVC [armv7l-*-linux-gnueabihf/gcc], [PY_SUPPORT_TIER=3], dnl ARMv7 LE with hardware floats, any vendor, glibc, gcc [powerpc64le-*-linux-gnu/clang], [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, clang [riscv64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=3], dnl Linux on RISC-V 64bit, glibc, gcc+clang From 2b66039dc19aa1b4630af1ed692e60d7fb51a6c6 Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:15:40 +0200 Subject: [PATCH 5/6] more fixes --- configure | 16 ++++++++-------- configure.ac | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/configure b/configure index f6dfbe9365c47e7..1783cd78c22f6de 100755 --- a/configure +++ b/configure @@ -7443,30 +7443,30 @@ printf "%s\n" "#define _Py_STACK_GROWS_DOWN $_Py_STACK_GROWS_DOWN" >>confdefs.h printf %s "checking for PEP 11 support tier... " >&6; } case $host/$ac_cv_cc_name in #( x86_64-*-linux-gnu/gcc) : - PY_SUPPORT_TIER=1 ;; #( - x86_64-apple-darwin*/clang) : PY_SUPPORT_TIER=1 ;; #( aarch64-apple-darwin*/clang) : PY_SUPPORT_TIER=1 ;; #( + aarch64-*-linux-gnu/gcc) : + PY_SUPPORT_TIER=1 ;; #( i686-pc-windows-msvc/msvc) : PY_SUPPORT_TIER=1 ;; #( x86_64-pc-windows-msvc/msvc) : PY_SUPPORT_TIER=1 ;; #( - aarch64-*-linux-gnu/gcc) : - PY_SUPPORT_TIER=2 ;; #( - aarch64-*-linux-gnu/clang) : - PY_SUPPORT_TIER=2 ;; #( - aarch64-pc-windows-msvc/msvc) : + aarch64-*-linux-gnu/clang) : PY_SUPPORT_TIER=2 ;; #( - powerpc64le-*-linux-gnu/gcc) : + aarch64-pc-windows-msvc/msvc) : PY_SUPPORT_TIER=2 ;; #( wasm32-unknown-wasip1/clang) : PY_SUPPORT_TIER=2 ;; #( + x86_64-apple-darwin*/clang) : + PY_SUPPORT_TIER=2 ;; #( x86_64-*-linux-gnu/clang) : PY_SUPPORT_TIER=2 ;; #( armv7l-*-linux-gnueabihf/gcc) : + PY_SUPPORT_TIER=3 ;; #( + powerpc64le-*-linux-gnu/gcc) : PY_SUPPORT_TIER=3 ;; #( powerpc64le-*-linux-gnu/clang) : PY_SUPPORT_TIER=3 ;; #( diff --git a/configure.ac b/configure.ac index 8c7f645a0405ef4..2615bf6ba44e1e9 100644 --- a/configure.ac +++ b/configure.ac @@ -1255,19 +1255,19 @@ dnl AC_MSG_CHECKING([for PEP 11 support tier]) AS_CASE([$host/$ac_cv_cc_name], [x86_64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=1], dnl Linux on AMD64, any vendor, glibc, gcc - [x86_64-apple-darwin*/clang], [PY_SUPPORT_TIER=1], dnl macOS on Intel, any version [aarch64-apple-darwin*/clang], [PY_SUPPORT_TIER=1], dnl macOS on M1, any version + [aarch64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=1], dnl Linux ARM64, glibc, gcc [i686-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=1], dnl 32bit Windows on Intel, MSVC [x86_64-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=1], dnl 64bit Windows on AMD64, MSVC - [aarch64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=2], dnl Linux ARM64, glibc, gcc+clang - [aarch64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], + [aarch64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], dnl Linux ARM64, glibc, clang [aarch64-pc-windows-msvc/msvc], [PY_SUPPORT_TIER=2], dnl Windows ARM64, MSVC - [powerpc64le-*-linux-gnu/gcc], [PY_SUPPORT_TIER=2], dnl Linux on PPC64 little endian, glibc, gcc [wasm32-unknown-wasip1/clang], [PY_SUPPORT_TIER=2], dnl WebAssembly System Interface preview1, clang + [x86_64-apple-darwin*/clang], [PY_SUPPORT_TIER=2], dnl macOS on Intel, any version [x86_64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], dnl Linux on AMD64, any vendor, glibc, clang [armv7l-*-linux-gnueabihf/gcc], [PY_SUPPORT_TIER=3], dnl ARMv7 LE with hardware floats, any vendor, glibc, gcc + [powerpc64le-*-linux-gnu/gcc], [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, gcc [powerpc64le-*-linux-gnu/clang], [PY_SUPPORT_TIER=3], dnl Linux on PPC64 little endian, glibc, clang [riscv64-*-linux-gnu/gcc], [PY_SUPPORT_TIER=3], dnl Linux on RISC-V 64bit, glibc, gcc+clang [riscv64-*-linux-gnu/clang], [PY_SUPPORT_TIER=3], From a5d2677b23583149eb965e4023caa9fa20e05ae3 Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:34:03 +0200 Subject: [PATCH 6/6] update news entry --- .../next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst b/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst index b4ff01811203bda..5399d9801c88cb7 100644 --- a/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst +++ b/Misc/NEWS.d/next/Build/2026-08-29-15-14-45.gh-issue-156554.64SZb1.rst @@ -1 +1,3 @@ -Set ``PY_SUPPORT_TIER=2`` for Windows ARM64 builds. +Update ``PY_SUPPORT_TIER`` according to :pep:`11` for these target triples: +``aarch64-*-linux-gnu/gcc``, ``aarch64-pc-windows-msvc/msvc``, +``x86_64-apple-darwin*/clang``, and ``powerpc64le-*-linux-gnu/gcc``.