Hello community,

here is the log from the commit of package python for openSUSE:Factory checked 
in at 2018-04-07 20:54:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python (Old)
 and      /work/SRC/openSUSE:Factory/.python.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python"

Sat Apr  7 20:54:08 2018 rev:131 rq:593955 version:2.7.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/python/python-base.changes       2018-02-25 
12:19:54.704874279 +0100
+++ /work/SRC/openSUSE:Factory/.python.new/python-base.changes  2018-04-07 
20:54:11.924597808 +0200
@@ -1,0 +2,5 @@
+Fri Apr  6 10:11:22 UTC 2018 - mli...@suse.cz
+
+- Add gcc8-miscompilation-fix.patch (boo#1084650).
+
+-------------------------------------------------------------------
python.changes: same change

New:
----
  gcc8-miscompilation-fix.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-base.spec ++++++
--- /var/tmp/diff_new_pack.WgE6T7/_old  2018-04-07 20:54:14.296511959 +0200
+++ /var/tmp/diff_new_pack.WgE6T7/_new  2018-04-07 20:54:14.308511525 +0200
@@ -62,6 +62,7 @@
 Patch40:        python-skip_random_failing_tests.patch
 # PATCH-FIX-UPSTREAM sorted tar https://github.com/python/cpython/pull/2263
 Patch41:        python-sorted_tar.patch
+Patch42:        gcc8-miscompilation-fix.patch
 # COMMON-PATCH-END
 %define         python_version    %(echo %{tarversion} | head -c 3)
 BuildRequires:  automake
@@ -170,6 +171,7 @@
 %patch40 -p1
 %endif
 %patch41 -p1
+%patch42 -p1
 
 # drop Autoconf version requirement
 sed -i 's/^version_required/dnl version_required/' configure.ac

python.spec: same change

++++++ gcc8-miscompilation-fix.patch ++++++
diff --git a/Include/objimpl.h b/Include/objimpl.h
index 55e83eced6..aa906144dc 100644
--- a/Include/objimpl.h
+++ b/Include/objimpl.h
@@ -248,6 +248,18 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject 
*, Py_ssize_t);
 /* for source compatibility with 2.2 */
 #define _PyObject_GC_Del PyObject_GC_Del
 
+/* Former over-aligned definition of PyGC_Head, used to compute the
+   size of the padding for the new version below. */
+union _gc_head;
+union _gc_head_old {
+    struct {
+        union _gc_head *gc_next;
+        union _gc_head *gc_prev;
+        Py_ssize_t gc_refs;
+    } gc;
+    long double dummy;
+};
+
 /* GC information is stored BEFORE the object structure. */
 typedef union _gc_head {
     struct {
@@ -255,7 +267,8 @@ typedef union _gc_head {
         union _gc_head *gc_prev;
         Py_ssize_t gc_refs;
     } gc;
-    long double dummy;  /* force worst-case alignment */
+    double dummy;  /* force worst-case alignment */
+    char dummy_padding[sizeof(union _gc_head_old)];
 } PyGC_Head;
 
 extern PyGC_Head *_PyGC_generation0;


Reply via email to