diff options
| -rw-r--r-- | mozilla-746112.patch | 121 | ||||
| -rw-r--r-- | xulrunner-2.0-chromium-types.patch | 14 | ||||
| -rw-r--r-- | xulrunner.spec | 23 | 
3 files changed, 113 insertions, 45 deletions
| diff --git a/mozilla-746112.patch b/mozilla-746112.patch index 765f993..01f6e16 100644 --- a/mozilla-746112.patch +++ b/mozilla-746112.patch @@ -1,35 +1,86 @@ -Index: xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrInterpreter.h -=================================================================== ---- xulrunner-10.0.1.orig/mozilla-release/js/src/yarr/YarrInterpreter.h -+++ xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrInterpreter.h -@@ -167,7 +167,7 @@ struct ByteTerm { -         inputPosition = inputPos; -     } -  --    ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) -+    ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) __attribute__((noinline)) -         : type(type) -         , m_capture(capture) -         , m_invert(false) -@@ -188,7 +188,7 @@ struct ByteTerm { -         atom.quantityCount = 1; -     } -  --    ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) -+    ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) __attribute__((noinline)) -         : type(type) -         , m_capture(capture) -         , m_invert(invert) -Index: xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrPattern.h -=================================================================== ---- xulrunner-10.0.1.orig/mozilla-release/js/src/yarr/YarrPattern.h -+++ xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrPattern.h -@@ -171,7 +171,7 @@ struct PatternTerm { -         quantityCount = 1; -     } -  --    PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) -+    PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) __attribute__((noinline)) -         : type(type) -         , m_capture(capture) -         , m_invert(invert) +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) { diff --git a/xulrunner-2.0-chromium-types.patch b/xulrunner-2.0-chromium-types.patch index dfc82cc..2b3db8c 100644 --- a/xulrunner-2.0-chromium-types.patch +++ b/xulrunner-2.0-chromium-types.patch @@ -1,14 +1,12 @@ -Bug 627669 - add support for s390(x) and ppc(64) - -diff -up mozilla-release/gfx/ycbcr/chromium_types.h.chromium-types mozilla-release/gfx/ycbcr/chromium_types.h ---- mozilla-release/gfx/ycbcr/chromium_types.h.chromium-types	2011-06-15 23:57:26.000000000 +0200 -+++ mozilla-release/gfx/ycbcr/chromium_types.h	2011-06-30 10:04:25.105032221 +0200 -@@ -61,7 +61,11 @@ typedef PRInt16 int16; +diff -up xulrunner-17.0/mozilla-release/gfx/ycbcr/chromium_types.h.chromium-types xulrunner-17.0/mozilla-release/gfx/ycbcr/chromium_types.h +--- xulrunner-17.0/mozilla-release/gfx/ycbcr/chromium_types.h.chromium-types	2012-11-16 20:56:29.000000000 +0100 ++++ xulrunner-17.0/mozilla-release/gfx/ycbcr/chromium_types.h	2012-11-20 09:19:14.843448418 +0100 +@@ -30,7 +30,11 @@ typedef int16_t int16;   #define ARCH_CPU_ARM_FAMILY 1   #define ARCH_CPU_ARMEL 1   #define ARCH_CPU_32_BITS 1  -#elif defined(__ppc__) || defined(__powerpc) || defined(__PPC__) -+#elif defined(__ppc64__) || defined(__powerpc64__) ++#elif defined(__powerpc64__)  +#define ARCH_CPU_PPC_FAMILY 1  +#define ARCH_CPU_PPC 1  +#define ARCH_CPU_64_BITS 1 @@ -16,7 +14,7 @@ diff -up mozilla-release/gfx/ycbcr/chromium_types.h.chromium-types mozilla-relea   #define ARCH_CPU_PPC_FAMILY 1   #define ARCH_CPU_PPC 1   #define ARCH_CPU_32_BITS 1 -@@ -73,6 +77,14 @@ typedef PRInt16 int16; +@@ -42,6 +46,14 @@ typedef int16_t int16;   #define ARCH_CPU_SPARC_FAMILY 1   #define ARCH_CPU_SPARC 1   #define ARCH_CPU_64_BITS 1 diff --git a/xulrunner.spec b/xulrunner.spec index 70731cb..8f10136 100644 --- a/xulrunner.spec +++ b/xulrunner.spec @@ -82,7 +82,7 @@  Summary:        XUL Runtime for Gecko Applications  Name:           %{shortname}-last -Version:        17.0 +Version:        17.0.1  Release:        1%{?pre_tag}%{?dist}  URL:            http://developer.mozilla.org/En/XULRunner  License:        MPLv1.1 or GPLv2+ or LGPLv2+ @@ -247,7 +247,7 @@ cd %{tarballdir}  %patch1  -p1  %patch2  -p1 -b .build -%patch14 -p1 -b .chromium-types +%patch14 -p2 -b .chromium-types  %patch17 -p2 -b .gcc47  %patch18 -p2 -b .jemalloc-ppc @@ -324,6 +324,10 @@ echo "ac_add_options --disable-polyic" >> .mozconfig  echo "ac_add_options --disable-tracejit" >> .mozconfig  %endif +%ifnarch %{ix86} x86_64 %{arm} +echo "ac_add_options --disable-webrtc" >> .mozconfig +%endif +  #---------------------------------------------------------------------  %build @@ -545,6 +549,21 @@ fi  #---------------------------------------------------------------------  %changelog +* Thu Nov 29 2012 Remi Collet <RPMS@FamilleCollet.com> - 17.0-1 +- Sync with rawhide, Update to 17.0.1 + +* Thu Nov 29 2012 Jan Horak <jhorak@redhat.com> - 17.0.1-1 +- Update to 17.0.1 + +* Tue Nov 27 2012 Jan Horak <jhorak@redhat.com> - 17.0-4 +- Rebuild agains older NSS + +* Mon Nov 19 2012 Martin Stransky <stransky@redhat.com> - 17.0-3 +- Updated second arch patches + +* Mon Nov 19 2012 Dan HorĂ¡k <dan[at]danny.cz> - 17.0-2 +- webrtc is available only on selected arches +  * Mon Nov 19 2012 Remi Collet <RPMS@FamilleCollet.com> - 17.0-1  - Update to 17.0 | 
