add xulrunner patches for secondary arches

This commit is contained in:
Dan Horák 2011-07-20 10:41:04 +02:00
parent 3c2b2d2169
commit fda3b5ff13
4 changed files with 86 additions and 16 deletions

View File

@ -1,11 +0,0 @@
diff -up mozilla-1.9.2/js/src/jstl.h.s390 mozilla-1.9.2/js/src/jstl.h
--- mozilla-1.9.2/js/src/jstl.h.s390 2011-02-18 19:33:24.000000000 +0100
+++ mozilla-1.9.2/js/src/jstl.h 2011-03-07 08:41:29.000000000 +0100
@@ -195,7 +195,6 @@ class ReentrancyGuard
JS_ALWAYS_INLINE size_t
RoundUpPow2(size_t x)
{
- typedef tl::StaticAssert<tl::IsSameType<size_t,JSUword>::result>::result _;
size_t log2 = JS_CEILING_LOG2W(x);
JS_ASSERT(log2 < tl::BitSize<size_t>::result);
size_t result = size_t(1) << log2;

View File

@ -36,7 +36,7 @@
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
Version: 5.0
Release: 1%{?dist}
Release: 2%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
@ -59,8 +59,10 @@ Source100: find-external-requires
# Mozilla (XULRunner) patches
Patch0: thunderbird-version.patch
Patch6: mozilla-build-s390.patch
Patch7: crashreporter-remove-static.patch
# secondary arch patches inherited from xulrunner
Patch8: xulrunner-2.0-secondary-jit.patch
Patch9: xulrunner-5.0-secondary-ipc.patch
%if %{official_branding}
# Required by Mozilla Corporation
@ -140,10 +142,9 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
# Mozilla (XULRunner) patches
cd mozilla
%ifarch s390
%patch6 -p1 -b .s390
%endif
%patch7 -p2 -b .static
%patch8 -p2 -b .secondary-jit
%patch9 -p2 -b .secondary-ipc
cd ..
%if %{official_branding}
@ -360,6 +361,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#===============================================================================
%changelog
* Wed Jul 20 2011 Dan Horák <dan[at]danny.cz> - 5.0-2
- add xulrunner patches for secondary arches
* Tue Jun 28 2011 Jan Horak <jhorak@redhat.com> - 5.0-1
- Update to 5.0

View File

@ -0,0 +1,14 @@
https://bugzilla.mozilla.org/show_bug.cgi?id=627668
diff -up xulrunner-2.0/mozilla/js/src/Makefile.in.big-endian-jit xulrunner-2.0/mozilla/js/src/Makefile.in
--- xulrunner-2.0/mozilla/js/src/Makefile.in.big-endian-jit 2010-11-04 21:05:48.000000000 +0100
+++ xulrunner-2.0/mozilla/js/src/Makefile.in 2010-11-15 14:17:39.000000000 +0100
@@ -371,7 +371,7 @@ CPPSRCS += checks.cc \
# END enclude sources for V8 dtoa
#############################################
-ifeq (,$(filter-out powerpc sparc,$(TARGET_CPU)))
+ifeq (,$(filter-out powerpc powerpc64 sparc sparc64 s390 s390x,$(TARGET_CPU)))
VPATH += $(srcdir)/assembler \
$(srcdir)/assembler/wtf \

View File

@ -0,0 +1,63 @@
Bug 668460 - Adds IPC build config for s390(x) and powerpc(64)
diff -up xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc
--- xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc 2011-06-15 23:57:27.000000000 +0200
+++ xulrunner-5.0/mozilla/ipc/chromium/src/base/data_pack.cc 2011-06-30 09:08:26.777844341 +0200
@@ -91,14 +91,7 @@ bool DataPack::Load(const FilePath& path
bool DataPack::Get(uint32_t resource_id, StringPiece* data) {
// It won't be hard to make this endian-agnostic, but it's not worth
// bothering to do right now.
-#if defined(__BYTE_ORDER)
- // Linux check
- COMPILE_ASSERT(__BYTE_ORDER == __LITTLE_ENDIAN,
- datapack_assumes_little_endian);
-#elif defined(__BIG_ENDIAN__)
- // Mac check
- #error DataPack assumes little endian
-#endif
+#warning DoTheRightThingMakingThisEndianAgnostic!
DataPackEntry* target = reinterpret_cast<DataPackEntry*>(
bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_,
diff -up xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h
--- xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc 2011-06-15 23:57:27.000000000 +0200
+++ xulrunner-5.0/mozilla/ipc/chromium/src/build/build_config.h 2011-06-30 09:08:26.777844341 +0200
@@ -57,9 +57,24 @@
#define ARCH_CPU_ARMEL 1
#define ARCH_CPU_32_BITS 1
#define WCHAR_T_IS_UNSIGNED 1
-#elif defined(__ppc__)
+#elif defined(__powerpc64__)
+#define ARCH_CPU_PPC64 1
+#define ARCH_CPU_64_BITS 1
+#elif defined(__powerpc__)
#define ARCH_CPU_PPC 1
#define ARCH_CPU_32_BITS 1
+#elif defined(__s390x__)
+#define ARCH_CPU_S390X 1
+#define ARCH_CPU_64_BITS 1
+#elif defined(__s390__)
+#define ARCH_CPU_S390 1
+#define ARCH_CPU_32_BITS 1
+#elif defined(__sparc__) && !defined(__arch64)
+#define ARCH_CPU_SPARC 1
+#define ARCH_CPU_32_BITS 1
+#elif defined(__sparc__) && defined(__arch64)
+#define ARCH_CPU_SPARC64 1
+#define ARCH_CPU_64_BITS 1
#else
#error Please add support for your architecture in build/build_config.h
#endif
diff -up xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h
--- xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc 2011-06-15 23:57:27.000000000 +0200
+++ xulrunner-5.0/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h 2011-06-30 09:47:16.629029528 +0200
@@ -219,7 +219,8 @@ struct ParamTraits<unsigned long> {
}
};
-#if !(defined(OS_MACOSX) || defined(OS_WIN) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)))
+// Although s390 is a 32-bit system it defines size_t as unsigned long
+#if !(defined(OS_MACOSX) || defined(OS_WIN) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && (defined(ARCH_CPU_64_BITS) || defined(ARCH_CPU_S390))))
// There size_t is a synonym for |unsigned long| ...
template <>
struct ParamTraits<size_t> {