Update to Python 3.14.0b3
- The .pyc magic number was bumped - python3.14-freethreading is no longer provisional
This commit is contained in:
parent
e3c3cbe96e
commit
eda37b70f4
4 changed files with 14 additions and 87 deletions
|
|
@ -1,68 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Charalampos Stratakis <cstratak@redhat.com>
|
||||
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);
|
||||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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 <mhroncok@redhat.com> - 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 <python-maint@redhat.com> - 3.14.0~b2-3
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (Python-3.14.0b2.tar.xz) = cdd37f8a982e6194d5afa80a2eb94c899080809749d59a50a2ce3eed37f720a1fd9a7977f0dd3992650d173a7070b15610077d97cb499bd16a7500c56ef1f8dd
|
||||
SHA512 (Python-3.14.0b3.tar.xz) = 621bcaf2ae4b6f0ba6c95ef74b5ffb78d8a2a0bb10415fb4c5eab1cad26c63098237944713a7f0812ec3e014ff62cd0f9bd5663e87799fcf1856aa4b937be914
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue