Hello community,

here is the log from the commit of package mozjs17 for openSUSE:Factory checked 
in at 2015-07-21 13:24:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mozjs17 (Old)
 and      /work/SRC/openSUSE:Factory/.mozjs17.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mozjs17"

Changes:
--------
--- /work/SRC/openSUSE:Factory/mozjs17/mozjs17.changes  2014-08-03 
07:50:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mozjs17.new/mozjs17.changes     2015-07-21 
13:24:51.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Jul  3 13:19:29 UTC 2015 - dmuel...@suse.com
+
+- add aarch64-64k-page.patch: Fix crash on 64kb kernels
+- update mozjs-aarch64-support.patch: More fixes for aarch64
+
+-------------------------------------------------------------------
+Wed Jul  1 12:34:41 UTC 2015 - h...@imb-jena.de
+
+- no_defined_array.patch: fix milestone.pl to work with perl-5.22
+
+-------------------------------------------------------------------

New:
----
  aarch64-64k-page.patch
  no_defined_array.patch

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

Other differences:
------------------
++++++ mozjs17.spec ++++++
--- /var/tmp/diff_new_pack.KEloHf/_old  2015-07-21 13:24:52.000000000 +0200
+++ /var/tmp/diff_new_pack.KEloHf/_new  2015-07-21 13:24:52.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package mozjs17
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #               2013 Wolfgang Rosenauer
 #
 # All modifications and additions to the file contributed by third parties
@@ -32,6 +32,8 @@
 Patch1:         mozjs-aarch64-support.patch
 Patch2:         mozjs-ppc64le-support.patch
 Patch3:         mozbug746112-no-decommit-on-large-pages.patch
+Patch4:         no_defined_array.patch
+Patch5:         aarch64-64k-page.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  autoconf213
 BuildRequires:  gcc-c++
@@ -75,6 +77,8 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 # no need to add build time to binaries

++++++ aarch64-64k-page.patch ++++++
>From f17bc0302100c885c84ebd06cd003aad9774cbb4 Mon Sep 17 00:00:00 2001
From: Mark Salter <msal...@redhat.com>
Date: Thu, 13 Mar 2014 13:16:27 -0400
Subject: [PATCH] Fix aarch64 support for 64K pagesize

A given AArch64 kernel may be using 4K or 64K pagesizes. When running
on a kernel with 64K pagesize, this check causes an intentionally
generated segfault:

  js/src/gc/Memory.cpp:

  void
  InitMemorySubsystem()
  {
      if (size_t(sysconf(_SC_PAGESIZE)) != PageSize)
         MOZ_CRASH();
  }

This happens because PageSize is fixed to 4K at build time. This mess
has been cleaned up in mozjs-24 by eliminating the build-time PageSize
definition. That is too intrusive for mosjs17, so just set PageSize
to 64K at build time and eliminate the check. This will work with both
4K and 64K aarch64 kernels.

Signed-off-by: Mark Salter <msal...@redhat.com>
---
 js/src/gc/Heap.h     |  2 +-
 js/src/gc/Heap.h.rej | 11 +++++++++++
 js/src/gc/Memory.cpp |  3 +++
 3 files changed, 15 insertions(+), 1 deletion(-)
 create mode 100644 js/src/gc/Heap.h.rej

Index: mozjs17.0.0/js/src/gc/Memory.cpp
===================================================================
--- mozjs17.0.0.orig/js/src/gc/Memory.cpp
+++ mozjs17.0.0/js/src/gc/Memory.cpp
@@ -302,8 +302,11 @@ GetPageFaultCount()
 void
 InitMemorySubsystem()
 {
+    /* aarch64 may have 64KB or 4KB pages */
+#ifndef __aarch64__
     if (size_t(sysconf(_SC_PAGESIZE)) != PageSize)
         MOZ_CRASH();
+#endif
 }
 
 void *
++++++ mozjs-aarch64-support.patch ++++++
--- /var/tmp/diff_new_pack.KEloHf/_old  2015-07-21 13:24:52.000000000 +0200
+++ /var/tmp/diff_new_pack.KEloHf/_new  2015-07-21 13:24:52.000000000 +0200
@@ -1,13 +1,59 @@
-Index: mozjs17.0.0/mfbt/double-conversion/utils.h
-===================================================================
---- mozjs17.0.0.orig/mfbt/double-conversion/utils.h
-+++ mozjs17.0.0/mfbt/double-conversion/utils.h
-@@ -58,7 +58,7 @@
+diff --git a/js/src/assembler/jit/ExecutableAllocator.h 
b/js/src/assembler/jit/ExecutableAllocator.h
+index c071c33..90764c3 100644
+--- a/js/src/assembler/jit/ExecutableAllocator.h
++++ b/js/src/assembler/jit/ExecutableAllocator.h
+@@ -382,6 +382,12 @@ public:
+     {
+         reprotectRegion(start, size, Executable);
+     }
++#elif WTF_CPU_AARCH64 && WTF_PLATFORM_LINUX
++    static void cacheFlush(void* code, size_t size)
++    {
++        intptr_t end = reinterpret_cast<intptr_t>(code) + size;
++        __builtin___clear_cache(reinterpret_cast<char*>(code), 
reinterpret_cast<char*>(end));
++    }
+ #else
+     static void makeWritable(void*, size_t) {}
+     static void makeExecutable(void*, size_t) {}
+diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h
+index 0c84896..e8763a7 100644
+--- a/js/src/assembler/wtf/Platform.h
++++ b/js/src/assembler/wtf/Platform.h
+@@ -325,6 +325,10 @@
+ #define WTF_THUMB_ARCH_VERSION 0
+ #endif
+ 
++/* CPU(AArch64) - 64-bit ARM */
++#if defined(__aarch64__)
++#define WTF_CPU_AARCH64 1
++#endif
+ 
+ /* WTF_CPU_ARMV5_OR_LOWER - ARM instruction set v5 or earlier */
+ /* On ARMv5 and below the natural alignment is required. 
+diff --git a/js/src/configure.in b/js/src/configure.in
+index 15605b2..19fd704 100644
+--- a/js/src/configure.in
++++ b/js/src/configure.in
+@@ -1121,6 +1121,10 @@ arm*)
+     CPU_ARCH=arm
+     ;;
+ 
++aarch64)
++    CPU_ARCH=aarch64
++    ;;
++
+ mips|mipsel)
+     CPU_ARCH="mips"
+     ;;
+diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
+index 0eec2d9..fe26dab 100644
+--- a/mfbt/double-conversion/utils.h
++++ b/mfbt/double-conversion/utils.h
+@@ -58,6 +58,7 @@
      defined(__mips__) || defined(__powerpc__) || \
      defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
      defined(__SH4__) || defined(__alpha__) || \
--    defined(_MIPS_ARCH_MIPS32R2)
-+    defined(_MIPS_ARCH_MIPS32R2) || defined(__aarch64__)
++    defined(__aarch64__) || \
+     defined(_MIPS_ARCH_MIPS32R2)
  #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
  #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
- #if defined(_WIN32)

++++++ no_defined_array.patch ++++++
defined(@array) has been deprecated since perl v5.6.1, has raised
deprecation warnings since perl v5.16, and is fatal since perl v5.22

--- a/js/src/config/milestone.pl        2013-02-11 23:33:22.000000000 +0100
+++ b/js/src/config/milestone.pl        2015-07-01 14:20:14.248283399 +0200
@@ -55,7 +55,7 @@
 #
 my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE);
 
-if (defined(@TEMPLATE_FILE)) {
+if (@TEMPLATE_FILE) {
   my $TFILE;
 
   foreach $TFILE (@TEMPLATE_FILE) {

Reply via email to