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, &regexp, &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

Reply via email to