Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:11.4
checked in at Mon Feb 13 14:21:35 CET 2012.
--------
--- old-versions/11.4/UPDATES/all/MozillaFirefox/MozillaFirefox.changes 2012-02-01 14:20:23.000000000 +0100
+++ 11.4/MozillaFirefox/MozillaFirefox.changes 2012-02-12 22:51:50.000000000 +0100
@@ -1,0 +2,14 @@
+Thu Feb 9 09:26:11 UTC 2012 - wr@rosenauer.org
+
+- update to Firefox 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 - dvaleev@suse.com
+
+- 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)
+
+-------------------------------------------------------------------
calling whatdependson for 11.4-i586
Old:
----
firefox-10.0-source.tar.bz2
l10n-10.0.tar.bz2
New:
----
firefox-10.0.1-source.tar.bz2
l10n-10.0.1.tar.bz2
mozilla-bmo703534.patch
mozilla-yarr-pcre.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.0n7fqL/_old 2012-02-13 14:21:09.000000000 +0100
+++ /var/tmp/diff_new_pack.0n7fqL/_new 2012-02-13 14:21:09.000000000 +0100
@@ -18,7 +18,7 @@
%define major 10
-%define mainver %major.0
+%define mainver %major.0.1
Name: MozillaFirefox
BuildRequires: Mesa-devel
@@ -47,7 +47,7 @@
BuildRequires: nss-shared-helper-devel
Version: %{mainver}
Release: 0.<RELEASE2>
-%define releasedate 2012012900
+%define releasedate 2012020800
Provides: web_browser
Provides: firefox = %{version}-%{release}
Provides: firefox = %{mainver}
@@ -88,6 +88,8 @@
Patch12: mozilla-linux3.patch
Patch13: mozilla-a11y.patch
Patch14: mozilla-disable-neon-option.patch
+Patch15: mozilla-bmo703534.patch
+Patch16: mozilla-yarr-pcre.patch
# Firefox/browser
Patch31: firefox-browser-css.patch
Patch32: firefox-cross-desktop.patch
@@ -221,6 +223,8 @@
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
+%patch16 -p1
#
%patch31 -p1
%patch32 -p1
++++++ compare-locales.tar.bz2 ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.0n7fqL/_old 2012-02-13 14:21:09.000000000 +0100
+++ /var/tmp/diff_new_pack.0n7fqL/_new 2012-02-13 14:21:09.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
++++++ firefox-10.0-source.tar.bz2 -> firefox-10.0.1-source.tar.bz2 ++++++
old-versions/11.4/UPDATES/all/MozillaFirefox/firefox-10.0-source.tar.bz2 11.4/MozillaFirefox/firefox-10.0.1-source.tar.bz2 differ: char 11, line 1
++++++ l10n-10.0.tar.bz2 -> l10n-10.0.1.tar.bz2 ++++++
old-versions/11.4/UPDATES/all/MozillaFirefox/l10n-10.0.tar.bz2 11.4/MozillaFirefox/l10n-10.0.1.tar.bz2 differ: char 11, line 1
++++++ mozilla-bmo703534.patch ++++++
# HG changeset patch
# User Mike Hommey
# 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-yarr-pcre.patch ++++++
From: Mike Hommey
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.0n7fqL/_old 2012-02-13 14:21:09.000000000 +0100
+++ /var/tmp/diff_new_pack.0n7fqL/_new 2012-02-13 14:21:09.000000000 +0100
@@ -1,2 +1,2 @@
-REV=baefae4b6685
+REV=c581b36e7a12
REPO=http://hg.mozilla.org/releases/mozilla-release
continue with "q"...
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org