summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2010-07-26 14:23:26 +0000
committerPacho Ramos <pacho@gentoo.org>2010-07-26 14:23:26 +0000
commit03c77fc26ce4693a8cbf12edb9d819d817a391ea (patch)
tree48721e5061da2f02ab2bd1f7deed1c47642d1ec4 /net-libs
parentx86 stable wrt bug #329913 (diff)
downloadgentoo-2-03c77fc26ce4693a8cbf12edb9d819d817a391ea.tar.gz
gentoo-2-03c77fc26ce4693a8cbf12edb9d819d817a391ea.tar.bz2
gentoo-2-03c77fc26ce4693a8cbf12edb9d819d817a391ea.zip
Update to debian patch letting webkit to keep working on sparc. Thanks a lot to RaúPorcel in bug #329107 (by Possum) for finding the fix.
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/webkit-gtk/ChangeLog7
-rw-r--r--net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch65
-rw-r--r--net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild4
3 files changed, 73 insertions, 3 deletions
diff --git a/net-libs/webkit-gtk/ChangeLog b/net-libs/webkit-gtk/ChangeLog
index 8c6b1293b1c5..ffd2dea11d88 100644
--- a/net-libs/webkit-gtk/ChangeLog
+++ b/net-libs/webkit-gtk/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-libs/webkit-gtk
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.75 2010/07/18 17:36:05 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.76 2010/07/26 14:23:26 pacho Exp $
+
+ 26 Jul 2010; Pacho Ramos <pacho@gentoo.org> webkit-gtk-1.2.3.ebuild,
+ +files/webkit-gtk-1.2.3-fix-pool-sparc.patch:
+ Update to debian patch letting webkit to keep working on sparc. Thanks a
+ lot to Raúl Porcel in bug #329107 (by Possum) for finding the fix.
*webkit-gtk-1.2.3 (18 Jul 2010)
diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch
new file mode 100644
index 000000000000..3b1c5c4351f3
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch
@@ -0,0 +1,65 @@
+Description: Fixup pool and add sparc support
+--- webkit-1.2.1.orig/JavaScriptCore/wtf/ListHashSet.h
++++ webkit-1.2.1/JavaScriptCore/wtf/ListHashSet.h
+@@ -127,7 +127,7 @@ namespace WTF {
+ : m_freeList(pool())
+ , m_isDoneWithInitialFreeList(false)
+ {
+- memset(m_pool.pool, 0, sizeof(m_pool.pool));
++ memset(m_pool, 0, sizeof(m_pool));
+ }
+
+ Node* allocate()
+@@ -171,7 +171,7 @@ namespace WTF {
+ }
+
+ private:
+- Node* pool() { return reinterpret_cast<Node*>(m_pool.pool); }
++ Node* pool() { return reinterpret_cast<Node*>(m_pool); }
+ Node* pastPool() { return pool() + m_poolSize; }
+
+ bool inPool(Node* node)
+@@ -182,10 +182,7 @@ namespace WTF {
+ Node* m_freeList;
+ bool m_isDoneWithInitialFreeList;
+ static const size_t m_poolSize = 256;
+- union {
+- char pool[sizeof(Node) * m_poolSize];
+- double forAlignment;
+- } m_pool;
++ uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)];
+ };
+
+ template<typename ValueArg> struct ListHashSetNode {
+--- webkit-1.2.1.orig/WebCore/platform/text/AtomicString.cpp
++++ webkit-1.2.1/WebCore/platform/text/AtomicString.cpp
+@@ -103,9 +103,9 @@ static inline bool equal(StringImpl* str
+ if (string->length() != length)
+ return false;
+
++#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
+ // FIXME: perhaps we should have a more abstract macro that indicates when
+ // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4)
+ const UChar* stringCharacters = string->characters();
+ for (unsigned i = 0; i != length; ++i) {
+ if (*stringCharacters++ != *characters++)
+--- webkit-1.2.1.orig/WebCore/platform/text/StringHash.h
++++ webkit-1.2.1/WebCore/platform/text/StringHash.h
+@@ -54,13 +54,13 @@ namespace WebCore {
+
+ // FIXME: perhaps we should have a more abstract macro that indicates when
+ // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4)
++#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
+ const UChar* aChars = a->characters();
+ const UChar* bChars = b->characters();
+- for (unsigned i = 0; i != aLength; ++i) {
++ for (unsigned i = 0; i != aLength; ++i)
+ if (*aChars++ != *bChars++)
+ return false;
+- }
++
+ return true;
+ #else
+ /* Do it 4-bytes-at-a-time on architectures where it's safe */
diff --git a/net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild
index f30e2c21d944..0ae812650ad0 100644
--- a/net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild
+++ b/net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild,v 1.1 2010/07/18 17:36:05 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.2.3.ebuild,v 1.2 2010/07/26 14:23:26 pacho Exp $
EAPI="2"
@@ -57,7 +57,7 @@ S="${WORKDIR}/${MY_P}"
src_prepare() {
# FIXME: Fix unaligned accesses on ARM, IA64 and SPARC
# https://bugs.webkit.org/show_bug.cgi?id=19775
- use sparc && epatch "${FILESDIR}"/${PN}-1.1.15.2-unaligned.patch
+ use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch
# Darwin/Aqua build is broken, needs autoreconf
# XXX: BROKEN. Patch does not apply anymore.