mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/webkitgtk fix
This commit is contained in:
parent
9dd417a0d1
commit
9f296f31cf
3 changed files with 2 additions and 193 deletions
|
@ -1,74 +0,0 @@
|
|||
Index: trunk/Source/WTF/wtf/Atomics.h
|
||||
===================================================================
|
||||
--- trunk/Source/WTF/wtf/Atomics.h (revision 166233)
|
||||
+++ trunk/Source/WTF/wtf/Atomics.h (revision 166234)
|
||||
@@ -105,20 +105,34 @@
|
||||
"movw %1, #1\n\t"
|
||||
"ldrex %2, %0\n\t"
|
||||
"cmp %3, %2\n\t"
|
||||
"bne.n 0f\n\t"
|
||||
"strex %1, %4, %0\n\t"
|
||||
"0:"
|
||||
: "+Q"(*location), "=&r"(result), "=&r"(tmp)
|
||||
: "r"(expected), "r"(newValue)
|
||||
: "memory");
|
||||
result = !result;
|
||||
+#elif CPU(ARM64) && COMPILER(GCC)
|
||||
+ unsigned tmp;
|
||||
+ unsigned result;
|
||||
+ asm volatile(
|
||||
+ "mov %w1, #1\n\t"
|
||||
+ "ldxr %w2, [%0]\n\t"
|
||||
+ "cmp %w3, %w2\n\t"
|
||||
+ "b.ne 0f\n\t"
|
||||
+ "stxr %w1, %w4, [%0]\n\t"
|
||||
+ "0:"
|
||||
+ : "+r"(location), "=&r"(result), "=&r"(tmp)
|
||||
+ : "r"(expected), "r"(newValue)
|
||||
+ : "memory");
|
||||
+ result = !result;
|
||||
#elif CPU(ARM64)
|
||||
unsigned tmp;
|
||||
unsigned result;
|
||||
asm volatile(
|
||||
"mov %w1, #1\n\t"
|
||||
"ldxr %w2, %0\n\t"
|
||||
"cmp %w3, %w2\n\t"
|
||||
"b.ne 0f\n\t"
|
||||
"stxr %w1, %w4, %0\n\t"
|
||||
"0:"
|
||||
@@ -145,20 +159,34 @@
|
||||
#if CPU(X86_64)
|
||||
bool result;
|
||||
asm volatile(
|
||||
"lock; cmpxchgq %3, %2\n\t"
|
||||
"sete %1"
|
||||
: "+a"(expected), "=q"(result), "+m"(*location)
|
||||
: "r"(newValue)
|
||||
: "memory"
|
||||
);
|
||||
return result;
|
||||
+#elif CPU(ARM64) && COMPILER(GCC)
|
||||
+ bool result;
|
||||
+ void* tmp;
|
||||
+ asm volatile(
|
||||
+ "mov %w1, #1\n\t"
|
||||
+ "ldxr %x2, [%0]\n\t"
|
||||
+ "cmp %x3, %x2\n\t"
|
||||
+ "b.ne 0f\n\t"
|
||||
+ "stxr %w1, %x4, [%0]\n\t"
|
||||
+ "0:"
|
||||
+ : "+r"(location), "=&r"(result), "=&r"(tmp)
|
||||
+ : "r"(expected), "r"(newValue)
|
||||
+ : "memory");
|
||||
+ return !result;
|
||||
#elif CPU(ARM64)
|
||||
bool result;
|
||||
void* tmp;
|
||||
asm volatile(
|
||||
"mov %w1, #1\n\t"
|
||||
"ldxr %x2, %0\n\t"
|
||||
"cmp %x3, %x2\n\t"
|
||||
"b.ne 0f\n\t"
|
||||
"stxr %w1, %x4, %0\n\t"
|
||||
"0:"
|
|
@ -1,111 +0,0 @@
|
|||
Index: trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
|
||||
===================================================================
|
||||
--- trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp (revision 165676)
|
||||
+++ trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp (revision 166233)
|
||||
@@ -1041,59 +1041,59 @@
|
||||
asm volatile (
|
||||
// First, load the leftMatrix completely in memory. The leftMatrix is in v16-v23.
|
||||
- "mov x4, %[leftMatrix]\n\t"
|
||||
- "ld1.2d {v16, v17, v18, v19}, [%[leftMatrix]], #64\n\t"
|
||||
- "ld1.2d {v20, v21, v22, v23}, [%[leftMatrix]]\n\t"
|
||||
+ "mov x4, %[leftMatrix]\n\t"
|
||||
+ "ld1 {v16.2d, v17.2d, v18.2d, v19.2d}, [%[leftMatrix]], #64\n\t"
|
||||
+ "ld1 {v20.2d, v21.2d, v22.2d, v23.2d}, [%[leftMatrix]]\n\t"
|
||||
|
||||
// First row.
|
||||
- "ld4r.2d {v24, v25, v26, v27}, [%[rightMatrix]], #32\n\t"
|
||||
- "fmul.2d v28, v24, v16\n\t"
|
||||
- "fmul.2d v29, v24, v17\n\t"
|
||||
- "fmla.2d v28, v25, v18\n\t"
|
||||
- "fmla.2d v29, v25, v19\n\t"
|
||||
- "fmla.2d v28, v26, v20\n\t"
|
||||
- "fmla.2d v29, v26, v21\n\t"
|
||||
- "fmla.2d v28, v27, v22\n\t"
|
||||
- "fmla.2d v29, v27, v23\n\t"
|
||||
-
|
||||
- "ld4r.2d {v0, v1, v2, v3}, [%[rightMatrix]], #32\n\t"
|
||||
- "st1.2d {v28, v29}, [x4], #32\n\t"
|
||||
+ "ld4r {v24.2d, v25.2d, v26.2d, v27.2d}, [%[rightMatrix]], #32\n\t"
|
||||
+ "fmul v28.2d, v24.2d, v16.2d\n\t"
|
||||
+ "fmul v29.2d, v24.2d, v17.2d\n\t"
|
||||
+ "fmla v28.2d, v25.2d, v18.2d\n\t"
|
||||
+ "fmla v29.2d, v25.2d, v19.2d\n\t"
|
||||
+ "fmla v28.2d, v26.2d, v20.2d\n\t"
|
||||
+ "fmla v29.2d, v26.2d, v21.2d\n\t"
|
||||
+ "fmla v28.2d, v27.2d, v22.2d\n\t"
|
||||
+ "fmla v29.2d, v27.2d, v23.2d\n\t"
|
||||
+
|
||||
+ "ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [%[rightMatrix]], #32\n\t"
|
||||
+ "st1 {v28.2d, v29.2d}, [x4], #32\n\t"
|
||||
|
||||
// Second row.
|
||||
- "fmul.2d v30, v0, v16\n\t"
|
||||
- "fmul.2d v31, v0, v17\n\t"
|
||||
- "fmla.2d v30, v1, v18\n\t"
|
||||
- "fmla.2d v31, v1, v19\n\t"
|
||||
- "fmla.2d v30, v2, v20\n\t"
|
||||
- "fmla.2d v31, v2, v21\n\t"
|
||||
- "fmla.2d v30, v3, v22\n\t"
|
||||
- "fmla.2d v31, v3, v23\n\t"
|
||||
-
|
||||
- "ld4r.2d {v24, v25, v26, v27}, [%[rightMatrix]], #32\n\t"
|
||||
- "st1.2d {v30, v31}, [x4], #32\n\t"
|
||||
+ "fmul v30.2d, v0.2d, v16.2d\n\t"
|
||||
+ "fmul v31.2d, v0.2d, v17.2d\n\t"
|
||||
+ "fmla v30.2d, v1.2d, v18.2d\n\t"
|
||||
+ "fmla v31.2d, v1.2d, v19.2d\n\t"
|
||||
+ "fmla v30.2d, v2.2d, v20.2d\n\t"
|
||||
+ "fmla v31.2d, v2.2d, v21.2d\n\t"
|
||||
+ "fmla v30.2d, v3.2d, v22.2d\n\t"
|
||||
+ "fmla v31.2d, v3.2d, v23.2d\n\t"
|
||||
+
|
||||
+ "ld4r {v24.2d, v25.2d, v26.2d, v27.2d}, [%[rightMatrix]], #32\n\t"
|
||||
+ "st1 {v30.2d, v31.2d}, [x4], #32\n\t"
|
||||
|
||||
// Third row.
|
||||
- "fmul.2d v28, v24, v16\n\t"
|
||||
- "fmul.2d v29, v24, v17\n\t"
|
||||
- "fmla.2d v28, v25, v18\n\t"
|
||||
- "fmla.2d v29, v25, v19\n\t"
|
||||
- "fmla.2d v28, v26, v20\n\t"
|
||||
- "fmla.2d v29, v26, v21\n\t"
|
||||
- "fmla.2d v28, v27, v22\n\t"
|
||||
- "fmla.2d v29, v27, v23\n\t"
|
||||
-
|
||||
- "ld4r.2d {v0, v1, v2, v3}, [%[rightMatrix]], #32\n\t"
|
||||
- "st1.2d {v28, v29}, [x4], #32\n\t"
|
||||
+ "fmul v28.2d, v24.2d, v16.2d\n\t"
|
||||
+ "fmul v29.2d, v24.2d, v17.2d\n\t"
|
||||
+ "fmla v28.2d, v25.2d, v18.2d\n\t"
|
||||
+ "fmla v29.2d, v25.2d, v19.2d\n\t"
|
||||
+ "fmla v28.2d, v26.2d, v20.2d\n\t"
|
||||
+ "fmla v29.2d, v26.2d, v21.2d\n\t"
|
||||
+ "fmla v28.2d, v27.2d, v22.2d\n\t"
|
||||
+ "fmla v29.2d, v27.2d, v23.2d\n\t"
|
||||
+
|
||||
+ "ld4r {v0.2d, v1.2d, v2.2d, v3.2d}, [%[rightMatrix]], #32\n\t"
|
||||
+ "st1 {v28.2d, v29.2d}, [x4], #32\n\t"
|
||||
|
||||
// Fourth row.
|
||||
- "fmul.2d v30, v0, v16\n\t"
|
||||
- "fmul.2d v31, v0, v17\n\t"
|
||||
- "fmla.2d v30, v1, v18\n\t"
|
||||
- "fmla.2d v31, v1, v19\n\t"
|
||||
- "fmla.2d v30, v2, v20\n\t"
|
||||
- "fmla.2d v31, v2, v21\n\t"
|
||||
- "fmla.2d v30, v3, v22\n\t"
|
||||
- "fmla.2d v31, v3, v23\n\t"
|
||||
-
|
||||
- "st1.2d {v30, v31}, [x4]\n\t"
|
||||
+ "fmul v30.2d, v0.2d, v16.2d\n\t"
|
||||
+ "fmul v31.2d, v0.2d, v17.2d\n\t"
|
||||
+ "fmla v30.2d, v1.2d, v18.2d\n\t"
|
||||
+ "fmla v31.2d, v1.2d, v19.2d\n\t"
|
||||
+ "fmla v30.2d, v2.2d, v20.2d\n\t"
|
||||
+ "fmla v31.2d, v2.2d, v21.2d\n\t"
|
||||
+ "fmla v30.2d, v3.2d, v22.2d\n\t"
|
||||
+ "fmla v31.2d, v3.2d, v23.2d\n\t"
|
||||
+
|
||||
+ "st1 {v30.2d, v31.2d}, [x4]\n\t"
|
||||
|
||||
: [leftMatrix]"+r"(leftMatrix), [rightMatrix]"+r"(rightMatrix)
|
|
@ -23,12 +23,8 @@ optdepends=('gst-plugins-base: free media decoding'
|
|||
'gst-plugins-good: media decoding'
|
||||
'gst-libav: nonfree media decoding')
|
||||
options=(!emptydirs)
|
||||
source=(http://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz
|
||||
ARM64-GCC-generates-wrong-code-with-O2-flag-in-WTF-weakCompareAndSwap.patch
|
||||
ARM64-GNU-assembler-fails-in-TransformationMatrix-multiply.patch)
|
||||
sha256sums=('588aea051bfbacced27fdfe0335a957dca839ebe36aa548df39c7bbafdb65bf7'
|
||||
'9313e66470e502bc3f2152ec00d8ef7d7c637dcc087b29e124b89ce92d8e28ce'
|
||||
'2b1bbe3b3106c414085f98c5447e9555d9323b5aa388216df08cb5fadf041b1d')
|
||||
source=(http://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz)
|
||||
sha256sums=('588aea051bfbacced27fdfe0335a957dca839ebe36aa548df39c7bbafdb65bf7')
|
||||
|
||||
prepare() {
|
||||
mkdir build-gtk{,2} path
|
||||
|
@ -37,8 +33,6 @@ prepare() {
|
|||
# AArch64 fixes
|
||||
cd $pkgbase-$pkgver
|
||||
if [[ $CARCH == "aarch64" ]]; then
|
||||
patch -p1 -i ../ARM64-GCC-generates-wrong-code-with-O2-flag-in-WTF-weakCompareAndSwap.patch
|
||||
patch -p1 -i ../ARM64-GNU-assembler-fails-in-TransformationMatrix-multiply.patch
|
||||
CFLAGS+=" -DENABLE_YARR_JIT=0"
|
||||
CXXFLAGS+=" -DENABLE_YARR_JIT=0"
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue