ppc64le support

This commit is contained in:
Jaromir Capik 2014-05-07 17:05:21 +02:00
parent 628712584c
commit 21d9fad3e3
2 changed files with 81 additions and 3 deletions

67
qtwebkit-23-ppc64le.patch Normal file
View File

@ -0,0 +1,67 @@
diff -Naur webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa/utils.h webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h
--- webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa/utils.h 2014-05-05 14:36:22.295067163 -0500
+++ webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h 2014-05-05 14:37:09.385146547 -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(AARCH64)
+#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(AARCH64)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__)
#if defined(_WIN32)
diff -Naur webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa.cpp webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp
--- webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa.cpp 2014-05-05 14:36:22.125066877 -0500
+++ webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp 2014-05-05 14:37:50.745216279 -0500
@@ -113,7 +113,7 @@
#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 -Naur webkit-qtwebkit-23.orig/Source/WTF/wtf/Platform.h webkit-qtwebkit-23/Source/WTF/wtf/Platform.h
--- webkit-qtwebkit-23.orig/Source/WTF/wtf/Platform.h 2014-05-05 14:36:22.215067029 -0500
+++ webkit-qtwebkit-23/Source/WTF/wtf/Platform.h 2014-05-05 14:50:07.996460328 -0500
@@ -107,12 +107,26 @@
#endif
/* CPU(PPC64) - PowerPC 64-bit */
-#if defined(__ppc64__) \
- || defined(__PPC64__)
+/* CPU(PPC64) - PowerPC 64-bit + BIG ENDIAN */
+#if ( defined(__ppc64__) \
+ || defined(__PPC64__)) \
+ && defined(__BYTE_ORDER__) \
+ && (__BYTE_ORDER__==__ORDER_BIG_ENDIAN__)
#define WTF_CPU_PPC64 1
#define WTF_CPU_BIG_ENDIAN 1
#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
@@ -883,7 +897,9 @@
|| CPU(ALPHA) \
|| CPU(SPARC64) \
|| CPU(S390X) \
- || CPU(PPC64) || CPU(AARCH64)
+ || CPU(PPC64) \
+ || CPU(PPC64LE) \
+ || CPU(AARCH64)
#define WTF_USE_JSVALUE64 1
#else
#define WTF_USE_JSVALUE32_64 1

View File

@ -2,7 +2,7 @@ Name: qtwebkit
Summary: Qt WebKit bindings
Version: 2.3.3
Release: 12%{?dist}
Release: 13%{?dist}
License: LGPLv2 with exceptions or GPLv3 with exceptions
URL: http://trac.webkit.org/wiki/QtWebKit
@ -51,12 +51,15 @@ Patch13: qtwebkit-aarch64.patch
# truly madly deeply no rpath please, kthxbye
Patch14: webkit-qtwebkit-23-no_rpath.patch
# ppc64le support
Patch15: qtwebkit-23-ppc64le.patch
## upstream patches
Patch102: 0002-Texmap-GTK-The-poster-circle-doesn-t-appear.patch
Patch103: 0003-Qt-Tiled-backing-store-not-clipped-to-frame-or-visib.patch
Patch104: 0004-Qt-Images-scaled-poorly-on-composited-canvas.patch
Patch105: 0005-Port-of-r118587-to-TextBreakIteratorQt.cpp.patch
patch106: 0006-JSC-ARM-traditional-failing-on-Octane-NavierStokes-t.patch
Patch106: 0006-JSC-ARM-traditional-failing-on-Octane-NavierStokes-t.patch
Patch107: 0007-Correct-range-used-for-Emoji-checks.patch
Patch108: 0008-Qt-RepaintRequested-signal-sometimes-not-emitted.patch
Patch109: 0009-TexMap-Remove-ParentChange-in-TextureMapperLayer.patch
@ -151,6 +154,11 @@ Provides: qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
%patch13 -p1 -b .aarch64
%patch14 -p1 -b .no_rpath
## Apply this last patch, as it deps so aarch stuffs
%ifarch ppc64le
%patch10 -p1 -b .system-malloc
%patch15 -p1 -b .ppc64le
%endif
%build
@ -158,7 +166,7 @@ PATH=%{_qt4_bindir}:$PATH; export PATH
QMAKEPATH=`pwd`/Tools/qmake; export QMAKEPATH
QTDIR=%{_qt4_prefix}; export QTDIR
%ifarch aarch64
%ifarch aarch64 ppc64le
%global qtdefines DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0 DEFINES+=ENABLE_ASSEMBLER=0
%endif
@ -230,6 +238,9 @@ popd
%changelog
* Wed May 07 2014 Jaromir Capik <jcapik@redhat.com> - 2.3.3-13
- ppc64le support
* Mon May 05 2014 Rex Dieter <rdieter@fedoraproject.org> 2.3.3-12
- Requires: mozilla-filesystem (#1000673)