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;