1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
From: Iain Lane <iain.lane@canonical.com>
Description: Fix arm64 build
Add AArch64 support in Platform.h
Don't use COMPARE_AND_SWAP on arm64; it produces invalid asm.
Fix some other areas where disabling JIT doesn't work.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752735
Forwarded: no
Index: webkitgtk/Source/WTF/wtf/Platform.h
===================================================================
--- webkitgtk.orig/Source/WTF/wtf/Platform.h
+++ webkitgtk/Source/WTF/wtf/Platform.h
@@ -194,6 +194,14 @@
#define WTF_CPU_ARM64 1
#endif
+/* CPU(ARM64) - AArch64 */
+#if defined(__aarch64__)
+#define WTF_CPU_ARM64 1
+#if defined(__AARCH64BE__)
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+#endif
+
/* CPU(ARM) - ARM, any version*/
#define WTF_ARM_ARCH_AT_LEAST(N) (CPU(ARM) && WTF_ARM_ARCH_VERSION >= N)
@@ -978,7 +986,7 @@
#define WTF_USE_IMLANG_FONT_LINK2 1
#endif
-#if !defined(ENABLE_COMPARE_AND_SWAP) && (OS(WINDOWS) || (COMPILER(GCC) && (CPU(X86) || CPU(X86_64) || CPU(ARM_THUMB2) || CPU(ARM64))))
+#if !defined(ENABLE_COMPARE_AND_SWAP) && (OS(WINDOWS) || (COMPILER(GCC) && (CPU(X86) || CPU(X86_64) || CPU(ARM_THUMB2))))
#define ENABLE_COMPARE_AND_SWAP 1
#endif
Index: webkitgtk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
===================================================================
--- webkitgtk.orig/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
+++ webkitgtk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
@@ -1035,7 +1035,7 @@ TransformationMatrix TransformationMatri
// this = mat * this.
TransformationMatrix& TransformationMatrix::multiply(const TransformationMatrix& mat)
{
-#if CPU(ARM64)
+#if CPU(ARM64) && PLATFORM(IOS)
double* leftMatrix = &(m_matrix[0][0]);
const double* rightMatrix = &(mat.m_matrix[0][0]);
asm volatile (
|