Hello community, here is the log from the commit of package xulrunner for openSUSE:Factory checked in at 2012-06-06 16:10:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xulrunner (Old) and /work/SRC/openSUSE:Factory/.xulrunner.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xulrunner", Maintainer is "gnome-maintain...@suse.de" Changes: -------- --- /work/SRC/openSUSE:Factory/xulrunner/xulrunner.changes 2012-05-25 16:20:29.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xulrunner.new/xulrunner.changes 2012-06-06 16:10:32.000000000 +0200 @@ -2 +2 @@ -Wed May 16 05:41:15 UTC 2012 - w...@rosenauer.org +Sat Jun 2 09:16:34 UTC 2012 - w...@rosenauer.org @@ -3,0 +4,15 @@ +- update to 13.0 (bnc#765204) + * MFSA 2012-34/CVE-2012-1938/CVE-2012-1937/CVE-2011-3101 + Miscellaneous memory safety hazards + * MFSA 2012-36/CVE-2012-1944 (bmo#751422) + Content Security Policy inline-script bypass + * MFSA 2012-37/CVE-2012-1945 (bmo#670514) + Information disclosure though Windows file shares and shortcut + files + * MFSA 2012-38/CVE-2012-1946 (bmo#750109) + Use-after-free while replacing/inserting a node in a document + * MFSA 2012-40/CVE-2012-1947/CVE-2012-1940/CVE-2012-1941 + Buffer overflow and use-after-free issues found using Address + Sanitizer +- require NSS 3.13.4 + * MFSA 2012-39/CVE-2012-0441 (bmo#715073) @@ -5 +20 @@ - (fix in mozilla-gcc47.patch) + (fixed in mozilla-gcc47.patch) Old: ---- l10n-12.0.tar.bz2 mozilla-arm-cpu-detection.patch xulrunner-12.0-source.tar.bz2 New: ---- l10n-13.0.tar.bz2 mozilla-disable-neon-option.patch mozilla-nsSound.patch mozilla-system-nspr.patch xulrunner-13.0-source.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xulrunner.spec ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -43,13 +43,13 @@ BuildRequires: wireless-tools %endif BuildRequires: mozilla-nspr-devel >= 4.9.0 -BuildRequires: mozilla-nss-devel >= 3.13.3 -Version: 12.0 +BuildRequires: mozilla-nss-devel >= 3.13.4 +Version: 13.0 Release: 0 -%define releasedate 2012042100 -%define version_internal 12.0 -%define apiversion 12 -%define uaweight 1200000 +%define releasedate 2012060100 +%define version_internal 13.0 +%define apiversion 13 +%define uaweight 1300000 Summary: Mozilla Runtime Environment License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+ Group: Productivity/Other @@ -73,16 +73,18 @@ Patch3: idldir.patch Patch4: mozilla-nongnome-proxies.patch Patch5: mozilla-prefer_plugin_pref.patch -Patch9: mozilla-language.patch -Patch11: mozilla-ntlm-full-path.patch -Patch12: mozilla-dump_syms-static.patch -Patch13: mozilla-sle11.patch -Patch14: mozilla-linux3.patch -Patch15: mozilla-arm-cpu-detection.patch -Patch16: mozilla-revert_621446.patch -Patch17: mozilla-yarr-pcre.patch -Patch18: mozilla-libnotify.patch -Patch19: mozilla-gcc47.patch +Patch6: mozilla-language.patch +Patch7: mozilla-ntlm-full-path.patch +Patch8: mozilla-dump_syms-static.patch +Patch9: mozilla-sle11.patch +Patch10: mozilla-linux3.patch +Patch11: mozilla-disable-neon-option.patch +Patch12: mozilla-system-nspr.patch +Patch13: mozilla-revert_621446.patch +Patch14: mozilla-yarr-pcre.patch +Patch15: mozilla-libnotify.patch +Patch16: mozilla-gcc47.patch +Patch17: mozilla-nsSound.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: mozilla-js = %{version} Requires(post): update-alternatives coreutils @@ -92,7 +94,7 @@ %define has_system_nss 1 %define has_system_cairo 0 %define localize 0 -%ifarch ppc ppc64 s390 s390x ia64 +%ifarch ppc ppc64 s390 s390x ia64 %arm %define crashreporter 0 %define plugincontainer 0 %else @@ -193,18 +195,20 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%if %suse_version < 1120 %patch9 -p1 +%endif +%patch10 -p1 %patch11 -p1 %patch12 -p1 -%if %suse_version < 1120 %patch13 -p1 -%endif -%patch14 -p1 +#%patch14 -p1 %patch15 -p1 %patch16 -p1 -#%patch17 -p1 -%patch18 -p1 -%patch19 -p1 +%patch17 -p1 %build # no need to add build time to binaries @@ -299,17 +303,7 @@ # ARM %ifarch %arm cat << EOF >> $MOZCONFIG -%ifarch armv7l -ac_add_options --with-arch=armv7-a -ac_add_options --with-float-abi=hard -ac_add_options --with-fpu=vfpv3-d16 -ac_add_options --with-thumb=yes -%endif -%ifarch armv5tel -ac_add_options --with-arch=armv5te -ac_add_options --with-float-abi=soft -ac_add_options --with-thumb=no -%endif +ac_add_options --disable-neon EOF %endif make -f client.mk build ++++++ compare-locales.tar.bz2 ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -2,8 +2,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="FIREFOX_12_0_RELEASE" -VERSION="12.0" +RELEASE_TAG="FIREFOX_13_0_RELEASE" +VERSION="13.0" # mozilla hg clone http://hg.mozilla.org/$BRANCH mozilla ++++++ l10n-12.0.tar.bz2 -> l10n-13.0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/xulrunner/l10n-12.0.tar.bz2 /work/SRC/openSUSE:Factory/.xulrunner.new/l10n-13.0.tar.bz2 differ: char 11, line 1 ++++++ mozilla-disable-neon-option.patch ++++++ # HG changeset patch # User Joop Boonen <joop.boo...@opensuse.org> # Parent 5f38d3aa0414fe0ac7ff1f0b47da44069e7ccdda Add configure option to allow disabling of neon. diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -1726,41 +1726,47 @@ if test -n "$all_flags"; then ASFLAGS="$ASFLAGS $all_flags" if test -n "$thumb_flag"; then LDFLAGS="$LDFLAGS $thumb_flag" fi fi AC_SUBST(MOZ_THUMB2) -if test "$CPU_ARCH" = "arm"; then - AC_MSG_CHECKING(for ARM SIMD support in compiler) - # We try to link so that this also fails when - # building with LTO. - AC_TRY_LINK([], +MOZ_ARG_DISABLE_BOOL(neon, +[ --disable-neon Disable neon extensions], + NS_DISABLE_NEON=1, + NS_DISABLE_NEON= ) +if test "$NS_DISABLE_NEON" != "1"; then + if test "$CPU_ARCH" = "arm"; then + AC_MSG_CHECKING(for ARM SIMD support in compiler) + # We try to link so that this also fails when + # building with LTO. + AC_TRY_LINK([], [asm("uqadd8 r1, r1, r2");], result="yes", result="no") - AC_MSG_RESULT("$result") - if test "$result" = "yes"; then + AC_MSG_RESULT("$result") + if test "$result" = "yes"; then AC_DEFINE(HAVE_ARM_SIMD) HAVE_ARM_SIMD=1 - fi - - AC_MSG_CHECKING(for ARM NEON support in compiler) - # We try to link so that this also fails when - # building with LTO. - AC_TRY_LINK([], + fi + + AC_MSG_CHECKING(for ARM NEON support in compiler) + # We try to link so that this also fails when + # building with LTO. + AC_TRY_LINK([], [asm(".fpu neon\n vadd.i8 d0, d0, d0");], result="yes", result="no") - AC_MSG_RESULT("$result") - if test "$result" = "yes"; then + AC_MSG_RESULT("$result") + if test "$result" = "yes"; then AC_DEFINE(HAVE_ARM_NEON) HAVE_ARM_NEON=1 - fi -fi # CPU_ARCH = arm + fi + fi # CPU_ARCH = arm +fi AC_SUBST(HAVE_ARM_SIMD) AC_SUBST(HAVE_ARM_NEON) dnl ================================================================= dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, dnl which is bad when cross compiling. dnl ================================================================= diff --git a/js/src/configure.in b/js/src/configure.in --- a/js/src/configure.in +++ b/js/src/configure.in @@ -1664,41 +1664,47 @@ if test -n "$all_flags"; then ASFLAGS="$ASFLAGS $all_flags" if test -n "$thumb_flag"; then LDFLAGS="$LDFLAGS $thumb_flag" fi fi AC_SUBST(MOZ_THUMB2) -if test "$CPU_ARCH" = "arm"; then - AC_MSG_CHECKING(for ARM SIMD support in compiler) - # We try to link so that this also fails when - # building with LTO. - AC_TRY_LINK([], +MOZ_ARG_DISABLE_BOOL(neon, +[ --disable-neon Disable neon extensions], + NS_DISABLE_NEON=1, + NS_DISABLE_NEON= ) +if test "$NS_DISABLE_NEON" != "1"; then + if test "$CPU_ARCH" = "arm"; then + AC_MSG_CHECKING(for ARM SIMD support in compiler) + # We try to link so that this also fails when + # building with LTO. + AC_TRY_LINK([], [asm("uqadd8 r1, r1, r2");], result="yes", result="no") - AC_MSG_RESULT("$result") - if test "$result" = "yes"; then + AC_MSG_RESULT("$result") + if test "$result" = "yes"; then AC_DEFINE(HAVE_ARM_SIMD) HAVE_ARM_SIMD=1 - fi - - AC_MSG_CHECKING(for ARM NEON support in compiler) - # We try to link so that this also fails when - # building with LTO. - AC_TRY_LINK([], + fi + + AC_MSG_CHECKING(for ARM NEON support in compiler) + # We try to link so that this also fails when + # building with LTO. + AC_TRY_LINK([], [asm(".fpu neon\n vadd.i8 d0, d0, d0");], result="yes", result="no") - AC_MSG_RESULT("$result") - if test "$result" = "yes"; then + AC_MSG_RESULT("$result") + if test "$result" = "yes"; then AC_DEFINE(HAVE_ARM_NEON) HAVE_ARM_NEON=1 - fi -fi # CPU_ARCH = arm + fi + fi # CPU_ARCH = arm +fi AC_SUBST(HAVE_ARM_SIMD) AC_SUBST(HAVE_ARM_NEON) dnl ================================================================= dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, dnl which is bad when cross compiling. dnl ================================================================= ++++++ mozilla-gcc47.patch ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -1,78 +1,9 @@ # HG changeset patch -# Parent 93e5d3b8061741abc83dcd4ed0fe93f1636583ef +# Parent 7bc8f0e5bed8cb2212e27228e628861737256459 Patch to make Mozilla build with gcc 4.7, including -- Bug 725655 - gcc 4.7 build failures (missing headers) (TM: Mozilla13) - Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14) - Bug 741348 - Work around crashreporter client build failure with gcc 4.7 (TM: Mozilla15) -diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc ---- a/ipc/chromium/src/base/file_util_linux.cc -+++ b/ipc/chromium/src/base/file_util_linux.cc -@@ -1,15 +1,18 @@ - // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - - #include "base/file_util.h" - - #include <fcntl.h> -+#if defined(ANDROID) || defined(OS_POSIX) -+#include <unistd.h> -+#endif - - #include <string> - #include <vector> - - #include "base/eintr_wrapper.h" - #include "base/file_path.h" - #include "base/string_util.h" - -diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc ---- a/ipc/chromium/src/base/message_pump_libevent.cc -+++ b/ipc/chromium/src/base/message_pump_libevent.cc -@@ -1,16 +1,19 @@ - // Copyright (c) 2008 The Chromium Authors. All rights reserved. - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - - #include "base/message_pump_libevent.h" - - #include <errno.h> - #include <fcntl.h> -+#if defined(ANDROID) || defined(OS_POSIX) -+#include <unistd.h> -+#endif - - #include "eintr_wrapper.h" - #include "base/logging.h" - #include "base/scoped_nsautorelease_pool.h" - #include "base/scoped_ptr.h" - #include "base/time.h" - #include "third_party/libevent/event.h" - -diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc ---- a/ipc/chromium/src/base/time_posix.cc -+++ b/ipc/chromium/src/base/time_posix.cc -@@ -8,16 +8,19 @@ - #include <mach/mach_time.h> - #endif - #include <sys/time.h> - #ifdef ANDROID - #include <time64.h> - #else - #include <time.h> - #endif -+#if defined(ANDROID) || defined(OS_POSIX) -+#include <unistd.h> -+#endif - - #include <limits> - - #include "base/basictypes.h" - #include "base/logging.h" - - namespace base { - diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp --- a/layout/base/tests/TestPoisonArea.cpp +++ b/layout/base/tests/TestPoisonArea.cpp ++++++ mozilla-nongnome-proxies.patch ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -9,7 +9,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp -@@ -71,18 +71,24 @@ private: +@@ -74,22 +74,28 @@ private: nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult); }; @@ -18,21 +18,29 @@ nsresult nsUnixSystemProxySettings::Init() { +- mSchemeProxySettings.Init(5); - mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); - mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); +- if (mGSettings) { +- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"), +- getter_AddRefs(mProxySettings)); + // If this is a GNOME session, load gconf and try to use its preferences. + // If gconf is not available (which would be stupid) we'll proceed as if + // this was not a GNOME session, using *_PROXY environment variables. + const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); + if (sessionType && !strcmp(sessionType, "gnome")) { ++ mSchemeProxySettings.Init(5); + mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); -+ } ++ if (mGSettings) { ++ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"), ++ getter_AddRefs(mProxySettings)); ++ } + } + return NS_OK; } bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) { - nsCAutoString mode; - return NS_SUCCEEDED(mGConf->GetString(NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) && ++++++ mozilla-nsSound.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Date 1336632642 -7200 # Node ID 56cc5a3c431612fa98f0550f02a9f34b566e1d9b # Parent 307671d73258761245d165e43591d885c7f68b73 Bug 749739 - New email sound notification file cannot contain spaces (Linux - Thunderbird 12). r=karlt, a=lsblakk (upstream in FF14) diff --git a/widget/gtk2/nsSound.cpp b/widget/gtk2/nsSound.cpp --- a/widget/gtk2/nsSound.cpp +++ b/widget/gtk2/nsSound.cpp @@ -353,23 +353,28 @@ NS_METHOD nsSound::Play(nsIURL *aURL) bool isFile; nsresult rv = aURL->SchemeIs("file", &isFile); if (NS_SUCCEEDED(rv) && isFile) { ca_context* ctx = ca_context_get_default(); if (!ctx) { return NS_ERROR_OUT_OF_MEMORY; } - nsCAutoString path; - rv = aURL->GetPath(path); + nsCAutoString spec; + rv = aURL->GetSpec(spec); if (NS_FAILED(rv)) { return rv; } + gchar *path = g_filename_from_uri(spec.get(), NULL, NULL); + if (!path) { + return NS_ERROR_FILE_UNRECOGNIZED_PATH; + } - ca_context_play(ctx, 0, "media.filename", path.get(), NULL); + ca_context_play(ctx, 0, "media.filename", path, NULL); + g_free(path); } else { nsCOMPtr<nsIStreamLoader> loader; rv = NS_NewStreamLoader(getter_AddRefs(loader), aURL, this); } return rv; } ++++++ mozilla-pkgconfig.patch ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -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-12 ++apilibdir = $(dir $(installdir))xulrunner-13 + pkg_config_files = \ libxul.pc \ ++++++ mozilla-system-nspr.patch ++++++ # HG changeset patch # User Wolfgang Rosenauer <w...@rosenauer.org> # Parent e94edfdb1f5bd5c29dc54cfb83768f9c84f3f4de Bug 736854 - PHal.ipdl includes NSPR incorrectly - breaking system NSPR usage diff --git a/hal/sandbox/PHal.ipdl b/hal/sandbox/PHal.ipdl --- a/hal/sandbox/PHal.ipdl +++ b/hal/sandbox/PHal.ipdl @@ -34,17 +34,17 @@ * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ include protocol PContent; include protocol PBrowser; -include "nspr/prtime.h"; +include "prtime.h"; include "mozilla/HalSensor.h"; include "mozilla/HalTypes.h"; using PRTime; using mozilla::hal::FlashMode; using mozilla::hal::LightType; using mozilla::hal::LightMode; using mozilla::hal::SensorType; ++++++ mozilla-yarr-pcre.patch ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -1,40 +1,42 @@ -# HG changeset patch -# Parent 58dd942011a81f3149d9bc34e808806bda099056 -# User Landry Breuil <lan...@openbsd.org> -Use YARR interpreter instead of PCRE on platforms where YARR JIT is not -supported - diff --git a/js/src/Makefile.in b/js/src/Makefile.in --- a/js/src/Makefile.in +++ b/js/src/Makefile.in -@@ -335,25 +335,29 @@ CPPSRCS += checks.cc \ +@@ -332,30 +332,33 @@ CPPSRCS += checks.cc \ + platform.cc \ + utils.cc \ + $(NONE) + + # # END enclude sources for V8 dtoa ############################################# - # For architectures without YARR JIT, PCRE is faster than the YARR - # interpreter (bug 684559). - +-# For architectures without YARR JIT, PCRE is faster than the YARR +-# interpreter (bug 684559). +- ifeq (,$(filter arm% sparc %86 x86_64 mips%,$(TARGET_CPU))) -VPATH += $(srcdir)/yarr/pcre \ -+VPATH += $(srcdir)/assembler \ -+ $(srcdir)/assembler/wtf \ -+ $(srcdir)/yarr \ ++VPATH += $(srcdir)/assembler \ ++ $(srcdir)/assembler/wtf \ ++ $(srcdir)/assembler/jit \ ++ $(srcdir)/yarr \ $(NULL) - CPPSRCS += \ +-CPPSRCS += \ - pcre_compile.cpp \ - pcre_exec.cpp \ - pcre_tables.cpp \ - pcre_xclass.cpp \ - pcre_ucp_searchfuncs.cpp \ -+ OSAllocatorOS2.cpp \ -+ OSAllocatorPosix.cpp \ -+ OSAllocatorWin.cpp \ -+ PageBlock.cpp \ -+ YarrInterpreter.cpp \ -+ YarrPattern.cpp \ -+ YarrSyntaxChecker.cpp \ ++CPPSRCS += ExecutableAllocator.cpp \ ++ ExecutableAllocatorPosix.cpp \ ++ OSAllocatorOS2.cpp \ ++ OSAllocatorPosix.cpp \ ++ OSAllocatorWin.cpp \ ++ PageBlock.cpp \ ++ YarrInterpreter.cpp \ ++ YarrPattern.cpp \ ++ YarrSyntaxChecker.cpp \ $(NULL) else @@ -43,203 +45,32 @@ # ENABLE_YARR_JIT = 1 -@@ -878,20 +882,20 @@ endif - - ############################################### - # BEGIN kludges for the Nitro assembler - # - - # 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_METHODJIT)) --CXXFLAGS += -DENABLE_JIT=1 -+CXXFLAGS += -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1 - endif - - INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr - - ifdef ENABLE_METHODJIT - # Build a standalone test program that exercises the assembler - # sources a bit. - TESTMAIN_OBJS = \ -diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp ---- a/js/src/jsapi.cpp -+++ b/js/src/jsapi.cpp -@@ -696,17 +696,19 @@ JS_IsBuiltinFunctionConstructor(JSFuncti - static JSBool js_NewRuntimeWasCalled = JS_FALSE; - - JSRuntime::JSRuntime() - : atomsCompartment(NULL), - #ifdef JS_THREADSAFE - ownerThread_(NULL), - #endif - tempLifoAlloc(TEMP_LIFO_ALLOC_PRIMARY_CHUNK_SIZE), -+#if ENABLE_ASSEMBLER - execAlloc_(NULL), -+#endif - bumpAlloc_(NULL), - nativeStackBase(0), - nativeStackQuota(0), - interpreterFrames(NULL), - cxCallback(NULL), - compartmentCallback(NULL), - activityCallback(NULL), - activityCallbackArg(NULL), -@@ -851,17 +853,19 @@ JSRuntime::init(uint32_t maxbytes) - nativeStackBase = GetNativeStackBase(); - return true; - } - - JSRuntime::~JSRuntime() - { - JS_ASSERT(onOwnerThread()); - -+#if ENABLE_ASSEMBLER - delete_<JSC::ExecutableAllocator>(execAlloc_); -+#endif - delete_<WTF::BumpPointerAllocator>(bumpAlloc_); - - #ifdef DEBUG - /* Don't hurt everyone in leaky ol' Mozilla with a fatal JS_ASSERT! */ - if (!JS_CLIST_IS_EMPTY(&contextList)) { - JSContext *cx, *iter = NULL; - uintN cxcount = 0; - while ((cx = js_ContextIterator(this, JS_TRUE, &iter)) != NULL) { -diff --git a/js/src/jscntxt.cpp b/js/src/jscntxt.cpp ---- a/js/src/jscntxt.cpp -+++ b/js/src/jscntxt.cpp -@@ -100,19 +100,21 @@ JSRuntime::sizeOfExcludingThis(JSMallocS - if (normal) - *normal = mallocSizeOf(dtoaState); - - if (temporary) - *temporary = tempLifoAlloc.sizeOfExcludingThis(mallocSizeOf); - - if (regexpCode) { - size_t method = 0, regexp = 0, unused = 0; -+#if ENABLE_ASSEMBLER - if (execAlloc_) - execAlloc_->sizeOfCode(&method, ®exp, &unused); - JS_ASSERT(method == 0); /* this execAlloc is only used for regexp code */ -+#endif - *regexpCode = regexp + unused; - } - - if (stackCommitted) - *stackCommitted = stackSpace.sizeOfCommitted(); - } - - JS_FRIEND_API(void) -@@ -124,33 +126,37 @@ JSRuntime::triggerOperationCallback() - */ - JS_ATOMIC_SET(&interrupt, 1); - } - - void - JSRuntime::setJitHardening(bool enabled) - { - jitHardening = enabled; -+#if ENABLE_ASSEMBLER - if (execAlloc_) - execAlloc_->setRandomize(enabled); -+#endif - } - -+#if ENABLE_ASSEMBLER - JSC::ExecutableAllocator * - JSRuntime::createExecutableAllocator(JSContext *cx) - { - JS_ASSERT(!execAlloc_); - JS_ASSERT(cx->runtime == this); - - JSC::AllocationBehavior randomize = - jitHardening ? JSC::AllocationCanRandomize : JSC::AllocationDeterministic; - execAlloc_ = new_<JSC::ExecutableAllocator>(randomize); - if (!execAlloc_) - js_ReportOutOfMemory(cx); - return execAlloc_; - } -+#endif - - WTF::BumpPointerAllocator * - JSRuntime::createBumpPointerAllocator(JSContext *cx) - { - JS_ASSERT(!bumpAlloc_); - JS_ASSERT(cx->runtime == this); - - bumpAlloc_ = new_<WTF::BumpPointerAllocator>(); -diff --git a/js/src/jscntxt.h b/js/src/jscntxt.h ---- a/js/src/jscntxt.h -+++ b/js/src/jscntxt.h -@@ -219,26 +219,32 @@ struct JSRuntime : js::RuntimeFriendFiel - static const size_t TEMP_LIFO_ALLOC_PRIMARY_CHUNK_SIZE = 1 << 12; - js::LifoAlloc tempLifoAlloc; - - private: - /* - * Both of these allocators are used for regular expression code which is shared at the - * thread-data level. - */ -+#if ENABLE_ASSEMBLER - JSC::ExecutableAllocator *execAlloc_; -+#endif - WTF::BumpPointerAllocator *bumpAlloc_; - -+#if ENABLE_ASSEMBLER - JSC::ExecutableAllocator *createExecutableAllocator(JSContext *cx); -+#endif - WTF::BumpPointerAllocator *createBumpPointerAllocator(JSContext *cx); - - public: -+#if ENABLE_ASSEMBLER - JSC::ExecutableAllocator *getExecutableAllocator(JSContext *cx) { - return execAlloc_ ? execAlloc_ : createExecutableAllocator(cx); +diff --git a/js/src/assembler/jit/ExecutableAllocator.h b/js/src/assembler/jit/ExecutableAllocator.h +--- a/js/src/assembler/jit/ExecutableAllocator.h ++++ b/js/src/assembler/jit/ExecutableAllocator.h +@@ -462,18 +462,16 @@ public: + : "r" (code), "r" (reinterpret_cast<char*>(code) + size) + : "r0", "r1", "r2"); + } + #elif WTF_CPU_SPARC + static void cacheFlush(void* code, size_t size) + { + sync_instruction_memory((caddr_t)code, size); } -+#endif - WTF::BumpPointerAllocator *getBumpPointerAllocator(JSContext *cx) { - return bumpAlloc_ ? bumpAlloc_ : createBumpPointerAllocator(cx); - } - - /* Base address of the native stack for the current thread. */ - uintptr_t nativeStackBase; - - /* The native stack size limit that runtime should not exceed. */ -diff --git a/js/src/jsprvtd.h b/js/src/jsprvtd.h ---- a/js/src/jsprvtd.h -+++ b/js/src/jsprvtd.h -@@ -313,22 +313,23 @@ typedef Handle<BaseShape*> Handl - typedef Handle<types::TypeObject*> HandleTypeObject; - typedef Handle<JSString*> HandleString; - typedef Handle<JSAtom*> HandleAtom; - typedef Handle<jsid> HandleId; - typedef Handle<Value> HandleValue; - - } /* namespace js */ - -+#if ENABLE_ASSEMBLER - namespace JSC { - - class ExecutableAllocator; - - } /* namespace JSC */ -- -+#endif - namespace WTF { - - class BumpPointerAllocator; +-#else +- #error "The cacheFlush support is missing on this platform." + #endif - } /* namespace WTF */ + private: - } /* export "C++" */ + #if ENABLE_ASSEMBLER_WX_EXCLUSIVE + static void reprotectRegion(void*, size_t, ProtectionSetting); + #endif diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h --- a/js/src/vm/RegExpObject-inl.h +++ b/js/src/vm/RegExpObject-inl.h -@@ -132,26 +132,28 @@ RegExpObject::setMultiline(bool enabled) +@@ -132,16 +132,17 @@ RegExpObject::setMultiline(bool enabled) } inline void @@ -257,17 +88,6 @@ return cx->methodJitEnabled; #else return true; - #endif - } -+#endif - - inline bool - RegExpToShared(JSContext *cx, JSObject &obj, RegExpGuard *g) - { - JS_ASSERT(ObjectClassIs(obj, ESClass_RegExp, cx)); - if (obj.isRegExp()) - return obj.asRegExp().getShared(cx, g); - return Proxy::regexp_toShared(cx, &obj, g); diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp --- a/js/src/vm/RegExpObject.cpp +++ b/js/src/vm/RegExpObject.cpp @@ -289,7 +109,7 @@ JS_NOT_REACHED("Called reportYarrError with value for no error"); return; #define COMPILE_EMSG(__code, __msg) \ -@@ -194,73 +193,36 @@ RegExpCode::reportYarrError(JSContext *c +@@ -194,52 +193,16 @@ RegExpCode::reportYarrError(JSContext *c COMPILE_EMSG(QuantifierTooLarge, JSMSG_BAD_QUANTIFIER); COMPILE_EMSG(EscapeUnterminated, JSMSG_TRAILING_SLASH); #undef COMPILE_EMSG @@ -335,97 +155,13 @@ -#endif /* ENABLE_YARR_JIT */ - bool - RegExpCode::compile(JSContext *cx, JSLinearString &pattern, uintN *parenCount, RegExpFlag flags) + RegExpCode::compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags) { --#if ENABLE_YARR_JIT + #if ENABLE_YARR_JIT /* Parse the pattern. */ ErrorCode yarrError; YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag), &yarrError); - if (yarrError) { - reportYarrError(cx, NULL, yarrError); - return false; - } - *parenCount = yarrPattern.m_numSubpatterns; - - /* - * The YARR JIT compiler attempts to compile the parsed pattern. If - * it cannot, it informs us via |codeBlock.isFallBack()|, in which - * case we have to bytecode compile it. - */ - --#ifdef JS_METHODJIT -+#if ENABLE_YARR_JIT && defined(JS_METHODJIT) - if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) { - JSC::ExecutableAllocator *execAlloc = cx->runtime->getExecutableAllocator(cx); - if (!execAlloc) { - js_ReportOutOfMemory(cx); - return false; - } - - JSGlobalData globalData(execAlloc); -@@ -271,58 +233,41 @@ RegExpCode::compile(JSContext *cx, JSLin - #endif - - WTF::BumpPointerAllocator *bumpAlloc = cx->runtime->getBumpPointerAllocator(cx); - if (!bumpAlloc) { - js_ReportOutOfMemory(cx); - return false; - } - -+#if ENABLE_YARR_JIT - codeBlock.setFallBack(true); -+#endif - byteCode = byteCompile(yarrPattern, bumpAlloc).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 - } - - RegExpRunStatus - RegExpCode::execute(JSContext *cx, const jschar *chars, size_t length, size_t start, - int *output, size_t outputCount) - { - int result; - #if ENABLE_YARR_JIT - (void) cx; /* Unused. */ - if (codeBlock.isFallBack()) - result = JSC::Yarr::interpret(byteCode, chars, start, length, output); - 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 RegExpRunStatus_Success_NotFound; - --#if !ENABLE_YARR_JIT -- if (result < 0) { -- reportPCREError(cx, result); -- return RegExpRunStatus_Error; -- } --#endif -- - JS_ASSERT(result >= 0); - return RegExpRunStatus_Success; - } - - /* RegExpObject */ - - static void - regexp_trace(JSTracer *trc, JSObject *obj) diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h --- a/js/src/vm/RegExpObject.h +++ b/js/src/vm/RegExpObject.h @@ -451,91 +187,6 @@ * * RegExpObject - The JS-visible object whose .[[Class]] equals "RegExp" * -@@ -107,78 +105,61 @@ class RegExpObjectBuilder - - JSObject * - CloneRegExpObject(JSContext *cx, JSObject *obj, JSObject *proto); - - namespace detail { - - class RegExpCode - { --#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; -+#endif - BytecodePattern *byteCode; --#else -- JSRegExp *compiled; --#endif - - public: - RegExpCode() - : - #if ENABLE_YARR_JIT - codeBlock(), -+#endif - byteCode(NULL) --#else -- compiled(NULL) --#endif - { } - - ~RegExpCode() { - #if ENABLE_YARR_JIT - codeBlock.release(); -+#endif - if (byteCode) - Foreground::delete_<BytecodePattern>(byteCode); --#else -- if (compiled) -- jsRegExpFree(compiled); --#endif - } - - static bool checkSyntax(JSContext *cx, TokenStream *tokenStream, JSLinearString *source) { --#if ENABLE_YARR_JIT - ErrorCode error = JSC::Yarr::checkSyntax(*source); - if (error == JSC::Yarr::NoError) - return true; - - reportYarrError(cx, tokenStream, error); - return false; --#else --# error "Syntax checking not implemented for !ENABLE_YARR_JIT" --#endif - } - - #if ENABLE_YARR_JIT - static inline bool isJITRuntimeEnabled(JSContext *cx); -+#endif - static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error); --#else -- static void reportPCREError(JSContext *cx, int error); --#endif - - 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 - } - - bool compile(JSContext *cx, JSLinearString &pattern, uintN *parenCount, RegExpFlag flags); - - - RegExpRunStatus - execute(JSContext *cx, const jschar *chars, size_t length, size_t start, - int *output, size_t outputCount); diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h --- a/js/src/yarr/wtfbridge.h +++ b/js/src/yarr/wtfbridge.h ++++++ source-stamp.txt ++++++ --- /var/tmp/diff_new_pack.MhlOpC/_old 2012-06-06 16:10:40.000000000 +0200 +++ /var/tmp/diff_new_pack.MhlOpC/_new 2012-06-06 16:10:40.000000000 +0200 @@ -1,2 +1,2 @@ -REV=a294a5b4f12d +REV=2b643ea8edf9 REPO=http://hg.mozilla.org/releases/mozilla-release ++++++ xulrunner-12.0-source.tar.bz2 -> xulrunner-13.0-source.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/xulrunner/xulrunner-12.0-source.tar.bz2 /work/SRC/openSUSE:Factory/.xulrunner.new/xulrunner-13.0-source.tar.bz2 differ: char 11, line 1 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org