diff --git a/00459-apply-intel-control-flow-technology-for-x86-64.patch b/00459-apply-intel-control-flow-technology-for-x86-64.patch deleted file mode 100644 index c6ed738..0000000 --- a/00459-apply-intel-control-flow-technology-for-x86-64.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Charalampos Stratakis -Date: Wed, 8 Jan 2025 04:58:22 +0100 -Subject: 00459: Apply Intel Control-flow Technology for x86-64 - -Required for mitigation against return-oriented programming (ROP) and Call or Jump Oriented Programming (COP/JOP) attacks - -Proposed upstream: https://github.com/python/cpython/pull/128606 - -See also: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html ---- - Python/asm_trampoline.S | 22 ++++++++++++++++++++++ - Python/perf_jit_trampoline.c | 4 ++++ - 2 files changed, 26 insertions(+) - -diff --git a/Python/asm_trampoline.S b/Python/asm_trampoline.S -index 0a3265dfee..616752459b 100644 ---- a/Python/asm_trampoline.S -+++ b/Python/asm_trampoline.S -@@ -9,6 +9,9 @@ - # } - _Py_trampoline_func_start: - #ifdef __x86_64__ -+#if defined(__CET__) && (__CET__ & 1) -+ endbr64 -+#endif - sub $8, %rsp - call *%rcx - add $8, %rsp -@@ -34,3 +37,22 @@ _Py_trampoline_func_start: - .globl _Py_trampoline_func_end - _Py_trampoline_func_end: - .section .note.GNU-stack,"",@progbits -+# Note for indicating the assembly code supports CET -+#if defined(__x86_64__) && defined(__CET__) && (__CET__ & 1) -+ .section .note.gnu.property,"a" -+ .align 8 -+ .long 1f - 0f -+ .long 4f - 1f -+ .long 5 -+0: -+ .string "GNU" -+1: -+ .align 8 -+ .long 0xc0000002 -+ .long 3f - 2f -+2: -+ .long 0x3 -+3: -+ .align 8 -+4: -+#endif // __x86_64__ -diff --git a/Python/perf_jit_trampoline.c b/Python/perf_jit_trampoline.c -index 1211e0e9f1..da9f887769 100644 ---- a/Python/perf_jit_trampoline.c -+++ b/Python/perf_jit_trampoline.c -@@ -473,7 +473,11 @@ elf_init_ehframe(ELFObjectContext* ctx) - DWRF_U8(0); /* Augmentation data. */ - /* Registers saved in CFRAME. */ - #ifdef __x86_64__ -+# if defined(__CET__) && (__CET__ & 1) -+ DWRF_U8(DWRF_CFA_advance_loc | 8); -+# else - DWRF_U8(DWRF_CFA_advance_loc | 4); -+# endif - DWRF_U8(DWRF_CFA_def_cfa_offset); DWRF_UV(16); - DWRF_U8(DWRF_CFA_advance_loc | 6); - DWRF_U8(DWRF_CFA_def_cfa_offset); DWRF_UV(8); diff --git a/00461-downstream-only-install-wheel-in-test-venvs-when-setuptools-71.patch b/00461-downstream-only-install-wheel-in-test-venvs-when-setuptools-71.patch index 18633aa..0c16989 100644 --- a/00461-downstream-only-install-wheel-in-test-venvs-when-setuptools-71.patch +++ b/00461-downstream-only-install-wheel-in-test-venvs-when-setuptools-71.patch @@ -10,10 +10,10 @@ This can be removed when Fedora 41 goes EOL (or updates setuptools). 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py -index b7cd7940eb..2237cf345b 100644 +index 7ac95f0780..4eaf37be17 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py -@@ -2468,9 +2468,16 @@ def run_command(cmd): +@@ -2493,9 +2493,16 @@ def run_command(cmd): else: python = os.path.join(venv, 'bin', python_exe) diff --git a/python3.14.spec b/python3.14.spec index 713dc44..423095b 100644 --- a/python3.14.spec +++ b/python3.14.spec @@ -14,10 +14,10 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well %global general_version %{pybasever}.0 -%global prerel b2 +%global prerel b3 %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 3%{?dist} +Release: 1%{?dist} License: Python-2.0.1 @@ -116,7 +116,7 @@ Provides: bundled(python3dist(zipp)) = 3.19.2 # (the -debug subpackages) %bcond debug_build 1 -# Extra build without GIL, the freethreading PEP 703 provisional way +# Extra build without GIL, the freethreading PEP 703 way # (the -freethreading subpackage) %bcond freethreading_build 1 @@ -360,16 +360,6 @@ Source11: idle3.appdata.xml # pypa/distutils integration: https://github.com/pypa/distutils/pull/70 Patch251: 00251-change-user-install-location.patch -# 00459 # 9cf6fed17de184d2e17ace2b5063e782e7e186ba -# Apply Intel Control-flow Technology for x86-64 -# -# Required for mitigation against return-oriented programming (ROP) and Call or Jump Oriented Programming (COP/JOP) attacks -# -# Proposed upstream: https://github.com/python/cpython/pull/128606 -# -# See also: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html -Patch459: 00459-apply-intel-control-flow-technology-for-x86-64.patch - # 00461 # 920175020b21c0aff5edcc4c28d688b5061f591c # Downstream only: Install wheel in test venvs when setuptools < 71 # @@ -689,7 +679,7 @@ The debug runtime additionally supports debug builds of C-API extensions %if %{with freethreading_build} # This deliberately does not use the %%{pkgname}- prefix, # we want to call this python3.X-threading even when built as a main Python. -# At least until the PEP 703 build remains provisional. +# This build of Python is not "the main freethreading Python", there's no such thing (yet?) %package -n python%{pybasever}-freethreading Summary: Free Threading (PEP 703) version of the Python runtime @@ -715,7 +705,7 @@ Requires: tzdata Requires: expat >= 2.6 %description -n python%{pybasever}-freethreading -The provisional Free Threading (PEP 703) build of Python. +The Free Threading (PEP 703) build of Python. CPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using @@ -736,7 +726,7 @@ License: %{libs_license} Requires: python%{pybasever}-freethreading%{?_isa} = %{version}-%{release} %description -n python%{pybasever}-freethreading-debug -The provisional Free Threading (PEP 703) build of Python. Debug build. +The Free Threading (PEP 703) build of Python. Debug build. CPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using @@ -1722,6 +1712,11 @@ CheckPython freethreading # ====================================================== %changelog +* Tue Jun 17 2025 Miro Hrončok - 3.14.0~b3-1 +- Update to Python 3.14.0b3 +- The .pyc magic number was bumped +- python3.14-freethreading is no longer provisional + * Mon Jun 02 2025 Python Maint - 3.14.0~b2-3 - Rebuilt for Python 3.14 diff --git a/sources b/sources index eaef709..f93997d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Python-3.14.0b2.tar.xz) = cdd37f8a982e6194d5afa80a2eb94c899080809749d59a50a2ce3eed37f720a1fd9a7977f0dd3992650d173a7070b15610077d97cb499bd16a7500c56ef1f8dd +SHA512 (Python-3.14.0b3.tar.xz) = 621bcaf2ae4b6f0ba6c95ef74b5ffb78d8a2a0bb10415fb4c5eab1cad26c63098237944713a7f0812ec3e014ff62cd0f9bd5663e87799fcf1856aa4b937be914