Update to 3.6.15

Patch 343 was partially merged upstream.
This commit is contained in:
Miro Hrončok 2021-09-05 19:41:04 +02:00
commit d70134e930
3 changed files with 12 additions and 44 deletions

View file

@ -3,48 +3,18 @@ From: Victor Stinner <vstinner@python.org>
Date: Fri, 19 Jun 2020 17:16:05 +0200
Subject: [PATCH] 00343: Fix test_faulthandler on GCC 10
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10
Fixed upstream and backported from the 3.7 branch:
https://bugs.python.org/issue38965
https://github.com/python/cpython/commit/f4a21d3b239bf4f4e4e2a8a5936b9b040645b246
bpo-21131: Fix faulthandler.register(chain=True) stack (GH-15276)
https://bugs.python.org/issue21131
https://github.com/python/cpython/commit/ac827edc493d3ac3f5b9b0cc353df1d4b418a9aa
---
Modules/faulthandler.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
Modules/faulthandler.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index 890c64577c..fac662afc3 100644
index 3e0a7b127d..fac662afc3 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -1091,18 +1091,14 @@ faulthandler_fatal_error_py(PyObject *self, PyObject *args)
#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
#define FAULTHANDLER_STACK_OVERFLOW
-#ifdef __INTEL_COMPILER
- /* Issue #23654: Turn off ICC's tail call optimization for the
- * stack_overflow generator. ICC turns the recursive tail call into
- * a loop. */
-# pragma intel optimization_level 0
-#endif
-static
-uintptr_t
+static uintptr_t
stack_overflow(uintptr_t min_sp, uintptr_t max_sp, size_t *depth)
{
- /* allocate 4096 bytes on the stack at each call */
- unsigned char buffer[4096];
+ /* Allocate (at least) 4096 bytes on the stack at each call.
+
+ bpo-23654, bpo-38965: use volatile keyword to prevent tail call
+ optimization. */
+ volatile unsigned char buffer[4096];
uintptr_t sp = (uintptr_t)&buffer;
*depth += 1;
if (sp < min_sp || max_sp < sp)
@@ -1333,7 +1329,11 @@ int _PyFaulthandler_Init(void)
@@ -1329,7 +1329,11 @@ int _PyFaulthandler_Init(void)
* be able to allocate memory on the stack, even on a stack overflow. If it
* fails, ignore the error. */
stack.ss_flags = 0;

View file

@ -13,11 +13,11 @@ 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}.14
%global general_version %{pybasever}.15
#global prerel ...
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 2%{?dist}
Release: 1%{?dist}
License: Python
@ -406,14 +406,9 @@ Patch292: 00292-restore-PyExc_RecursionErrorInst-symbol.patch
# See also: https://bugzilla.redhat.com/show_bug.cgi?id=1489816
Patch294: 00294-define-TLS-cipher-suite-on-build-time.patch
# 00343 # 2f4ec09a1daea8357f6a4a73c9f68d3fed3b1b96
# 00343 # c758d1d3051b80314a533a8a42244beb4670141e
# Fix test_faulthandler on GCC 10
#
# bpo-38965: Fix faulthandler._stack_overflow() on GCC 10
# Fixed upstream and backported from the 3.7 branch:
# https://bugs.python.org/issue38965
# https://github.com/python/cpython/commit/f4a21d3b239bf4f4e4e2a8a5936b9b040645b246
#
# bpo-21131: Fix faulthandler.register(chain=True) stack (GH-15276)
# https://bugs.python.org/issue21131
# https://github.com/python/cpython/commit/ac827edc493d3ac3f5b9b0cc353df1d4b418a9aa
@ -1645,6 +1640,9 @@ CheckPython optimized
# ======================================================
%changelog
* Sun Sep 05 2021 Miro Hrončok <mhroncok@redhat.com> - 3.6.15-1
- Update to 3.6.15
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

View file

@ -1,2 +1,2 @@
SHA512 (Python-3.6.14.tar.xz) = 15b82b7285db97cb27a6fcd57ce9e258fdf8dbdb2f00e22e4331161b8557c8244342546c4143e84c72730759e0276770396b6ca5bb7cf87310cca8e175423006
SHA512 (Python-3.6.14.tar.xz.asc) = 600bf504f2c0d3ce7d1e8e953b4f27a7a7c996b7b9cd70efb876178fa5424130bff5414d5ac7deb8b45103ed417fd40d830613db39750d35a0c967c8fdfea50d
SHA512 (Python-3.6.15.tar.xz) = f1894d704c91669d94ec83b5631288bf1e0c73ddcf33cea0977575f262eb672caebc8ac00e34e9b99c321c19cc9a71d6081fa957bb8e23cf5bfba50f345145ef
SHA512 (Python-3.6.15.tar.xz.asc) = cdc93e5d8fb2b5b48a1560a55bba4680adea10e35c8c38b4c51cfd2f6ba54ab2a5d4e5f71b78b889f98cf8ad9d598e0f4e019d50cc16f7db57f9d292a860fcfd