diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f3ade6a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/firefox-52.3.0esr.source.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 3d1a722..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# mozjs52 - -The mozjs52 package \ No newline at end of file diff --git a/build-icu-big-endian.patch b/build-icu-big-endian.patch new file mode 100644 index 0000000..68fbea1 --- /dev/null +++ b/build-icu-big-endian.patch @@ -0,0 +1,12 @@ +diff -up mozilla-aurora/build/autoconf/icu.m4.icu-endian mozilla-aurora/build/autoconf/icu.m4 +--- mozilla-aurora/build/autoconf/icu.m4.icu-endian 2016-12-09 09:11:01.227317790 +0100 ++++ mozilla-aurora/build/autoconf/icu.m4 2016-12-09 09:18:40.608712247 +0100 +@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then + # TODO: the l is actually endian-dependent + # We could make this set as 'l' or 'b' for little or big, respectively, + # but we'd need to check in a big-endian version of the file. +- ICU_DATA_FILE="icudt${version}l.dat" ++ ICU_DATA_FILE="icudt${version}b.dat" + + dnl We won't build ICU data as a separate file when building + dnl JS standalone so that embedders don't have to deal with it. diff --git a/build-missing-xlocale-h.patch b/build-missing-xlocale-h.patch new file mode 100644 index 0000000..b4a62b2 --- /dev/null +++ b/build-missing-xlocale-h.patch @@ -0,0 +1,12 @@ +diff -up thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp.xlocale thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp +--- thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp.xlocale 2017-08-24 14:42:48.634084293 +0200 ++++ thunderbird-52.3.0/mozilla/intl/icu/source/i18n/digitlst.cpp 2017-08-24 14:42:50.534084676 +0200 +@@ -64,7 +64,7 @@ + # if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN + # include + # else +-# include ++# include + # endif + #endif + diff --git a/copy-headers.patch b/copy-headers.patch new file mode 100644 index 0000000..69b2161 --- /dev/null +++ b/copy-headers.patch @@ -0,0 +1,30 @@ +From 8b2d7a77bfb4dbd513763501ed7e9722058ee9af Mon Sep 17 00:00:00 2001 +From: Rico Tzschichholz +Date: Wed, 5 Jul 2017 22:45:59 -0700 +Subject: [PATCH] build: Copy headers on install instead of symlinking + +Patch ported forward to mozjs52 by Philip Chimento +. +--- + python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py +index 132dcf94..33d489a6 100644 +--- a/python/mozbuild/mozbuild/backend/recursivemake.py ++++ b/python/mozbuild/mozbuild/backend/recursivemake.py +@@ -1307,11 +1307,11 @@ def _process_final_target_files(self, obj, files, backend_file): + raise Exception("Wildcards are only supported in the filename part of " + "srcdir-relative or absolute paths.") + +- install_manifest.add_pattern_symlink(basepath, wild, path) ++ install_manifest.add_pattern_copy(basepath, wild, path) + else: +- install_manifest.add_pattern_symlink(f.srcdir, f, path) ++ install_manifest.add_pattern_copy(f.srcdir, f, path) + else: +- install_manifest.add_symlink(f.full_path, dest) ++ install_manifest.add_copy(f.full_path, dest) + else: + install_manifest.add_optional_exists(dest) + backend_file.write('%s_FILES += %s\n' % ( diff --git a/disable-mozglue.patch b/disable-mozglue.patch new file mode 100644 index 0000000..8355cf4 --- /dev/null +++ b/disable-mozglue.patch @@ -0,0 +1,66 @@ +From 7e6d628456af3e99ebcb9a01a27e1461585082a4 Mon Sep 17 00:00:00 2001 +From: Till Schneidereit +Date: Thu, 1 Oct 2015 12:59:09 +0200 +Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all + platforms + +Otherwise, build fails not being able to find HashBytes. + +Patch ported forward to mozjs52 by Philip Chimento +. + +https://bugzilla.mozilla.org/show_bug.cgi?id=1176787 +--- + js/src/old-configure.in | 23 ++++++++++++++--------- + mozglue/build/moz.build | 2 +- + 2 files changed, 15 insertions(+), 10 deletions(-) + +diff --git a/js/src/old-configure.in b/js/src/old-configure.in +index 1c5c9e21..ff0617e3 100644 +--- a/js/src/old-configure.in ++++ b/js/src/old-configure.in +@@ -1623,16 +1623,21 @@ dnl ======================================================== + dnl = Enable jemalloc + dnl ======================================================== + +-case "${OS_TARGET}" in +-Android|WINNT|Darwin) ++dnl In stand-alone builds we always only want to link executables against mozglue. ++if test "$JS_STANDALONE"; then + MOZ_GLUE_IN_PROGRAM= +- ;; +-*) +- dnl On !Android !Windows !OSX, we only want to link executables against mozglue +- MOZ_GLUE_IN_PROGRAM=1 +- AC_DEFINE(MOZ_GLUE_IN_PROGRAM) +- ;; +-esac ++else ++ case "${OS_TARGET}" in ++ Android|WINNT|Darwin) ++ MOZ_GLUE_IN_PROGRAM= ++ ;; ++ *) ++ dnl On !Android !Windows !OSX, we only want to link executables against mozglue ++ MOZ_GLUE_IN_PROGRAM=1 ++ AC_DEFINE(MOZ_GLUE_IN_PROGRAM) ++ ;; ++ esac ++fi + + if test "$MOZ_MEMORY"; then + if test "x$MOZ_DEBUG" = "x1"; then +diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build +index d2897477..e3be5a2b 100644 +--- a/mozglue/build/moz.build ++++ b/mozglue/build/moz.build +@@ -6,7 +6,7 @@ + + # Build mozglue as a shared lib on Windows, OSX and Android. + # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in +-if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'): ++if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']: + SharedLibrary('mozglue') + else: + Library('mozglue') + diff --git a/fix-soname.patch b/fix-soname.patch new file mode 100644 index 0000000..a91107c --- /dev/null +++ b/fix-soname.patch @@ -0,0 +1,34 @@ +From: Laszlo Boszormenyi (GCS) +Date: Fri, 02 May 2014 22:20:45 +0200 +Subject: fix soname + +Add soname switch to linker, regardless of Operating System + +Bug-Debian: http://bugs.debian.org/746705 +--- + config/rules.mk | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: mozjs52-52.2.1~artful1/config/rules.mk +=================================================================== +--- mozjs52-52.2.1~artful1.orig/config/rules.mk ++++ mozjs52-52.2.1~artful1/config/rules.mk +@@ -418,7 +418,7 @@ endif # AIX + # + # Linux: add -Bsymbolic flag for components + # +-ifeq ($(OS_ARCH),Linux) ++#ifeq ($(OS_ARCH),Linux) + ifdef IS_COMPONENT + EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic + endif +@@ -426,7 +426,8 @@ ifdef LD_VERSION_SCRIPT + EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT) + EXTRA_DEPS += $(LD_VERSION_SCRIPT) + endif +-endif ++#endif ++EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0 + + ifdef SYMBOLS_FILE + ifeq ($(OS_TARGET),WINNT) diff --git a/include-configure-script.patch b/include-configure-script.patch new file mode 100644 index 0000000..c24d7b1 --- /dev/null +++ b/include-configure-script.patch @@ -0,0 +1,48 @@ +From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001 +From: Philip Chimento +Date: Wed, 5 Jul 2017 22:57:09 -0700 +Subject: [PATCH] build: Include configure script, be nicer about options + +A configure script is not included in the SpiderMonkey tarball by +default. Also, we have to account for JHbuild passing extra unknown +options like --disable-Werror. + +https://bugzilla.mozilla.org/show_bug.cgi?id=1379540 +--- + js/src/configure | 9 +++++++++ + python/mozbuild/mozbuild/configure/__init__.py | 2 +- + python/mozbuild/mozbuild/configure/options.py | 6 +++++- + 3 files changed, 15 insertions(+), 2 deletions(-) + create mode 100755 js/src/configure + +diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py +index 0fe640ca..09b460d3 100644 +--- a/python/mozbuild/mozbuild/configure/__init__.py ++++ b/python/mozbuild/mozbuild/configure/__init__.py +@@ -356,7 +356,7 @@ def run(self, path=None): + # All options should have been removed (handled) by now. + for arg in self._helper: + without_value = arg.split('=', 1)[0] +- raise InvalidOptionError('Unknown option: %s' % without_value) ++ print('Ignoring', without_value, ': Unknown option') + + # Run the execution queue + for func, args in self._execution_queue: +diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py +index 4310c862..15bfe425 100644 +--- a/python/mozbuild/mozbuild/configure/options.py ++++ b/python/mozbuild/mozbuild/configure/options.py +@@ -402,7 +402,11 @@ def __init__(self, environ=os.environ, argv=sys.argv): + + def add(self, arg, origin='command-line', args=None): + assert origin != 'default' +- prefix, name, values = Option.split_option(arg) ++ try: ++ prefix, name, values = Option.split_option(arg) ++ except InvalidOptionError as e: ++ print('Ignoring', arg, ':', e) ++ return + if args is None: + args = self._extra_args + if args is self._extra_args and name in self._extra_args: + diff --git a/mozilla-1253216.patch b/mozilla-1253216.patch new file mode 100644 index 0000000..c9252da --- /dev/null +++ b/mozilla-1253216.patch @@ -0,0 +1,12 @@ +diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old firefox-48.0/js/src/jit/AtomicOperations.h +--- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200 ++++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200 +@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz + # elif defined(__aarch64__) + # include "jit/arm64/AtomicOperations-arm64.h" + # else +-# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always ++# include "jit/none/AtomicOperations-ppc.h" + # endif + #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) + # include "jit/x86-shared/AtomicOperations-x86-shared.h" diff --git a/mozjs52.spec b/mozjs52.spec new file mode 100644 index 0000000..2afa71e --- /dev/null +++ b/mozjs52.spec @@ -0,0 +1,171 @@ +%global major 52 + +# Big endian platforms +%ifarch ppc64 s390x +%define big_endian 1 +%endif + +Name: mozjs%{major} +Version: 52.3.0 +Release: 1%{?dist} +Summary: SpiderMonkey JavaScript library + +License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2.1 and LGPLv2.1+ and AFL and ASL 2.0 +URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey +Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz + +# Patches from Debian mozjs52_52.3.1-4.debian.tar.xz: +Patch0001: fix-soname.patch +Patch0002: copy-headers.patch + +# Patches from https://github.com/ptomato/mozjs / Debian mozjs52_52.3.1-4.debian.tar.xz +Patch0101: disable-mozglue.patch +Patch0102: remove-nspr-dependency.patch +Patch0103: tests-skip-on-all-64-bit-archs.patch +Patch0104: include-configure-script.patch + +# Patches from Fedora firefox package: +Patch18: xulrunner-24.0-jemalloc-ppc.patch +Patch19: xulrunner-24.0-s390-inlines.patch +Patch25: rhbz-1219542-s390-build.patch +Patch26: build-icu-big-endian.patch +Patch36: build-missing-xlocale-h.patch +Patch304: mozilla-1253216.patch + +BuildRequires: autoconf213 +BuildRequires: perl-devel +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(zlib) +BuildRequires: python2-devel +BuildRequires: readline-devel +BuildRequires: /usr/bin/zip + +# Firefox does not allow to build with system version of jemalloc +Provides: bundled(jemalloc) = 4.3.1 + +%description +SpiderMonkey is the code-name for Mozilla Firefox's C++ implementation of +JavaScript. It is intended to be embedded in other applications +that provide host environments for JavaScript. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%prep +%setup -q -n firefox-%{version}esr/js/src + +pushd ../.. +%patch0001 -p1 +%patch0002 -p1 + +%patch0101 -p1 +%patch0102 -p1 +%patch0103 -p1 +%patch0104 -p1 + +%patch18 -p1 -b .jemalloc-ppc +%patch19 -p2 -b .s390-inlines +%ifarch s390 +%patch25 -p1 -b .rhbz-1219542-s390 +%endif + +# Patch for big endian platforms only +%if 0%{?big_endian} +%patch26 -p1 -b .icu +%patch36 -p2 -b .xlocale +%endif + +%patch304 -p1 -b .1253216 +popd + +# Remove zlib directory (to be sure using system version) +rm -rf ../../modules/zlib + +%build +# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045) +export CFLAGS="%{optflags} -fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks" +export CXXFLAGS=$CFLAGS +LINKFLAGS="%{?__global_ldflags}" +export PYTHON=/usr/bin/python2 + +autoconf-2.13 +%configure \ + --without-system-icu \ + --enable-posix-nspr-emulation \ + --with-system-zlib \ + --enable-tests \ + --disable-strip \ + --with-intl-api \ + --enable-readline \ + --enable-shared-js \ + --disable-optimize \ + --enable-pie \ +%ifarch s390 s390x + --disable-jemalloc \ +%endif +%ifarch %{arm} aarch64 ppc ppc64 ppc64le + --disable-ion +%endif + +%if 0%{?big_endian} +echo "Generate big endian version of config/external/icu/data/icud58l.dat" +pushd ../.. + ./mach python intl/icu_sources_data.py . + ls -l config/external/icu/data + rm -f config/external/icu/data/icudt*l.dat +popd +%endif + +%make_build + +%install +%make_install + +# Fix permissions +chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc + +# We only need the shared library +rm %{buildroot}%{_bindir}/js* +rm %{buildroot}%{_libdir}/libjs_static.ajs + +# Rename library and create symlinks, following fix-soname.patch +mv %{buildroot}%{_libdir}/libmozjs-52.so \ + %{buildroot}%{_libdir}/libmozjs-52.so.0.0.0 +ln -s libmozjs-52.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-52.so.0 +ln -s libmozjs-52.so.0 %{buildroot}%{_libdir}/libmozjs-52.so + +%check +# Run SpiderMonkey tests +%ifarch %{ix86} x86_64 %{arm} aarch64 +tests/jstests.py -d -s -t 1800 --no-progress ../../js/src/js/src/shell/js +%else +tests/jstests.py -d -s -t 1800 --no-progress ../../js/src/js/src/shell/js || : +%endif + +# Run basic JIT tests +%ifarch %{ix86} x86_64 %{arm} aarch64 +jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/js/src/shell/js basic +%else +jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/js/src/shell/js basic || : +%endif + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%doc README.html +%{_libdir}/libmozjs-%{major}.so.0* + +%files devel +%{_libdir}/libmozjs-%{major}.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/mozjs-%{major}/ + +%changelog +* Wed Sep 20 2017 Kalev Lember - 52.3.0-1 +- Initial Fedora packaging, based on earlier mozjs45 work diff --git a/remove-nspr-dependency.patch b/remove-nspr-dependency.patch new file mode 100644 index 0000000..5b1dd47 --- /dev/null +++ b/remove-nspr-dependency.patch @@ -0,0 +1,58 @@ +From 4c5d336b44bc6122a6721905e77849ebd57eca78 Mon Sep 17 00:00:00 2001 +From: Philip Chimento +Date: Wed, 5 Jul 2017 22:53:30 -0700 +Subject: [PATCH] build: Remove unnecessary NSPR dependency + +When SpiderMonkey is configured with --enable-posix-nspr-emulation, then +the dependency on NSPR can be removed from the pkg-config file. + +https://bugzilla.mozilla.org/show_bug.cgi?id=1379539 +--- + build/autoconf/nspr-build.m4 | 11 ++++++----- + js/src/js.pc.in | 2 +- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/build/autoconf/nspr-build.m4 b/build/autoconf/nspr-build.m4 +index fe6dab72..b733579c 100644 +--- a/build/autoconf/nspr-build.m4 ++++ b/build/autoconf/nspr-build.m4 +@@ -177,11 +177,8 @@ AC_SUBST_LIST(NSPR_CFLAGS) + AC_SUBST(NSPR_INCLUDE_DIR) + AC_SUBST(NSPR_LIB_DIR) + +-NSPR_PKGCONF_CHECK="nspr" ++PKGCONF_REQUIRES_PRIVATE="Requires.private: nspr" + if test -n "$MOZ_SYSTEM_NSPR"; then +- # piggy back on $MOZ_SYSTEM_NSPR to set a variable for the nspr check for js.pc +- NSPR_PKGCONF_CHECK="nspr >= $NSPR_MINVER" +- + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $NSPR_CFLAGS" + AC_TRY_COMPILE([#include "prlog.h"], +@@ -191,8 +188,12 @@ if test -n "$MOZ_SYSTEM_NSPR"; then + , + AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT])) + CFLAGS=$_SAVE_CFLAGS ++ # piggy back on $MOZ_SYSTEM_NSPR to set a variable for the nspr check for js.pc ++ PKGCONF_REQUIRES_PRIVATE="Requires.private: nspr >= $NSPR_MINVER" ++elif test -n "$JS_POSIX_NSPR"; then ++ PKGCONF_REQUIRES_PRIVATE= + fi +-AC_SUBST(NSPR_PKGCONF_CHECK) ++AC_SUBST([PKGCONF_REQUIRES_PRIVATE]) + + fi # _IS_OUTER_CONFIGURE + +diff --git a/js/src/js.pc.in b/js/src/js.pc.in +index 1efea334..2eae393a 100644 +--- a/js/src/js.pc.in ++++ b/js/src/js.pc.in +@@ -6,6 +6,6 @@ includedir=@includedir@ + Name: SpiderMonkey @MOZILLA_VERSION@ + Description: The Mozilla library for JavaScript + Version: @MOZILLA_VERSION@ +-Requires.private: @NSPR_PKGCONF_CHECK@ ++@PKGCONF_REQUIRES_PRIVATE@ + Libs: -L${libdir} -l@JS_LIBRARY_NAME@ + Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@ + diff --git a/rhbz-1219542-s390-build.patch b/rhbz-1219542-s390-build.patch new file mode 100644 index 0000000..3734ce5 --- /dev/null +++ b/rhbz-1219542-s390-build.patch @@ -0,0 +1,23 @@ +diff -up firefox-43.0.3/js/src/configure.in.rhbz-1219542-s390 firefox-43.0.3/js/src/configure.in +--- firefox-43.0.3/js/src/configure.in.rhbz-1219542-s390 2015-12-23 17:11:01.000000000 -0500 ++++ firefox-43.0.3/js/src/configure.in 2016-01-03 08:08:27.139956990 -0500 +@@ -1466,7 +1466,7 @@ case "$host" in + + *-linux*|*-kfreebsd*-gnu|*-gnu*) + HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX" +- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}" ++ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}" + ;; + + *) +@@ -1649,8 +1649,8 @@ ia64*-hpux*) + # while; Intel recommends against using it. + MOZ_OPTIMIZE_FLAGS="-O2" + elif test "$GNU_CC" -o "$GNU_CXX"; then +- MOZ_PGO_OPTIMIZE_FLAGS="-O3" +- MOZ_OPTIMIZE_FLAGS="-O3" ++ MOZ_PGO_OPTIMIZE_FLAGS="-O1" ++ MOZ_OPTIMIZE_FLAGS="-O1" + if test -z "$CLANG_CC"; then + MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS" + fi diff --git a/sources b/sources new file mode 100644 index 0000000..ec1f3a5 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (firefox-52.3.0esr.source.tar.xz) = 36da8f14b50334e36fca06e09f15583101cadd10e510268255587ea9b09b1fea918da034d6f1d439ab8c34612f6cebc409a0b8d812dddb3f997afebe64d09fe9 diff --git a/tests-skip-on-all-64-bit-archs.patch b/tests-skip-on-all-64-bit-archs.patch new file mode 100644 index 0000000..8630b54 --- /dev/null +++ b/tests-skip-on-all-64-bit-archs.patch @@ -0,0 +1,49 @@ +From 8e7f8d3c651028a2fd1e6e8eb8960f2ca0d3e266 Mon Sep 17 00:00:00 2001 +From: Marcin Juszkiewicz +Date: Wed, 5 Jul 2017 21:05:27 -0700 +Subject: [PATCH] tests: Skip on all 64-bit archs + +Tests that are skipped on x86_64 should be skipped on all 64-bit +architectures. + +https://bugzilla.mozilla.org/show_bug.cgi?id=1357593 + +Taken from Fedora: +http://pkgs.fedoraproject.org/cgit/rpms/mozjs38.git/tree/fix-64bit-archs.patch +--- + js/src/tests/js1_5/Array/regress-157652.js | 2 +- + js/src/tests/js1_5/Array/regress-330812.js | 2 +- + js/src/tests/js1_5/Regress/regress-422348.js | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/js/src/tests/js1_5/Array/regress-157652.js b/js/src/tests/js1_5/Array/regress-157652.js +index 0bdba8fd..9d77802c 100644 +--- a/js/src/tests/js1_5/Array/regress-157652.js ++++ b/js/src/tests/js1_5/Array/regress-157652.js +@@ -1,4 +1,4 @@ +-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results ++// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results + /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ + /* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this +diff --git a/js/src/tests/js1_5/Array/regress-330812.js b/js/src/tests/js1_5/Array/regress-330812.js +index 3a392976..c48f4c88 100644 +--- a/js/src/tests/js1_5/Array/regress-330812.js ++++ b/js/src/tests/js1_5/Array/regress-330812.js +@@ -1,4 +1,4 @@ +-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)||Android) -- No test results ++// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results + /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ + /* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this +diff --git a/js/src/tests/js1_5/Regress/regress-422348.js b/js/src/tests/js1_5/Regress/regress-422348.js +index f2443c28..7ae83f4a 100644 +--- a/js/src/tests/js1_5/Regress/regress-422348.js ++++ b/js/src/tests/js1_5/Regress/regress-422348.js +@@ -1,4 +1,4 @@ +-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64/)) -- On 64-bit, takes forever rather than throwing ++// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) -- On 64-bit, takes forever rather than throwing + /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ + /* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + diff --git a/xulrunner-24.0-jemalloc-ppc.patch b/xulrunner-24.0-jemalloc-ppc.patch new file mode 100644 index 0000000..b2aaae6 --- /dev/null +++ b/xulrunner-24.0-jemalloc-ppc.patch @@ -0,0 +1,12 @@ +diff -up firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc firefox-48.0/memory/mozjemalloc/jemalloc.c +--- firefox-48.0/memory/mozjemalloc/jemalloc.c.jemalloc-ppc 2016-07-26 10:51:46.385434384 +0200 ++++ firefox-48.0/memory/mozjemalloc/jemalloc.c 2016-07-26 10:53:49.061023106 +0200 +@@ -1090,7 +1090,7 @@ static const bool config_recycle = false + * controlling the malloc behavior are defined as compile-time constants + * for best performance and cannot be altered at runtime. + */ +-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) ++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !(defined(__powerpc__)) + #define MALLOC_STATIC_SIZES 1 + #endif + diff --git a/xulrunner-24.0-s390-inlines.patch b/xulrunner-24.0-s390-inlines.patch new file mode 100644 index 0000000..074f8d9 --- /dev/null +++ b/xulrunner-24.0-s390-inlines.patch @@ -0,0 +1,12 @@ +diff -up xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp.s390-inlines xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp +--- xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp.s390-inlines 2013-10-23 16:04:01.773093979 +0200 ++++ xulrunner-25.0/mozilla-release/js/src/vm/SPSProfiler.cpp 2013-10-23 16:04:44.551134551 +0200 +@@ -4,6 +4,8 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + ++#include "jscntxtinlines.h" ++ + #include "vm/SPSProfiler.h" + + #include "mozilla/DebugOnly.h"