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: b/modules/web/src/main/native/Source/WTF/wtf/Platform.h =================================================================== --- a/modules/web/src/main/native/Source/WTF/wtf/Platform.h +++ b/modules/web/src/main/native/Source/WTF/wtf/Platform.h @@ -164,6 +164,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) @@ -973,7 +981,7 @@ #define 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: b/modules/web/src/main/native/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp =================================================================== --- a/modules/web/src/main/native/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp +++ b/modules/web/src/main/native/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 (