From b2ddaf24cc2a20e2f9dcd75ce5e79e0a9288f267 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 17 Mar 2015 14:21:14 -0500 Subject: [PATCH] qtwebkit enable jit for ppc64le (#1096330) --- qtwebkit-23-ppc64le.patch | 64 ++++++++++++++------------------------- qtwebkit.spec | 7 +++-- 2 files changed, 28 insertions(+), 43 deletions(-) diff --git a/qtwebkit-23-ppc64le.patch b/qtwebkit-23-ppc64le.patch index 67172dd..615b675 100644 --- a/qtwebkit-23-ppc64le.patch +++ b/qtwebkit-23-ppc64le.patch @@ -1,45 +1,27 @@ -diff -up webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp.ppc64le webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp ---- webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp.ppc64le 2014-09-24 06:42:05.000000000 -0500 -+++ webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp 2014-10-16 11:06:24.935086905 -0500 -@@ -113,7 +113,7 @@ static ALWAYS_INLINE uint32_t* storeInc( - #define Big0 (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1)) - #define Big1 0xffffffff - --#if CPU(PPC64) || CPU(X86_64) -+#if CPU(PPC64) || CPU(X86_64) || CPU(PPC64LE) - // FIXME: should we enable this on all 64-bit CPUs? - // 64-bit emulation provided by the compiler is likely to be slower than dtoa own code on 32-bit hardware. - #define USE_LONG_LONG -diff -up webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h.ppc64le webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h ---- webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h.ppc64le 2014-10-16 11:06:24.935086905 -0500 -+++ webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h 2014-10-16 11:10:04.207685227 -0500 -@@ -49,7 +49,7 @@ - defined(__ARMEL__) || \ - defined(_MIPS_ARCH_MIPS32R2) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 --#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64) || CPU(AARCH64) || CPU(HPPA) -+#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64) || CPU(AARCH64) || CPU(HPPA) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) - #if defined(_WIN32) -diff -up webkit-qtwebkit-23/Source/WTF/wtf/Platform.h.ppc64le webkit-qtwebkit-23/Source/WTF/wtf/Platform.h ---- webkit-qtwebkit-23/Source/WTF/wtf/Platform.h.ppc64le 2014-10-16 11:06:24.936086920 -0500 -+++ webkit-qtwebkit-23/Source/WTF/wtf/Platform.h 2014-10-16 11:09:08.735022008 -0500 -@@ -130,6 +130,17 @@ +From: Michel Normand +Subject: qtwebkit 23 ppc64le +Date: Fri, 09 May 2014 18:19:56 +0200 + +qtwebkit ppc64le do not define WTF_CPU_BIG_ENDIAN. +continue to use WTF_CPU_PPC64 and do not define a new WTF_CPU_PPC64LE. + +Signed-off-by: Michel Normand +--- + Source/WTF/wtf/Platform.h | 2 ++ + 1 file changed, 2 insertions(+) + +Index: webkit-qtwebkit-23/Source/WTF/wtf/Platform.h +=================================================================== +--- webkit-qtwebkit-23.orig/Source/WTF/wtf/Platform.h ++++ webkit-qtwebkit-23/Source/WTF/wtf/Platform.h +@@ -110,8 +110,10 @@ + #if defined(__ppc64__) \ + || defined(__PPC64__) + #define WTF_CPU_PPC64 1 ++#if !defined(__LITTLE_ENDIAN__) + #define WTF_CPU_BIG_ENDIAN 1 #endif - #endif - -+/* CPU(PPC64) - PowerPC 64-bit + LITTLE ENDIAN */ -+#if ( defined(__ppc64__) \ -+ || defined(__PPC64__) \ -+ || defined(__ppc64le__) \ -+ || defined(__PPC64LE__)) \ -+ && defined(__BYTE_ORDER__) \ -+ && (__BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__) -+#define WTF_CPU_PPC64LE 1 -+#define WTF_CPU_LITTLE_ENDIAN 1 +#endif -+ + /* CPU(SH4) - SuperH SH-4 */ #if defined(__SH4__) - #define WTF_CPU_SH4 1 diff --git a/qtwebkit.spec b/qtwebkit.spec index f5f1d62..88d171e 100644 --- a/qtwebkit.spec +++ b/qtwebkit.spec @@ -5,7 +5,7 @@ Name: qtwebkit Summary: Qt WebKit bindings Version: 2.3.4 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2 with exceptions or GPLv3 with exceptions URL: http://trac.webkit.org/wiki/QtWebKit @@ -141,7 +141,7 @@ PATH=`pwd`/bin:%{_qt4_bindir}:$PATH; export PATH QMAKEPATH=`pwd`/Tools/qmake; export QMAKEPATH QTDIR=%{_qt4_prefix}; export QTDIR -%ifarch aarch64 ppc64le +%ifarch aarch64 %global qtdefines DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0 DEFINES+=ENABLE_ASSEMBLER=0 %endif @@ -213,6 +213,9 @@ popd %changelog +* Tue Mar 17 2015 Rex Dieter 2.3.4-3 +- qtwebkit enable jit for ppc64le (#1096330) + * Wed Feb 18 2015 Rex Dieter 2.3.4-2 - rebuild (gcc5)