diff options
author | Raúl Porcel <armin76@gentoo.org> | 2009-11-14 14:50:59 +0000 |
---|---|---|
committer | Raúl Porcel <armin76@gentoo.org> | 2009-11-14 14:50:59 +0000 |
commit | ff5167688cc92c26774bb6e5dbed70c47e80fd68 (patch) | |
tree | b2334d80e2c8b851ca86a00130c7229aad28ccb0 /net-libs/webkit-gtk | |
parent | remove old (diff) | |
download | historical-ff5167688cc92c26774bb6e5dbed70c47e80fd68.tar.gz historical-ff5167688cc92c26774bb6e5dbed70c47e80fd68.tar.bz2 historical-ff5167688cc92c26774bb6e5dbed70c47e80fd68.zip |
Add patch from Debian to fix unaligned accesses, with permission from remi, bug #292940
Package-Manager: portage-2.1.6.13/cvs/Linux ia64
Diffstat (limited to 'net-libs/webkit-gtk')
-rw-r--r-- | net-libs/webkit-gtk/ChangeLog | 7 | ||||
-rw-r--r-- | net-libs/webkit-gtk/Manifest | 5 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/webkit-gtk-1.1.15.2-unaligned.patch | 139 | ||||
-rw-r--r-- | net-libs/webkit-gtk/webkit-gtk-1.1.15.2.ebuild | 14 |
4 files changed, 159 insertions, 6 deletions
diff --git a/net-libs/webkit-gtk/ChangeLog b/net-libs/webkit-gtk/ChangeLog index 4272c849f19f..4c6329f7c06c 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-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.54 2009/11/09 19:12:53 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.55 2009/11/14 14:50:59 armin76 Exp $ + + 14 Nov 2009; Raúl Porcel <armin76@gentoo.org> webkit-gtk-1.1.15.2.ebuild, + +files/webkit-gtk-1.1.15.2-unaligned.patch: + Add patch from Debian to fix unaligned accesses, with permission from + remi, bug #292940 09 Nov 2009; Raúl Porcel <armin76@gentoo.org> webkit-gtk-1.1.10.ebuild, webkit-gtk-1.1.15.2.ebuild: diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest index 9cad7bd5b8b1..d8159f3556f6 100644 --- a/net-libs/webkit-gtk/Manifest +++ b/net-libs/webkit-gtk/Manifest @@ -1,11 +1,12 @@ AUX webkit-gtk-0_p40220-gcc44-aliasing.patch 31876 RMD160 19f850df93fd81d1a736dbcc5441d0193929ef35 SHA1 293465980ececa6f2dbdd55787edf2676f628edf SHA256 6aee86b94b443a088502a35d25ffc7f17fa36f6e89dd082dcca11042a7af110f AUX webkit-gtk-1.1.10-reduce-gnome-keyring-req.patch 363 RMD160 89f5fb0c5ac6925ba01b2b1eeb67c28784cacbe3 SHA1 ddb49156ffc156930494026195cbfd3d428ae958 SHA256 4824005e4178b78a50b3f0d2bd31f06c8ccc35197f631a60839b613bdc36a491 +AUX webkit-gtk-1.1.15.2-unaligned.patch 4403 RMD160 c9ba117a35e07ed1097787934fdb0750b2baaab5 SHA1 fd1ddaff12705784662002554a76aea67ff70320 SHA256 8b20af7ccad9d91f8d76465843b6a40e80c59c8e9620cf7772ba6f64406b3e68 AUX webkit-gtk-CVE-2009-0945.patch 671 RMD160 a51f2326f44e05146eaeea5b3f0fcc973efdaeca SHA1 2a281b7ee69158daf7d088add2f21f99903506dd SHA256 65ccad453b147067725dac0f9ba8f07cd0d04970ab0f8d85f086ef07a6d0b3c3 DIST WebKit-r40220.tar.bz2 10307835 RMD160 5700977d5a9a23680e58b1e3952ecb2fe1430e9a SHA1 2aa2bd3a9c60f53a1a1ef0bf810ea2c59b0a80e2 SHA256 223154d0e247336cd3cf808b030cfb00739103b7a258050e71703903df922020 DIST webkit-1.1.10.tar.gz 6343872 RMD160 c3d5a7b9793318d0fc9f4d170b7aeac7a6f30735 SHA1 8f0637c936b4f62fb21c8d0c35298e5c0317fd0a SHA256 4eb4fc4a3f47edbc18c9dc09d54fd2189954ebaa0e521b0ab97e21087d8c9855 DIST webkit-1.1.15.2.tar.gz 6081293 RMD160 21298d312214ad0655703571286e81d553098fbb SHA1 ebf0fd805dd8397ae11701341806cd78002baa18 SHA256 ae76bf52bd7b57fd4b4ee5894f72d0fdb6ad550051efb6424f6a4466796798ac EBUILD webkit-gtk-0_p40220-r1.ebuild 2017 RMD160 e0c5faca4ae98256b4b964fde174e932aad08d6e SHA1 6de0cd2a6d02773f13d00232ac66aa2073df17db SHA256 1220f0c9faff1820bcb8ddebaf3a3a0e0b133456fd6497f40311463efbffad69 EBUILD webkit-gtk-1.1.10.ebuild 2976 RMD160 ecc59930e536131d688ce880f367700c5bcd1e47 SHA1 08ea90e8553cd00f3aa1fc2755b8449f5404525f SHA256 e00bdd4a2374365af63e84773cdb312a2f81ad032070ac9e7229b945b3ff460d -EBUILD webkit-gtk-1.1.15.2.ebuild 2335 RMD160 6e1b12f5d92d330e5b14f777995c9305d789d556 SHA1 a52a8ef8e74db556295ea53b1cf63171d079b826 SHA256 a2d0ea4cf18ade372edb9da9d72b73daa17a3d06e7d3beeed3ac67aa46b122b4 -MISC ChangeLog 12068 RMD160 f1131ad2f9af827521ef5f77832b60d72e2fd076 SHA1 6e5290bfc38794bdfe27a55584a4b44a1743c2b6 SHA256 05dade9c00ef477e8674784f4ba9c4deb81d777351cecab7bf0bd9cb47a67fff +EBUILD webkit-gtk-1.1.15.2.ebuild 2542 RMD160 f82fe3263ef4676afdd47c6613701e95906503c8 SHA1 6e5c7b0f06567d2d656cdb430102a8c9fd872937 SHA256 ed8d33a6ce27e92bfe60ac2a069c8d0da3bf837a29e92bffedc7c85c9040a546 +MISC ChangeLog 12284 RMD160 9d0e648a14f6672d605d3218a0c7ddd9aa4bdeae SHA1 6e4650053c8519b95fe8552ec591d00ad1063233 SHA256 0336e68d334cf1534d3c06655c47555fb7544d1dc5759623796ab55376e8ad82 MISC metadata.xml 511 RMD160 f92b89efcf0adad44e3f19adf0e0c30baacaed10 SHA1 373bd2cc8e0e724723da36f7fdc742cd44ccb35d SHA256 1d1d12891a988ba9e30946956a5f95caa30512bcf47479403367334fa38b9907 diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.1.15.2-unaligned.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.1.15.2-unaligned.patch new file mode 100644 index 000000000000..ae2d9216516f --- /dev/null +++ b/net-libs/webkit-gtk/files/webkit-gtk-1.1.15.2-unaligned.patch @@ -0,0 +1,139 @@ +--- webkit-1.1.16.orig/JavaScriptCore/wtf/Platform.h ++++ webkit-1.1.16/JavaScriptCore/wtf/Platform.h +@@ -347,6 +347,23 @@ + #define WTF_PLATFORM_X86_64 1 + #endif + ++/* PLATFORM(IA64) */ ++#if defined(__ia64__) ++#define WTF_PLATFORM_IA64 1 ++#endif ++ ++/* PLATFORM(ALPHA) */ ++#if defined(__alpha__) ++#define WTF_PLATFORM_ALPHA 1 ++#endif ++ ++/* PLATFORM(SPARC) */ ++#if defined(__sparc__) \ ++ || defined(__sparc) ++#define WTF_PLATFORM_SPARC 1 ++#define WTF_PLATFORM_BIG_ENDIAN 1 ++#endif ++ + /* PLATFORM(SH4) */ + #if defined(__SH4__) + #define WTF_PLATFORM_SH4 1 +@@ -372,6 +389,16 @@ + # endif + #endif + ++/* For undefined platforms */ ++#if !defined(WTF_PLATFORM_BIG_ENDIAN) && !defined(WTF_PLATFORM_MIDDLE_ENDIAN) ++#include <sys/param.h> ++#if __BYTE_ORDER == __BIG_ENDIAN ++#define WTF_PLATFORM_BIG_ENDIAN 1 ++#elif __BYTE_ORDER == __PDP_ENDIAN ++#define WTF_PLATFORM_MIDDLE_ENDIAN 1 ++#endif ++#endif ++ + /* Compiler */ + + /* COMPILER(MSVC) */ +@@ -703,7 +730,7 @@ + #endif + + #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64) +-#if PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX)) ++#if (PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX) || PLATFORM(FREEBSD))) || PLATFORM(IA64) || PLATFORM(ALPHA) + #define WTF_USE_JSVALUE64 1 + #elif PLATFORM(ARM) || PLATFORM(PPC64) + #define WTF_USE_JSVALUE32 1 +--- webkit-1.1.16.orig/JavaScriptCore/wtf/ListHashSet.h ++++ webkit-1.1.16/JavaScriptCore/wtf/ListHashSet.h +@@ -127,7 +127,7 @@ + : 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 @@ + } + + 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 @@ + 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.1.16.orig/JavaScriptCore/wtf/FastMalloc.cpp ++++ webkit-1.1.16/JavaScriptCore/wtf/FastMalloc.cpp +@@ -2259,13 +2259,13 @@ + + // Page-level allocator + static SpinLock pageheap_lock = SPINLOCK_INITIALIZER; +-static void* pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(void*) - 1) / sizeof(void*)]; ++static uint64_t pageheap_memory[(sizeof(TCMalloc_PageHeap) + sizeof(uint64_t) - 1) / sizeof(uint64_t)]; + static bool phinited = false; + + // Avoid extra level of indirection by making "pageheap" be just an alias + // of pageheap_memory. + typedef union { +- void* m_memory; ++ uint64_t* m_memory; + TCMalloc_PageHeap* m_pageHeap; + } PageHeapUnion; + +--- webkit-1.1.16.orig/WebCore/platform/text/AtomicString.cpp ++++ webkit-1.1.16/WebCore/platform/text/AtomicString.cpp +@@ -103,7 +103,7 @@ + if (string->length() != length) + return false; + +-#if PLATFORM(ARM) || PLATFORM(SH4) ++#if PLATFORM(ARM) || PLATFORM(SPARC) || PLATFORM(SH4) + const UChar* stringCharacters = string->characters(); + for (unsigned i = 0; i != length; ++i) { + if (*stringCharacters++ != *characters++) +--- webkit-1.1.16.orig/WebCore/platform/text/StringHash.h ++++ webkit-1.1.16/WebCore/platform/text/StringHash.h +@@ -47,6 +47,15 @@ + if (aLength != bLength) + return false; + ++#if PLATFORM(ARM) || PLATFORM(SPARC) ++ const UChar* aChars = a->characters(); ++ const UChar* bChars = b->characters(); ++ for (unsigned i = 0; i != aLength; ++i) ++ if (*aChars++ != *bChars++) ++ return false; ++ ++ return true; ++#else + const uint32_t* aChars = reinterpret_cast<const uint32_t*>(a->characters()); + const uint32_t* bChars = reinterpret_cast<const uint32_t*>(b->characters()); + +@@ -59,6 +68,7 @@ + return false; + + return true; ++#endif + } + + static unsigned hash(const RefPtr<StringImpl>& key) { return key->hash(); }
\ No newline at end of file diff --git a/net-libs/webkit-gtk/webkit-gtk-1.1.15.2.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.1.15.2.ebuild index 6ba90782cea2..e523a72a8fe7 100644 --- a/net-libs/webkit-gtk/webkit-gtk-1.1.15.2.ebuild +++ b/net-libs/webkit-gtk/webkit-gtk-1.1.15.2.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2009 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.1.15.2.ebuild,v 1.2 2009/11/09 19:12:53 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.1.15.2.ebuild,v 1.3 2009/11/14 14:50:59 armin76 Exp $ EAPI="2" -inherit autotools +inherit autotools flag-o-matic eutils MY_P="webkit-${PV}" DESCRIPTION="Open source web browser engine" @@ -13,7 +13,7 @@ SRC_URI="http://www.webkitgtk.org/${MY_P}.tar.gz" LICENSE="LGPL-2 LGPL-2.1 BSD" SLOT="0" -KEYWORDS="~alpha ~amd64 ~ia64 ~ppc -sparc ~x86 ~x86-fbsd" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd" # geoclue IUSE="coverage debug doc +gstreamer pango ruby +websockets" @@ -51,6 +51,10 @@ DEPEND="${RDEPEND} S="${WORKDIR}/${MY_P}" src_prepare() { + + # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC + use sparc && epatch "${FILESDIR}"/sigbus.patch + # Make it libtool-1 compatible rm -v autotools/lt* autotools/libtool.m4 \ || die "removing libtool macros failed" @@ -64,6 +68,10 @@ src_configure() { # It doesn't compile on alpha without this in LDFLAGS use alpha && append-ldflags "-Wl,--no-relax" + # Sigbuses on SPARC with mcpu + use sparc && filter-flags "-mcpu=*" "-mtune=*" + + local myconf myconf=" |