Revert to 17.0.8

This commit is contained in:
Jan Horak 2013-09-23 10:08:37 +02:00
parent c987054324
commit 88b9e56cf4
11 changed files with 187 additions and 50 deletions

2
.gitignore vendored
View File

@ -77,5 +77,3 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
/thunderbird-langpacks-17.0.7-20130625.tar.xz
/thunderbird-17.0.8.source.tar.bz2
/thunderbird-langpacks-17.0.8-20130805.tar.xz
/thunderbird-24.0.source.tar.bz2
/thunderbird-langpacks-24.0-20130916.tar.xz

86
mozilla-746112.patch Normal file
View File

@ -0,0 +1,86 @@
diff -up xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h.746112 xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h
--- xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h.746112 2012-10-17 16:32:43.000000000 +0200
+++ xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h 2012-10-24 14:48:12.186640489 +0200
@@ -103,26 +103,31 @@ struct Cell
};
/*
- * Page size is 4096 by default, except for SPARC, where it is 8192.
+ * Page size must be static to support our arena pointer optimizations, so we
+ * are forced to support each platform with non-4096 pages as a special case.
+ * Note: The freelist supports a maximum arena shift of 15.
* Note: Do not use JS_CPU_SPARC here, this header is used outside JS.
* Bug 692267: Move page size definition to gc/Memory.h and include it
* directly once jsgc.h is no longer an installed header.
*/
#if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
const size_t PageShift = 13;
+const size_t ArenaShift = PageShift;
+#elif defined(__powerpc__)
+const size_t PageShift = 16;
+const size_t ArenaShift = 12;
#else
const size_t PageShift = 12;
+const size_t ArenaShift = PageShift;
#endif
const size_t PageSize = size_t(1) << PageShift;
+const size_t ArenaSize = size_t(1) << ArenaShift;
+const size_t ArenaMask = ArenaSize - 1;
const size_t ChunkShift = 20;
const size_t ChunkSize = size_t(1) << ChunkShift;
const size_t ChunkMask = ChunkSize - 1;
-const size_t ArenaShift = PageShift;
-const size_t ArenaSize = PageSize;
-const size_t ArenaMask = ArenaSize - 1;
-
/*
* This is the maximum number of arenas we allow in the FreeCommitted state
* before we trigger a GC_SHRINK to release free arenas to the OS.
diff -up xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp.746112 xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp
--- xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp.746112 2012-10-17 16:32:44.000000000 +0200
+++ xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp 2012-10-24 14:46:28.253638095 +0200
@@ -251,6 +251,13 @@ static const int BackgroundPhaseLength[]
sizeof(BackgroundPhaseStrings) / sizeof(AllocKind)
};
+/* Unused memory decommiting requires the arena size match the page size. */
+static bool
+DecommitEnabled()
+{
+ return PageSize == ArenaSize;
+}
+
#ifdef DEBUG
void
ArenaHeader::checkSynchronizedWithFreeList() const
@@ -742,7 +749,8 @@ Chunk::fetchNextDecommittedArena()
decommittedArenas.unset(offset);
Arena *arena = &arenas[offset];
- MarkPagesInUse(arena, ArenaSize);
+ if (DecommitEnabled())
+ MarkPagesInUse(arena, ArenaSize);
arena->aheader.setAsNotAllocated();
return &arena->aheader;
@@ -2731,7 +2739,7 @@ DecommitArenasFromAvailableList(JSRuntim
chunk->removeFromAvailableList();
size_t arenaIndex = Chunk::arenaIndex(aheader->arenaAddress());
- bool ok;
+ bool ok = true;
{
/*
* If the main thread waits for the decommit to finish, skip
@@ -2741,7 +2749,8 @@ DecommitArenasFromAvailableList(JSRuntim
Maybe<AutoUnlockGC> maybeUnlock;
if (!rt->isHeapBusy())
maybeUnlock.construct(rt);
- ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
+ if (DecommitEnabled())
+ ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
}
if (ok) {

46
mozilla-791626.patch Normal file
View File

@ -0,0 +1,46 @@
# HG changeset patch
# Parent 3523e7f7a89d7933c5f1dc8f5f22559b48ec44c4
diff --git a/netwerk/base/src/nsIOService.cpp b/netwerk/base/src/nsIOService.cpp
--- a/netwerk/base/src/nsIOService.cpp
+++ b/netwerk/base/src/nsIOService.cpp
@@ -818,17 +818,18 @@ nsIOService::PrefsChanged(nsIPrefBranch
if (NS_SUCCEEDED(rv)) {
if (mSocketTransportService)
mSocketTransportService->SetAutodialEnabled(enableAutodial);
}
}
if (!pref || strcmp(pref, MANAGE_OFFLINE_STATUS_PREF) == 0) {
bool manage;
- if (NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF,
+ if (mNetworkLinkServiceInitialized &&
+ NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF,
&manage)))
SetManageOfflineStatus(manage);
}
if (!pref || strcmp(pref, NECKO_BUFFER_CACHE_COUNT_PREF) == 0) {
int32_t count;
if (NS_SUCCEEDED(prefs->GetIntPref(NECKO_BUFFER_CACHE_COUNT_PREF,
&count)))
@@ -928,16 +929,20 @@ nsIOService::Observe(nsISupports *subjec
}
else if (!strcmp(topic, kProfileDoChange)) {
if (data && NS_LITERAL_STRING("startup").Equals(data)) {
// Lazy initialization of network link service (see bug 620472)
InitializeNetworkLinkService();
// Set up the initilization flag regardless the actuall result.
// If we fail here, we will fail always on.
mNetworkLinkServiceInitialized = true;
+ // And now reflect the preference setting
+ nsCOMPtr<nsIPrefBranch> prefBranch;
+ GetPrefBranch(getter_AddRefs(prefBranch));
+ PrefsChanged(prefBranch, MANAGE_OFFLINE_STATUS_PREF);
}
}
else if (!strcmp(topic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) {
// Remember we passed XPCOM shutdown notification to prevent any
// changes of the offline status from now. We must not allow going
// online after this point.
mShutdown = true;

View File

@ -1,12 +0,0 @@
diff -up xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build.neon xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build
--- xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build.neon 2013-09-11 01:15:02.000000000 +0200
+++ xulrunner-24.0/mozilla-release/gfx/ycbcr/moz.build 2013-09-16 11:23:40.487028288 +0200
@@ -61,7 +61,7 @@ else:
'yuv_row_other.cpp',
]
-if CONFIG['OS_TEST'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
+if CONFIG['HAVE_ARM_NEON']:
CPP_SOURCES += [
'yuv_convert_arm.cpp',
]

19
rhbz-855923.patch Normal file
View File

@ -0,0 +1,19 @@
Index: comm-release/mozilla/js/src/gc/Memory.cpp
===================================================================
--- comm-release.orig/mozilla/js/src/gc/Memory.cpp
+++ comm-release/mozilla/js/src/gc/Memory.cpp
@@ -348,9 +348,14 @@ UnmapPages(void *p, size_t size)
bool
MarkPagesUnused(void *p, size_t size)
{
+// A workaround for Bug 746112 - endless loop on ppc64
+#if !(defined(__powerpc__))
JS_ASSERT(uintptr_t(p) % PageSize == 0);
int result = madvise(p, size, MADV_DONTNEED);
return result != -1;
+#else
+ return true;
+#endif
}
bool

View File

@ -1,6 +1,6 @@
diff --git a/toolkit/module/CertUtils.jsm b/toolkit/toolkit/modules/CertUtils.jsm
--- a/toolkit/modules/CertUtils.jsm
+++ b/toolkit/modules/CertUtils.jsm
diff --git a/toolkit/mozapps/shared/CertUtils.jsm b/toolkit/toolkit/mozapps/shared/CertUtils.jsm
--- a/toolkit/mozapps/shared/CertUtils.jsm
+++ b/toolkit/mozapps/shared/CertUtils.jsm
@@ -170,17 +170,19 @@ this.checkCert =
issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3);
var tokenNames = issuerCert.getAllTokenNames({});

View File

@ -1,2 +1,2 @@
38f4b2e574751e4e6cbe36dc8b3bce20 thunderbird-24.0.source.tar.bz2
137202a59008d2f2049740aa4482ad75 thunderbird-langpacks-24.0-20130916.tar.xz
e4aee8852e94e455930bf482aecdbcd4 thunderbird-17.0.8.source.tar.bz2
b5440071d2ba233081b4f53768baf3ce thunderbird-langpacks-17.0.8-20130805.tar.xz

View File

@ -29,7 +29,6 @@ ac_add_options --disable-updater
ac_add_options --enable-startup-notification
ac_add_options --enable-gio
ac_add_options --disable-gnomevfs
ac_add_options --disable-gstreamer
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1

View File

@ -4,7 +4,7 @@
# Build as a debug package?
%define debug_build 0
%if 0%{?fedora} <= 18
%if 0%{?fedora} <= 17
%define system_sqlite 0
%else
%define system_sqlite 1
@ -23,7 +23,7 @@
%define freetype_version 2.1.9
%if %{?system_sqlite}
%define sqlite_version 3.7.17
%define sqlite_version 3.7.13
# The actual sqlite version (see #480989):
%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
%endif
@ -39,7 +39,7 @@
#
# IMPORTANT: If there is no top level directory, this should be
# set to the cwd, ie: '.'
%define tarballdir comm-esr24
%define tarballdir comm-esr17
%define official_branding 1
# enable crash reporter only for iX86
@ -53,15 +53,14 @@
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
Version: 24.0
Release: 2%{?dist}
Version: 17.0.8
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
ExcludeArch: armv7hl
Source0: ftp://ftp.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.bz2
%if %{build_langpacks}
Source1: thunderbird-langpacks-%{version}-20130916.tar.xz
Source1: thunderbird-langpacks-%{version}-20130805.tar.xz
%endif
Source10: thunderbird-mozconfig
Source11: thunderbird-mozconfig-branded
@ -73,7 +72,7 @@ Source100: find-external-requires
# Mozilla (XULRunner) patches
Patch0: thunderbird-install-dir.patch
Patch8: xulrunner-10.0-secondary-ipc.patch
Patch9: mozilla-build-arm.patch
Patch9: mozilla-791626.patch
# Build patches
Patch104: xulrunner-10.0-gcc47.patch
@ -82,7 +81,9 @@ Patch104: xulrunner-10.0-gcc47.patch
Patch200: thunderbird-8.0-enable-addons.patch
# PPC fixes
Patch300: xulrunner-24.0-jemalloc-ppc.patch
Patch300: xulrunner-16.0-jemalloc-ppc.patch
Patch301: rhbz-855923.patch
Patch302: mozilla-746112.patch
# Fedora specific patches
Patch400: rhbz-966424.patch
@ -170,13 +171,15 @@ cd %{tarballdir}
# Mozilla (XULRunner) patches
cd mozilla
%patch8 -p3 -b .secondary-ipc
%patch9 -p2 -b .arm
%patch9 -p1 -b .791626
%patch104 -p1 -b .gcc47
%patch300 -p2 -b .852698
%patch302 -p2 -b .746112
%patch400 -p1 -b .966424
cd ..
%patch200 -p1 -b .addons
%patch300 -p1 -b .852698
%patch301 -p1 -b .855923
%if %{official_branding}
# Required by Mozilla Corporation
@ -387,6 +390,7 @@ fi
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#===============================================================================
%files -f %{tarballdir}/%{name}.lang
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/thunderbird
@ -399,7 +403,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%dir %{mozappdir}/components
%ghost %{mozappdir}/components/compreg.dat
%ghost %{mozappdir}/components/xpti.dat
%{mozappdir}/components/components.manifest
%{mozappdir}/components/binary.manifest
%{mozappdir}/components/libdbusservice.so
%{mozappdir}/components/libmozgnome.so
%{mozappdir}/omni.ja
@ -438,17 +442,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%exclude %{_includedir}/%{name}-%{version}
%{mozappdir}/chrome.manifest
%{mozappdir}/searchplugins
%{mozappdir}/distribution/extensions
%{mozappdir}/dependentlibs.list
#===============================================================================
%changelog
* Wed Sep 18 2013 Martin Stransky <stransky@redhat.com> - 24.0-2
- Added arm build fix
* Mon Sep 16 2013 Jan Horak <jhorak@redhat.com> - 24.0-1
- Update to 24.0
* Mon Aug 5 2013 Jan Horak <jhorak@redhat.com> - 17.0.8-1
- Update to 17.0.8

View File

@ -0,0 +1,14 @@
Index: xulrunner-11.0/mozilla-release/memory/jemalloc/jemalloc.c
===================================================================
--- a/mozilla/memory/mozjemalloc/jemalloc.c
+++ b/mozilla/memory/mozjemalloc/jemalloc.c
@@ -1089,7 +1089,9 @@ static unsigned ncpus;
* controlling the malloc behavior are defined as compile-time constants
* for best performance and cannot be altered at runtime.
*/
+#if !(defined(__powerpc__))
#define MALLOC_STATIC_SIZES 1
+#endif
#ifdef MALLOC_STATIC_SIZES

View File

@ -1,12 +0,0 @@
diff -up xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c
--- xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2013-09-11 01:15:18.000000000 +0200
+++ xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c 2013-09-13 13:36:34.171680919 +0200
@@ -1104,7 +1104,7 @@ static unsigned ncpus;
* controlling the malloc behavior are defined as compile-time constants
* for best performance and cannot be altered at runtime.
*/
-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(defined(__powerpc__))
#define MALLOC_STATIC_SIZES 1
#endif