Hello community, here is the log from the commit of package python3 for openSUSE:Factory checked in at 2020-04-23 18:24:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3 (Old) and /work/SRC/openSUSE:Factory/.python3.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3" Thu Apr 23 18:24:51 2020 rev:96 rq:794614 version:3.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python3/python3-base.changes 2020-03-25 23:42:27.419977127 +0100 +++ /work/SRC/openSUSE:Factory/.python3.new.2738/python3-base.changes 2020-04-23 18:24:56.759457023 +0200 @@ -1,0 +2,11 @@ +Thu Apr 16 12:06:01 UTC 2020 - Matej Cepl <[email protected]> + +- Add #!BuildIgnore: gdk-pixbuf-loader-rsvg to python3 SPEC + +------------------------------------------------------------------- +Thu Mar 26 15:36:55 UTC 2020 - Matej Cepl <[email protected]> + +- Add patch bsc1167501-invalid-alignment.patch + (bsc#1167501, bpo#40052) to fix alignment in abstract.h header file. + +------------------------------------------------------------------- python3-doc.changes: same change python3.changes: same change New: ---- bsc1167501-invalid-alignment.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-base.spec ++++++ --- /var/tmp/diff_new_pack.9plcCl/_old 2020-04-23 18:24:58.815460960 +0200 +++ /var/tmp/diff_new_pack.9plcCl/_new 2020-04-23 18:24:58.819460968 +0200 @@ -205,6 +205,9 @@ # Fixes Python urrlib allowed an HTTP server to conduct Regular # Expression Denial of Service (ReDoS) Patch30: CVE-2020-8492-urllib-ReDoS.patch +# PATCH-FIX-UPSTREAM bsc1167501-invalid-alignment.patch gh#python/cpython#19133 [email protected] +# Fix wrong misalignment of pointer to vectorcallfunc +Patch31: bsc1167501-invalid-alignment.patch ### COMMON-PATCH-END ### %description @@ -299,6 +302,7 @@ %patch28 -p1 %patch29 -p1 %patch30 -p1 +%patch31 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac python3-doc.spec: same change ++++++ python3.spec ++++++ --- /var/tmp/diff_new_pack.9plcCl/_old 2020-04-23 18:24:58.863461052 +0200 +++ /var/tmp/diff_new_pack.9plcCl/_new 2020-04-23 18:24:58.867461059 +0200 @@ -88,6 +88,7 @@ Source20: idle3.desktop Source21: idle3.appdata.xml Source99: python.keyring +#!BuildIgnore: gdk-pixbuf-loader-rsvg BuildRequires: automake BuildRequires: fdupes BuildRequires: gcc-c++ @@ -176,6 +177,9 @@ # Fixes Python urrlib allowed an HTTP server to conduct Regular # Expression Denial of Service (ReDoS) Patch30: CVE-2020-8492-urllib-ReDoS.patch +# PATCH-FIX-UPSTREAM bsc1167501-invalid-alignment.patch gh#python/cpython#19133 [email protected] +# Fix wrong misalignment of pointer to vectorcallfunc +Patch31: bsc1167501-invalid-alignment.patch ### COMMON-PATCH-END ### %description @@ -257,6 +261,7 @@ %patch28 -p1 %patch29 -p1 %patch30 -p1 +%patch31 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac ++++++ bsc1167501-invalid-alignment.patch ++++++ >From e6f4de57ffd175870e513ffa387fa6e7eaaeaed2 Mon Sep 17 00:00:00 2001 From: Andreas Schneider <[email protected]> Date: Tue, 24 Mar 2020 07:55:00 +0100 Subject: [PATCH] bpo-40052: Fix alignment issue in PyVectorcall_Function() In file included from /usr/include/python3.8/Python.h:147: In file included from /usr/include/python3.8/abstract.h:837: /usr/include/python3.8/cpython/abstract.h:91:11: error: cast from 'char *' to 'vectorcallfunc *' (aka 'struct _object *(**)(struct _object *, struct _object *const *, unsigned long, struct _object *)') increases required alignment from 1 to 8 [-Werror,-Wcast-align] ptr = (vectorcallfunc*)(((char *)callable) + offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. Signed-off-by: Andreas Schneider <[email protected]> --- Include/cpython/abstract.h | 9 ++++++--- .../next/C API/2020-03-24-09-27-10.bpo-40052.27P2KG.rst | 1 + Objects/call.c | 7 ++++++- 3 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/C API/2020-03-24-09-27-10.bpo-40052.27P2KG.rst --- a/Include/cpython/abstract.h +++ b/Include/cpython/abstract.h @@ -82,14 +82,17 @@ _PyVectorcall_Function(PyObject *callabl { PyTypeObject *tp = Py_TYPE(callable); Py_ssize_t offset = tp->tp_vectorcall_offset; - vectorcallfunc *ptr; + union { + char *data; + vectorcallfunc *ptr; + } vc; if (!PyType_HasFeature(tp, _Py_TPFLAGS_HAVE_VECTORCALL)) { return NULL; } assert(PyCallable_Check(callable)); assert(offset > 0); - ptr = (vectorcallfunc*)(((char *)callable) + offset); - return *ptr; + vc.data = (char *)callable + offset; + return *vc.ptr; } /* Call the callable object 'callable' with the "vectorcall" calling --- /dev/null +++ b/Misc/NEWS.d/next/C API/2020-03-24-09-27-10.bpo-40052.27P2KG.rst @@ -0,0 +1 @@ +Fix an alignment build warning/error in function ``PyVectorcall_Function()`` publicly exposed by ``abstract.h``. \ No newline at end of file --- a/Objects/call.c +++ b/Objects/call.c @@ -173,6 +173,11 @@ _PyObject_MakeTpCall(PyObject *callable, PyObject * PyVectorcall_Call(PyObject *callable, PyObject *tuple, PyObject *kwargs) { + union { + char *data; + vectorcallfunc *ptr; + } vc; + /* get vectorcallfunc as in _PyVectorcall_Function, but without * the _Py_TPFLAGS_HAVE_VECTORCALL check */ Py_ssize_t offset = Py_TYPE(callable)->tp_vectorcall_offset; @@ -181,7 +186,8 @@ PyVectorcall_Call(PyObject *callable, Py Py_TYPE(callable)->tp_name); return NULL; } - vectorcallfunc func = *(vectorcallfunc *)(((char *)callable) + offset); + vc.data = (char *)callable + offset; + vectorcallfunc func = *vc.ptr; if (func == NULL) { PyErr_Format(PyExc_TypeError, "'%.200s' object does not support vectorcall", Py_TYPE(callable)->tp_name);
