Hello community,

here is the log from the commit of package xulrunner for 
openSUSE:12.1:Update:Test checked in at 2012-02-13 14:25:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update:Test/xulrunner (Old)
 and      /work/SRC/openSUSE:12.1:Update:Test/.xulrunner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xulrunner", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:12.1:Update:Test/xulrunner/xulrunner.changes     
2012-02-02 10:40:55.000000000 +0100
+++ /work/SRC/openSUSE:12.1:Update:Test/.xulrunner.new/xulrunner.changes        
2012-02-13 14:25:53.000000000 +0100
@@ -1,0 +2,14 @@
+Thu Feb  9 10:20:49 UTC 2012 - [email protected]
+
+- update to version 10.0.1 (bnc#746616)
+  * MFSA 2012-10/CVE-2012-0452 (bmo#724284)
+    use after free in nsXBLDocumentInfo::ReadPrototypeBindings
+
+-------------------------------------------------------------------
+Tue Feb  7 10:40:58 UTC 2012 - [email protected]
+
+- Use YARR interpreter instead of PCRE on platforms where YARR JIT
+  is not supported, since PCRE doesnt build (bmo#691898)
+- fix ppc64 build (bmo#703534)
+
+-------------------------------------------------------------------

Old:
----
  l10n-10.0.tar.bz2
  xulrunner-10.0-source.tar.bz2

New:
----
  l10n-10.0.1.tar.bz2
  mozilla-bmo703534.patch
  mozilla-yarr-pcre.patch
  xulrunner-10.0.1-source.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xulrunner.spec ++++++
--- /var/tmp/diff_new_pack.jbhIxj/_old  2012-02-13 14:25:57.000000000 +0100
+++ /var/tmp/diff_new_pack.jbhIxj/_new  2012-02-13 14:25:57.000000000 +0100
@@ -43,12 +43,12 @@
 %endif
 BuildRequires:  mozilla-nspr-devel >= 4.8.9
 BuildRequires:  mozilla-nss-devel >= 3.13.1
-Version:        10.0
+Version:        10.0.1
 Release:        0
-%define         releasedate 2012012900
-%define         version_internal 10.0
+%define         releasedate 2012020800
+%define         version_internal 10.0.1
 %define         apiversion 10
-%define         uaweight 1000000
+%define         uaweight 1000001
 Summary:        Mozilla Runtime Environment
 License:        MPL-1.1 or GPL-2.0+ or LGPL-2.1+
 Group:          Productivity/Other
@@ -79,6 +79,8 @@
 Patch14:        mozilla-linux3.patch
 Patch15:        mozilla-a11y.patch
 Patch16:        mozilla-disable-neon-option.patch
+Patch17:        mozilla-bmo703534.patch
+Patch18:        mozilla-yarr-pcre.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       mozilla-js = %{version}
 Requires(post):  update-alternatives coreutils
@@ -198,6 +200,8 @@
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
+%patch17 -p1
+%patch18 -p1
 
 %build
 # no need to add build time to binaries

++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.jbhIxj/_old  2012-02-13 14:25:57.000000000 +0100
+++ /var/tmp/diff_new_pack.jbhIxj/_new  2012-02-13 14:25:57.000000000 +0100
@@ -2,8 +2,8 @@
 
 CHANNEL="release"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_10_0_RELEASE"
-VERSION="10.0"
+RELEASE_TAG="FIREFOX_10_0_1_RELEASE"
+VERSION="10.0.1"
 
 # mozilla
 hg clone http://hg.mozilla.org/$BRANCH mozilla

++++++ l10n-10.0.tar.bz2 -> l10n-10.0.1.tar.bz2 ++++++
/work/SRC/openSUSE:12.1:Update:Test/xulrunner/l10n-10.0.tar.bz2 
/work/SRC/openSUSE:12.1:Update:Test/.xulrunner.new/l10n-10.0.1.tar.bz2 differ: 
char 11, line 1

++++++ mozilla-bmo703534.patch ++++++
# HG changeset patch
# User Mike Hommey <[email protected]>
# Date 1321613368 -3600
# Node ID 15cf58eb7923d34de7e61df80fa5f8a18a995abf
# Parent  aeb035da53283c56370992f254e4f79d7dd180f8
Bug 703534 - Fix build failure on platforms without YARR JIT. r=luke
target: M11

diff --git a/js/src/jscompartment.cpp b/js/src/jscompartment.cpp
--- a/js/src/jscompartment.cpp
+++ b/js/src/jscompartment.cpp
@@ -45,17 +45,16 @@
 #include "jsiter.h"
 #include "jsmath.h"
 #include "jsproxy.h"
 #include "jsscope.h"
 #include "jstracer.h"
 #include "jswatchpoint.h"
 #include "jswrapper.h"
 #include "assembler/wtf/Platform.h"
-#include "assembler/jit/ExecutableAllocator.h"
 #include "yarr/BumpPointerAllocator.h"
 #include "methodjit/MethodJIT.h"
 #include "methodjit/PolyIC.h"
 #include "methodjit/MonoIC.h"
 #include "vm/Debugger.h"
 
 #include "jsgcinlines.h"
 #include "jsscopeinlines.h"
++++++ mozilla-pkgconfig.patch ++++++
--- /var/tmp/diff_new_pack.jbhIxj/_old  2012-02-13 14:25:57.000000000 +0100
+++ /var/tmp/diff_new_pack.jbhIxj/_new  2012-02-13 14:25:57.000000000 +0100
@@ -14,7 +14,7 @@
  # Add pkg-config files to the install:: target
  
 +# the apilibdir always ends with 1.9 as every patch update will provide a link
-+apilibdir = $(dir $(installdir))xulrunner-9
++apilibdir = $(dir $(installdir))xulrunner-10
 +
  pkg_config_files = \
        libxul.pc \

++++++ mozilla-yarr-pcre.patch ++++++
From: Mike Hommey <[email protected]>
Date: Sat, 24 Dec 2011 09:56:58 +0100
Subject: Bug 691898 - Use YARR interpreter instead of PCRE on platforms where
 YARR JIT is not supported

---
 js/src/Makefile.in           |   21 +++++++++++++--------
 js/src/vm/RegExpObject-inl.h |   28 ++++++----------------------
 js/src/vm/RegExpObject.cpp   |   36 ------------------------------------
 js/src/vm/RegExpObject.h     |   27 ++++++---------------------
 js/src/yarr/wtfbridge.h      |    2 --
 5 files changed, 25 insertions(+), 89 deletions(-)

diff --git a/js/src/Makefile.in b/js/src/Makefile.in
index fc48cbd..49f0bdc 100644
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -416,15 +416,20 @@ CPPSRCS +=        checks.cc \
 
 ifeq (,$(filter arm% sparc %86 x86_64,$(TARGET_CPU)))
 
-VPATH +=        $(srcdir)/yarr/pcre \
+VPATH +=        $(srcdir)/assembler \
+                $(srcdir)/assembler/wtf \
+                $(srcdir)/yarr \
                $(NULL)
 
 CPPSRCS += \
-                pcre_compile.cpp \
-                pcre_exec.cpp \
-                pcre_tables.cpp \
-                pcre_xclass.cpp \
-                pcre_ucp_searchfuncs.cpp \
+                Assertions.cpp \
+                OSAllocatorOS2.cpp \
+                OSAllocatorPosix.cpp \
+                OSAllocatorWin.cpp \
+                PageBlock.cpp \
+                YarrInterpreter.cpp \
+                YarrPattern.cpp \
+                YarrSyntaxChecker.cpp \
                $(NULL)
 else
 
@@ -1015,10 +1020,10 @@ endif
 # Needed to "configure" it correctly.  Unfortunately these
 # flags wind up being applied to all code in js/src, not just
 # the code in js/src/assembler.
-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
 
 ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT))
-CXXFLAGS +=  -DENABLE_JIT=1
+CXXFLAGS +=  -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1
 endif
 
 INCLUDES +=    -I$(srcdir)/assembler -I$(srcdir)/yarr
diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
index 5f7817d..91108a7 100644
--- a/js/src/vm/RegExpObject-inl.h
+++ b/js/src/vm/RegExpObject-inl.h
@@ -327,6 +327,7 @@ RegExpPrivate::create(JSContext *cx, JSString *source, 
RegExpFlag flags, TokenSt
     return RetType(self);
 }
 
+#if ENABLE_YARR_JIT
 /* This function should be deleted once bad Android platforms phase out. See 
bug 604774. */
 inline bool
 RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
@@ -337,12 +338,12 @@ RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
     return true;
 #endif
 }
+#endif
 
 inline bool
 RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream 
*ts,
                            uintN *parenCount, RegExpFlag flags)
 {
-#if ENABLE_YARR_JIT
     /* Parse the pattern. */
     ErrorCode yarrError;
     YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags 
& MultilineFlag),
@@ -359,7 +360,7 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString 
&pattern, TokenStream *
      * case we have to bytecode compile it.
      */
 
-#ifdef JS_METHODJIT
+#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
     if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
         if (!cx->compartment->ensureJaegerCompartmentExists(cx))
             return false;
@@ -371,21 +372,11 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString 
&pattern, TokenStream *
     }
 #endif
 
+#if ENABLE_YARR_JIT
     codeBlock.setFallBack(true);
+#endif
     byteCode = byteCompile(yarrPattern, 
cx->compartment->regExpAllocator).get();
     return true;
-#else /* !defined(ENABLE_YARR_JIT) */
-    int error = 0;
-    compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
-                  ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
-                  multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
-                  parenCount, &error);
-    if (error) {
-        reportPCREError(cx, error);
-        return false;
-    }
-    return true;
-#endif
 }
 
 inline bool
@@ -431,19 +422,12 @@ RegExpPrivateCode::execute(JSContext *cx, const jschar 
*chars, size_t start, siz
     else
         result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
 #else
-    result = jsRegExpExecute(cx, compiled, chars, length, start, output, 
outputCount);
+    result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
 #endif
 
     if (result == -1)
         return Success_NotFound;
 
-#if !ENABLE_YARR_JIT
-    if (result < 0) {
-        reportPCREError(cx, result);
-        return Error;
-    }
-#endif
-
     JS_ASSERT(result >= 0);
     return Success;
 }
diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
index f75c6a5..7631dd5 100644
--- a/js/src/vm/RegExpObject.cpp
+++ b/js/src/vm/RegExpObject.cpp
@@ -251,7 +251,6 @@ Class js::RegExpClass = {
     NULL                     /* trace */
 };
 
-#if ENABLE_YARR_JIT
 void
 RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode 
error)
 {
@@ -283,41 +282,6 @@ RegExpPrivateCode::reportYarrError(JSContext *cx, 
TokenStream *ts, ErrorCode err
     }
 }
 
-#else /* !ENABLE_YARR_JIT */
-
-void
-RegExpPrivateCode::reportPCREError(JSContext *cx, int error)
-{
-#define REPORT(msg_) \
-    JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, 
NULL, msg_); \
-    return
-    switch (error) {
-      case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      case 0: JS_NOT_REACHED("Precondition violation: an error must have 
occurred."); 
-      case 1: REPORT(JSMSG_TRAILING_SLASH);
-      case 2: REPORT(JSMSG_TRAILING_SLASH); 
-      case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      case 4: REPORT(JSMSG_BAD_QUANTIFIER);
-      case 5: REPORT(JSMSG_BAD_QUANTIFIER);
-      case 6: REPORT(JSMSG_BAD_CLASS_RANGE);
-      case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      case 8: REPORT(JSMSG_BAD_CLASS_RANGE);
-      case 9: REPORT(JSMSG_BAD_QUANTIFIER);
-      case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
-      case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
-      case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      case 14: REPORT(JSMSG_MISSING_PAREN);
-      case 15: REPORT(JSMSG_BAD_BACKREF);
-      case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
-      default:
-        JS_NOT_REACHED("Precondition violation: unknown PCRE error code.");
-    }
-#undef REPORT
-}
-#endif /* ENABLE_YARR_JIT */
-
 bool
 js::ParseRegExpFlags(JSContext *cx, JSString *flagStr, RegExpFlag *flagsOut)
 {
diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
index 1449d56..279f3c0 100644
--- a/js/src/vm/RegExpObject.h
+++ b/js/src/vm/RegExpObject.h
@@ -49,8 +49,6 @@
 #include "yarr/Yarr.h"
 #if ENABLE_YARR_JIT
 #include "yarr/YarrJIT.h"
-#else
-#include "yarr/pcre/pcre.h"
 #endif
 
 namespace js {
@@ -153,48 +151,39 @@ ResetRegExpObject(JSContext *cx, 
AlreadyIncRefed<RegExpPrivate> rep);
 /* Abstracts away the gross |RegExpPrivate| backend details. */
 class RegExpPrivateCode
 {
-#if ENABLE_YARR_JIT
     typedef JSC::Yarr::BytecodePattern BytecodePattern;
     typedef JSC::Yarr::ErrorCode ErrorCode;
+    typedef JSC::Yarr::YarrPattern YarrPattern;
+#if ENABLE_YARR_JIT
     typedef JSC::Yarr::JSGlobalData JSGlobalData;
     typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
-    typedef JSC::Yarr::YarrPattern YarrPattern;
 
     /* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
     YarrCodeBlock   codeBlock;
-    BytecodePattern *byteCode;
-#else
-    JSRegExp        *compiled;
 #endif
+    BytecodePattern *byteCode;
 
   public:
     RegExpPrivateCode()
       :
 #if ENABLE_YARR_JIT
         codeBlock(),
-        byteCode(NULL)
-#else
-        compiled(NULL)
 #endif
+        byteCode(NULL)
     { }
 
     ~RegExpPrivateCode() {
 #if ENABLE_YARR_JIT
         codeBlock.release();
+#endif
         if (byteCode)
             Foreground::delete_<BytecodePattern>(byteCode);
-#else
-        if (compiled)
-            jsRegExpFree(compiled);
-#endif
     }
 
 #if ENABLE_YARR_JIT
     static inline bool isJITRuntimeEnabled(JSContext *cx);
-    void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode 
error);
-#else
-    void reportPCREError(JSContext *cx, int error);
 #endif
+    void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode 
error);
 
     inline bool compile(JSContext *cx, JSLinearString &pattern, TokenStream 
*ts, uintN *parenCount,
                         RegExpFlag flags);
@@ -205,11 +194,7 @@ class RegExpPrivateCode
                                  int *output, size_t outputCount);
 
     static size_t getOutputSize(size_t pairCount) {
-#if ENABLE_YARR_JIT
         return pairCount * 2;
-#else
-        return pairCount * 3; /* Should be x2, but PCRE has... needs. */
-#endif
     }
 };
 
diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h
index ac41d08..fb8eb86 100644
--- a/js/src/yarr/wtfbridge.h
+++ b/js/src/yarr/wtfbridge.h
@@ -49,9 +49,7 @@
 #include "jsprvtd.h"
 #include "vm/String.h"
 #include "assembler/wtf/Platform.h"
-#if ENABLE_YARR_JIT
 #include "assembler/jit/ExecutableAllocator.h"
-#endif
 
 namespace JSC { namespace Yarr {
 
++++++ source-stamp.txt ++++++
--- /var/tmp/diff_new_pack.jbhIxj/_old  2012-02-13 14:25:57.000000000 +0100
+++ /var/tmp/diff_new_pack.jbhIxj/_new  2012-02-13 14:25:57.000000000 +0100
@@ -1,2 +1,2 @@
-REV=baefae4b6685
+REV=c581b36e7a12
 REPO=http://hg.mozilla.org/releases/mozilla-release

++++++ xulrunner-10.0-source.tar.bz2 -> xulrunner-10.0.1-source.tar.bz2 ++++++
/work/SRC/openSUSE:12.1:Update:Test/xulrunner/xulrunner-10.0-source.tar.bz2 
/work/SRC/openSUSE:12.1:Update:Test/.xulrunner.new/xulrunner-10.0.1-source.tar.bz2
 differ: char 11, line 1

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to