extra/webkitgtk: v8 update

This commit is contained in:
Kevin Mihelich 2015-07-19 17:21:19 +00:00
parent e8f7729465
commit f2f53bf535
3 changed files with 100 additions and 2 deletions

View file

@ -4,6 +4,7 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - use --disable-jit to solve segfaults # - use --disable-jit to solve segfaults
# - use --disable-gtk-doc to solve html docs breaking the build # - use --disable-gtk-doc to solve html docs breaking the build
# - AArch64 fixes
pkgbase=webkitgtk pkgbase=webkitgtk
pkgname=(webkitgtk webkitgtk2) pkgname=(webkitgtk webkitgtk2)
@ -20,12 +21,25 @@ optdepends=('gst-plugins-base: free media decoding'
'gst-plugins-good: media decoding' 'gst-plugins-good: media decoding'
'gst-libav: nonfree media decoding') 'gst-libav: nonfree media decoding')
options=(!emptydirs) options=(!emptydirs)
source=(http://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz) source=(http://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz
sha256sums=('afdf29e7828816cad0be2604cf19421e96d96bf493987328ffc8813bb20ac564') webkitgtk-aarch64.patch
webkitgtk-2.4.1-ppc64_align.patch)
sha256sums=('afdf29e7828816cad0be2604cf19421e96d96bf493987328ffc8813bb20ac564'
'362c66145e3a7978cd612d1a838be7b556d31bb4c51f9ffe12054b5c91b08a73'
'62fb5f50c0fca6fbb598a93078d2b8882d5ecb78bbc22c7040f57e676e8d433f')
prepare() { prepare() {
mkdir build-gtk{,2} path mkdir build-gtk{,2} path
ln -s /usr/bin/python2 path/python ln -s /usr/bin/python2 path/python
# AArch64 fixes
cd $pkgbase-$pkgver
patch -p1 -i ../webkitgtk-aarch64.patch
if [[ $CARCH == "aarch64" ]]; then
patch -p1 -i ../webkitgtk-2.4.1-ppc64_align.patch
CFLAGS+=" -DENABLE_YARR_JIT=0"
CXXFLAGS+=" -DENABLE_YARR_JIT=0"
fi
} }
_build() ( _build() (

View file

@ -0,0 +1,45 @@
diff -up webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h
--- webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h.ppc64_align 2014-05-12 08:03:53.000000000 +0200
+++ webkitgtk-2.4.2/Source/JavaScriptCore/heap/CopiedBlock.h 2014-05-14 15:16:36.946318596 +0200
@@ -81,7 +81,7 @@ public:
size_t size();
size_t capacity();
- static const size_t blockSize = 32 * KB;
+ static const size_t blockSize = 64 * KB;
bool hasWorkList();
CopyWorkList& workList();
diff -up webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp
--- webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp.ppc64_align 2014-05-12 08:03:53.000000000 +0200
+++ webkitgtk-2.4.2/Source/JavaScriptCore/interpreter/JSStack.cpp 2014-05-14 15:17:35.617171141 +0200
@@ -49,7 +49,8 @@ JSStack::JSStack(VM& vm, size_t capacity
{
ASSERT(capacity && isPageAligned(capacity));
- m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitSize), OSAllocator::JSVMStackPages);
+ size_t commitsize = pageSize();
+ m_reservation = PageReservation::reserve(roundUpAllocationSize(capacity * sizeof(Register), commitsize), OSAllocator::JSVMStackPages);
updateStackLimit(highAddress());
m_commitEnd = highAddress();
@@ -78,7 +79,8 @@ bool JSStack::growSlowCase(Register* new
// Compute the chunk size of additional memory to commit, and see if we
// have it is still within our budget. If not, we'll fail to grow and
// return false.
- long delta = roundUpAllocationSize(reinterpret_cast<char*>(m_commitEnd) - reinterpret_cast<char*>(newEnd), commitSize);
+ size_t commitsize = pageSize();
+ long delta = roundUpAllocationSize(reinterpret_cast<char*>(m_commitEnd) - reinterpret_cast<char*>(newEnd), commitsize);
if (reinterpret_cast<char*>(m_commitEnd) - delta <= reinterpret_cast<char*>(m_useableEnd))
return false;
@@ -134,7 +136,8 @@ void JSStack::enableErrorStackReserve()
void JSStack::disableErrorStackReserve()
{
- char* useableEnd = reinterpret_cast<char*>(reservationEnd()) + commitSize;
+ size_t commitsize = pageSize();
+ char* useableEnd = reinterpret_cast<char*>(reservationEnd()) + commitsize;
m_useableEnd = reinterpret_cast_ptr<Register*>(useableEnd);
// By the time we get here, we are guaranteed to be destructing the last

View file

@ -0,0 +1,39 @@
diff -up webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h.aarch64 webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h
--- webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h.aarch64 2015-05-20 11:03:24.000000000 +0200
+++ webkitgtk-2.4.9/Source/WTF/wtf/dtoa/utils.h 2015-05-20 13:45:35.629023925 +0200
@@ -49,7 +49,7 @@
defined(__ARMEL__) || \
defined(_MIPS_ARCH_MIPS32R2)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(AARCH64) || CPU(HPPA)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__)
#if defined(_WIN32)
diff -up webkitgtk-2.4.9/Source/WTF/wtf/Platform.h.aarch64 webkitgtk-2.4.9/Source/WTF/wtf/Platform.h
--- webkitgtk-2.4.9/Source/WTF/wtf/Platform.h.aarch64 2015-05-20 11:03:24.000000000 +0200
+++ webkitgtk-2.4.9/Source/WTF/wtf/Platform.h 2015-05-20 13:47:34.439861401 +0200
@@ -334,6 +334,14 @@
#define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
#endif
+/* CPU(AARCH64) - AArch64 */
+#if defined(__aarch64__)
+#define WTF_CPU_AARCH64 1
+#if defined(__AARCH64BE__)
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+#endif
+
/* ==== OS() - underlying operating system; only to be used for mandated low-level services like
virtual memory, not to choose a GUI toolkit ==== */
@@ -654,7 +662,7 @@
#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS))) \
|| (CPU(IA64) && !CPU(IA64_32)) \
|| CPU(ALPHA) \
- || CPU(ARM64) \
+ || CPU(AARCH64) \
|| CPU(S390X) \
|| CPU(MIPS64) \
|| CPU(PPC64) \