From fcf9e03ca3064d1967ba9659f0c1390e1272d220 Mon Sep 17 00:00:00 2001 From: Kevin Kofler Date: Mar 03 2009 19:40:16 +0000 Subject: * Tue Mar 03 2009 Kevin Kofler - 4.2.1-3 - better fix for #485968 (fix aliasing instead of using -fno-strict-aliasing) --- diff --git a/kdelibs-4.2.0-kjs-gcc44-crash.patch b/kdelibs-4.2.0-kjs-gcc44-crash.patch deleted file mode 100644 index f099333..0000000 --- a/kdelibs-4.2.0-kjs-gcc44-crash.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur kdelibs-4.2.0/kjs/CMakeLists.txt kdelibs-4.2.0-kjs-gcc44-crash/kjs/CMakeLists.txt ---- kdelibs-4.2.0/kjs/CMakeLists.txt 2008-11-19 11:20:10.000000000 +0100 -+++ kdelibs-4.2.0-kjs-gcc44-crash/kjs/CMakeLists.txt 2009-02-18 19:43:20.000000000 +0100 -@@ -183,6 +183,8 @@ - CompileState.cpp - ) - -+set_source_files_properties(dtoa.cpp PROPERTIES COMPILE_FLAGS -fno-strict-aliasing) -+ - if (NOT DEFINED QT_ONLY) - set(KJSLIBNAME kjs) - else (NOT DEFINED QT_ONLY) diff --git a/kdelibs-4.2.1-kjs-gcc44-crash.patch b/kdelibs-4.2.1-kjs-gcc44-crash.patch new file mode 100644 index 0000000..6766f78 --- /dev/null +++ b/kdelibs-4.2.1-kjs-gcc44-crash.patch @@ -0,0 +1,30 @@ +diff -ur kdelibs-4.2.1/kjs/dtoa.cpp kdelibs-4.2.1-kjs-gcc44-crash/kjs/dtoa.cpp +--- kdelibs-4.2.1/kjs/dtoa.cpp 2008-05-21 13:06:47.000000000 +0200 ++++ kdelibs-4.2.1-kjs-gcc44-crash/kjs/dtoa.cpp 2009-03-03 20:18:46.000000000 +0100 +@@ -299,6 +299,15 @@ + #define word0(x) ((ULong *)&x)[0] + #define word1(x) ((ULong *)&x)[1] + #endif ++#elif defined __GNUC__ ++#define dval(x) x ++#ifdef IEEE_8087 ++#define word0(x) (__extension__ ((U) { d: (x) }).L[1]) ++#define word1(x) (__extension__ ((U) { d: (x) }).L[0]) ++#else ++#define word0(x) (__extension__ ((U) { d: (x) }).L[0]) ++#define word1(x) (__extension__ ((U) { d: (x) }).L[1]) ++#endif + #else + #ifdef IEEE_8087 + #define word0(x) ((U*)&x)->L[1] +@@ -314,7 +323,9 @@ + * An alternative that might be better on some machines is + * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff) + */ +-#if defined(IEEE_8087) + defined(VAX) ++#if !defined(YES_ALIAS) && defined(__GNUC__) ++#define Storeinc(a,b,c) (*a++ = b << 16 | (c & 0xffff)) ++#elif defined(IEEE_8087) + defined(VAX) + #define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \ + ((unsigned short *)a)[0] = (unsigned short)c, a++) + #else diff --git a/kdelibs.spec b/kdelibs.spec index f504a74..da7a9f6 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -1,6 +1,6 @@ Summary: K Desktop Environment 4 - Libraries Version: 4.2.1 -Release: 2%{?dist} +Release: 3%{?dist} %if 0%{?fedora} > 8 Name: kdelibs @@ -79,8 +79,8 @@ Patch18: kdelibs-4.1.72-kstandarddirs.patch Patch20: kdelibs-4.1.70-cmake.patch Patch22: kdelibs-4.1.96-cmake.patch Patch23: kdelibs-4.2.0-gcc44-workaround.patch -# disable strict aliasing in kjs/dtoa.cpp (GCC 4.4 x86_64 crash) (#485968) -Patch24: kdelibs-4.2.0-kjs-gcc44-crash.patch +# fix aliasing problems in kjs/dtoa.cpp (GCC 4.4 crash) (#485968) +Patch24: kdelibs-4.2.1-kjs-gcc44-crash.patch Patch25: kdelibs-4.2.0-gcc44-misc.patch # upstream @@ -401,6 +401,9 @@ rm -rf %{buildroot} %changelog +* Tue Mar 03 2009 Kevin Kofler - 4.2.1-3 +- better fix for #485968 (fix aliasing instead of using -fno-strict-aliasing) + * Sun Mar 01 2009 Than Ngo - 4.2.1-2 - respin