Update to 1.15.1
This commit is contained in:
parent
b68667442d
commit
3ab6ef4f81
|
@ -1,59 +0,0 @@
|
||||||
From 4d0cc66daf88f477f3a11262d0e2e093f9397e2c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Armin Rigo <arigo@tunes.org>
|
|
||||||
Date: Tue, 29 Mar 2022 11:48:33 +0200
|
|
||||||
Subject: [PATCH] Issue #531
|
|
||||||
|
|
||||||
on ppc64le, libffi requires 16 bytes alignment for at least the return
|
|
||||||
value of functions if that is 'long double'.
|
|
||||||
---
|
|
||||||
c/_cffi_backend.c | 11 ++++++++---
|
|
||||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/c/_cffi_backend.c b/c/_cffi_backend.c
|
|
||||||
index ffecbf9a..ce2cacd9 100644
|
|
||||||
--- a/c/_cffi_backend.c
|
|
||||||
+++ b/c/_cffi_backend.c
|
|
||||||
@@ -5665,7 +5665,8 @@ static ffi_type *fb_fill_type(struct funcbuilder_s *fb, CTypeDescrObject *ct,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-#define ALIGN_ARG(n) ((n) + 7) & ~7
|
|
||||||
+#define ALIGN_TO(n, a) ((n) + ((a)-1)) & ~((a)-1)
|
|
||||||
+#define ALIGN_ARG(n) ALIGN_TO(n, 8)
|
|
||||||
|
|
||||||
static int fb_build(struct funcbuilder_s *fb, PyObject *fargs,
|
|
||||||
CTypeDescrObject *fresult)
|
|
||||||
@@ -5690,10 +5691,12 @@ static int fb_build(struct funcbuilder_s *fb, PyObject *fargs,
|
|
||||||
/* exchange data size */
|
|
||||||
/* first, enough room for an array of 'nargs' pointers */
|
|
||||||
exchange_offset = nargs * sizeof(void*);
|
|
||||||
+ /* then enough room for the result --- which means at least
|
|
||||||
+ sizeof(ffi_arg), according to the ffi docs, but we also
|
|
||||||
+ align according to the result type, for issue #531 */
|
|
||||||
+ exchange_offset = ALIGN_TO(exchange_offset, fb->rtype->alignment);
|
|
||||||
exchange_offset = ALIGN_ARG(exchange_offset);
|
|
||||||
cif_descr->exchange_offset_arg[0] = exchange_offset;
|
|
||||||
- /* then enough room for the result --- which means at least
|
|
||||||
- sizeof(ffi_arg), according to the ffi docs */
|
|
||||||
i = fb->rtype->size;
|
|
||||||
if (i < (Py_ssize_t)sizeof(ffi_arg))
|
|
||||||
i = sizeof(ffi_arg);
|
|
||||||
@@ -5721,6 +5724,7 @@ static int fb_build(struct funcbuilder_s *fb, PyObject *fargs,
|
|
||||||
if (fb->atypes != NULL) {
|
|
||||||
fb->atypes[i] = atype;
|
|
||||||
/* exchange data size */
|
|
||||||
+ exchange_offset = ALIGN_TO(exchange_offset, atype->alignment);
|
|
||||||
exchange_offset = ALIGN_ARG(exchange_offset);
|
|
||||||
cif_descr->exchange_offset_arg[1 + i] = exchange_offset;
|
|
||||||
exchange_offset += atype->size;
|
|
||||||
@@ -5737,6 +5741,7 @@ static int fb_build(struct funcbuilder_s *fb, PyObject *fargs,
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef ALIGN_ARG
|
|
||||||
+#undef ALIGN_TO
|
|
||||||
|
|
||||||
static void fb_cat_name(struct funcbuilder_s *fb, const char *piece,
|
|
||||||
int piecelen)
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
From 871bae572cafc3afb81eb13705945f0a6f708d54 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Armin Rigo <arigo@tunes.org>
|
|
||||||
Date: Tue, 1 Feb 2022 08:00:11 +0100
|
|
||||||
Subject: [PATCH] =?UTF-8?q?apply=20patch=20from=20Tom=C3=A1=C5=A1=20on=20P?=
|
|
||||||
=?UTF-8?q?R=20111?=
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
--HG--
|
|
||||||
branch : adapt-tests-for-python3.11
|
|
||||||
---
|
|
||||||
c/test_c.py | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
|
|
||||||
1 file changed, 46 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/c/test_c.py b/c/test_c.py
|
|
||||||
index 654584d9..906eb074 100644
|
|
||||||
--- a/c/test_c.py
|
|
||||||
+++ b/c/test_c.py
|
|
||||||
@@ -1331,9 +1331,11 @@ def test_callback_exception():
|
|
||||||
except ImportError:
|
|
||||||
import io as cStringIO # Python 3
|
|
||||||
import linecache
|
|
||||||
- def matches(istr, ipattern, ipattern38):
|
|
||||||
+ def matches(istr, ipattern, ipattern38, ipattern311):
|
|
||||||
if sys.version_info >= (3, 8):
|
|
||||||
ipattern = ipattern38
|
|
||||||
+ if sys.version_info >= (3, 11):
|
|
||||||
+ ipattern = ipattern311
|
|
||||||
str, pattern = istr, ipattern
|
|
||||||
while '$' in pattern:
|
|
||||||
i = pattern.index('$')
|
|
||||||
@@ -1387,6 +1389,16 @@ Traceback (most recent call last):
|
|
||||||
File "$", line $, in check_value
|
|
||||||
$
|
|
||||||
ValueError: 42
|
|
||||||
+""", """\
|
|
||||||
+Exception ignored from cffi callback <function$Zcb1 at 0x$>:
|
|
||||||
+Traceback (most recent call last):
|
|
||||||
+ File "$", line $, in Zcb1
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+ File "$", line $, in check_value
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+ValueError: 42
|
|
||||||
""")
|
|
||||||
sys.stderr = cStringIO.StringIO()
|
|
||||||
bigvalue = 20000
|
|
||||||
@@ -1401,6 +1413,13 @@ Traceback (most recent call last):
|
|
||||||
File "$", line $, in test_callback_exception
|
|
||||||
$
|
|
||||||
OverflowError: integer 60000 does not fit 'short'
|
|
||||||
+""", """\
|
|
||||||
+Exception ignored from cffi callback <function$Zcb1 at 0x$>, trying to convert the result back to C:
|
|
||||||
+Traceback (most recent call last):
|
|
||||||
+ File "$", line $, in test_callback_exception
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+OverflowError: integer 60000 does not fit 'short'
|
|
||||||
""")
|
|
||||||
sys.stderr = cStringIO.StringIO()
|
|
||||||
bigvalue = 20000
|
|
||||||
@@ -1449,6 +1468,19 @@ Traceback (most recent call last):
|
|
||||||
File "$", line $, in test_callback_exception
|
|
||||||
$
|
|
||||||
TypeError: $integer$
|
|
||||||
+""", """\
|
|
||||||
+Exception ignored from cffi callback <function$Zcb1 at 0x$>, trying to convert the result back to C:
|
|
||||||
+Traceback (most recent call last):
|
|
||||||
+ File "$", line $, in test_callback_exception
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+OverflowError: integer 60000 does not fit 'short'
|
|
||||||
+Exception ignored during handling of the above exception by 'onerror':
|
|
||||||
+Traceback (most recent call last):
|
|
||||||
+ File "$", line $, in test_callback_exception
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+TypeError: $integer$
|
|
||||||
""")
|
|
||||||
#
|
|
||||||
sys.stderr = cStringIO.StringIO()
|
|
||||||
@@ -1478,6 +1510,19 @@ Traceback (most recent call last):
|
|
||||||
File "$", line $, in oops
|
|
||||||
$
|
|
||||||
AttributeError: 'str' object has no attribute 'append$
|
|
||||||
+""", """\
|
|
||||||
+Exception ignored from cffi callback <function$Zcb1 at 0x$>, trying to convert the result back to C:
|
|
||||||
+Traceback (most recent call last):
|
|
||||||
+ File "$", line $, in test_callback_exception
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+OverflowError: integer 60000 does not fit 'short'
|
|
||||||
+Exception ignored during handling of the above exception by 'onerror':
|
|
||||||
+Traceback (most recent call last):
|
|
||||||
+ File "$", line $, in oops
|
|
||||||
+ $
|
|
||||||
+ $
|
|
||||||
+AttributeError: 'str' object has no attribute 'append$
|
|
||||||
""")
|
|
||||||
finally:
|
|
||||||
sys.stderr = orig_stderr
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
Name: python-cffi
|
Name: python-cffi
|
||||||
%global general_version 1.15.0
|
%global general_version 1.15.1
|
||||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||||
Release: 6%{?dist}
|
Release: 0%{?dist}
|
||||||
Summary: Foreign Function Interface for Python to call C code
|
Summary: Foreign Function Interface for Python to call C code
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://cffi.readthedocs.org/
|
URL: https://cffi.readthedocs.org/
|
||||||
Source0: %{pypi_source cffi}
|
Source0: %{pypi_source cffi}
|
||||||
Patch1: https://foss.heptapod.net/pypy/cffi/-/commit/871bae572cafc3afb81eb13705945f0a6f708d54.patch
|
|
||||||
# on ppc64le, libffi requires 16 bytes alignment for at least the return
|
|
||||||
# value of functions if that is 'long double':
|
|
||||||
Patch2: https://foss.heptapod.net/pypy/cffi/-/commit/4d0cc66daf88f477f3a11262d0e2e093f9397e2c.patch
|
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
|
@ -73,6 +69,10 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m pytest c/ testing/
|
||||||
%doc doc/build/html
|
%doc doc/build/html
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 11 2022 Lumír Balhar <lbalhar@redhat.com> - 1.15.1-0
|
||||||
|
- Update to 1.15.1
|
||||||
|
Resolves: rhbz#2102824
|
||||||
|
|
||||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.15.0-6
|
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.15.0-6
|
||||||
- Rebuilt for Python 3.11
|
- Rebuilt for Python 3.11
|
||||||
|
|
||||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
||||||
SHA512 (cffi-1.15.0.tar.gz) = ee83efde6f77f4a0c5889088c4c208ed7b9071fe06dfc16a8d2396de07f78fe859e1e39866760198a9d700f3b7359e8715e8a3e4907feb81d3fc4b8dd0dbaca1
|
SHA512 (cffi-1.15.1.tar.gz) = e99cafcb029076abc29e435b490fa0573ee2856f4051b7ca8a5b38cd125d56dd9dae8b189f59ceb3d728a675da8ee83239e09e19f8b0feeddea4b186ab5173a5
|
||||||
|
|
Loading…
Reference in New Issue