summaryrefslogtreecommitdiffstats
path: root/source/l/mozjs60
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/mozjs60')
-rw-r--r--source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch504
-rwxr-xr-xsource/l/mozjs60/autoconf/autoconf.build81
-rwxr-xr-xsource/l/mozjs60/mozjs60.SlackBuild179
-rw-r--r--source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch100
-rw-r--r--source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch64
-rw-r--r--source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch97
-rw-r--r--source/l/mozjs60/patches/build-icu-big-endian.patch13
-rw-r--r--source/l/mozjs60/patches/copy-headers.patch29
-rw-r--r--source/l/mozjs60/patches/emitter.patch15
-rw-r--r--source/l/mozjs60/patches/emitter_test.patch26
-rw-r--r--source/l/mozjs60/patches/fix-soname.patch25
-rw-r--r--source/l/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch34
-rw-r--r--source/l/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch26
-rw-r--r--source/l/mozjs60/patches/init_patch.patch12
-rw-r--r--source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch41
-rw-r--r--source/l/mozjs60/patches/tests-increase-timeout.patch22
-rw-r--r--source/l/mozjs60/slack-desc20
17 files changed, 0 insertions, 1288 deletions
diff --git a/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch b/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch
deleted file mode 100644
index 5e7b2311..00000000
--- a/source/l/mozjs60/autoconf/autoconf-2.13-consolidated_fixes-1.patch
+++ /dev/null
@@ -1,504 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2016-06-11
-Initial Package Version: 2.13
-Upstream Status: Version is historic and unmaintained.
-Origin: Found at fedora, plus fixes for LFS.
-Description: All of the patches currently used by fedora, except for
-the patch which ensures gawk is used in preference to mawk (we do not
-install mawk). For LFS: we put mktemp in /usr/bin not /bin, remove
-the install-info target because that will overwrite standards.info
-with an old version (fedora always use a DESTDIR), and change the
-man and info dirs to ${datadir}/ i.e. /usr/share (an empty /usr/info
-will otherwise be created).
-
-diff -Naur a/acgeneral.m4 b/acgeneral.m4
---- a/acgeneral.m4 1999-01-05 13:27:37.000000000 +0000
-+++ b/acgeneral.m4 2016-06-11 00:18:24.429043947 +0100
-@@ -1817,10 +1817,6 @@
- [cat > conftest.$ac_ext <<EOF
- [#]line __oline__ "configure"
- #include "confdefs.h"
--ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
--extern "C" void exit(int);
--#endif
--])dnl
- [$1]
- EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-@@ -1988,12 +1984,12 @@
- AC_MSG_CHECKING(size of $1)
- AC_CACHE_VAL(AC_CV_NAME,
- [AC_TRY_RUN([#include <stdio.h>
--main()
-+int main()
- {
- FILE *f=fopen("conftestval", "w");
-- if (!f) exit(1);
-+ if (!f) return(1);
- fprintf(f, "%d\n", sizeof($1));
-- exit(0);
-+ return(0);
- }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
- AC_MSG_RESULT($AC_CV_NAME)
- AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
-@@ -2160,20 +2156,38 @@
- dnl AC_OUTPUT_MAKE_DEFS()
- define(AC_OUTPUT_MAKE_DEFS,
- [# Transform confdefs.h into DEFS.
--dnl Using a here document instead of a string reduces the quoting nightmare.
- # Protect against shell expansion while executing Makefile rules.
- # Protect against Makefile macro expansion.
--cat > conftest.defs <<\EOF
-+#
-+# If the first sed substitution is executed (which looks for macros that
-+# take arguments), then we branch to the quote section. Otherwise,
-+# look for a macro that doesn't take arguments.
-+cat >confdef2opt.sed <<\_ACEOF
- changequote(<<, >>)dnl
--s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
--s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g
--s%\[%\\&%g
--s%\]%\\&%g
--s%\$%$$%g
-+t clear
-+: clear
-+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-+t quote
-+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-+t quote
-+d
-+: quote
-+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-+s,\[,\\&,g
-+s,\],\\&,g
-+s,\$,$$,g
-+p
- changequote([, ])dnl
--EOF
--DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
--rm -f conftest.defs
-+_ACEOF
-+# We use echo to avoid assuming a particular line-breaking character.
-+# The extra dot is to prevent the shell from consuming trailing
-+# line-breaks from the sub-command output. A line-break within
-+# single-quotes doesn't work because, if this script is created in a
-+# platform that uses two characters for line-breaks (e.g., DOS), tr
-+# would break.
-+ac_LF_and_DOT=`echo; echo .`
-+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-+rm -f confdef2opt.sed
- ])
-
- dnl Do the variable substitutions to create the Makefiles or whatever.
-diff -Naur a/acspecific.m4 b/acspecific.m4
---- a/acspecific.m4 1999-01-05 13:27:52.000000000 +0000
-+++ b/acspecific.m4 2016-06-11 00:18:17.533078644 +0100
-@@ -152,8 +152,41 @@
- CXXFLAGS=
- fi
- fi
-+
-+AC_PROG_CXX_EXIT_DECLARATION
- ])
-
-+
-+# AC_PROG_CXX_EXIT_DECLARATION
-+# -----------------------------
-+# Find a valid prototype for exit and declare it in confdefs.h.
-+AC_DEFUN(AC_PROG_CXX_EXIT_DECLARATION,
-+[for ac_declaration in \
-+ ''\
-+ '#include <stdlib.h>' \
-+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
-+ 'extern "C" void std::exit (int); using std::exit;' \
-+ 'extern "C" void exit (int) throw ();' \
-+ 'extern "C" void exit (int);' \
-+ 'void exit (int);'
-+do
-+ AC_TRY_COMPILE([#include <stdlib.h>
-+$ac_declaration],
-+ [exit (42);],
-+ [],
-+ [continue])
-+ AC_TRY_COMPILE([$ac_declaration],
-+ [exit (42);],
-+ [break])
-+done
-+if test -n "$ac_declaration"; then
-+ echo '#ifdef __cplusplus' >>confdefs.h
-+ echo $ac_declaration >>confdefs.h
-+ echo '#endif' >>confdefs.h
-+fi
-+])# AC_PROG_CXX_EXIT_DECLARATION
-+
-+
- dnl Determine a Fortran 77 compiler to use. If `F77' is not already set
- dnl in the environment, check for `g77', `f77' and `f2c', in that order.
- dnl Set the output variable `F77' to the name of the compiler found.
-@@ -1010,7 +1043,7 @@
- ])
-
- AC_DEFUN(AC_FUNC_MMAP,
--[AC_CHECK_HEADERS(unistd.h)
-+[AC_CHECK_HEADERS(stdlib.h unistd.h sys/stat.h sys/types.h)
- AC_CHECK_FUNCS(getpagesize)
- AC_CACHE_CHECK(for working mmap, ac_cv_func_mmap_fixed_mapped,
- [AC_TRY_RUN([
-@@ -1039,11 +1072,24 @@
- #include <fcntl.h>
- #include <sys/mman.h>
-
-+#if HAVE_SYS_TYPES_H
-+# include <sys/types.h>
-+#endif
-+
-+#if HAVE_STDLIB_H
-+# include <stdlib.h>
-+#endif
-+
-+#if HAVE_SYS_STAT_H
-+# include <sys/stat.h>
-+#endif
-+
-+#if HAVE_UNISTD_H
-+# include <unistd.h>
-+#endif
-+
- /* This mess was copied from the GNU getpagesize.h. */
- #ifndef HAVE_GETPAGESIZE
--# ifdef HAVE_UNISTD_H
--# include <unistd.h>
--# endif
-
- /* Assume that all systems that can run configure have sys/param.h. */
- # ifndef HAVE_SYS_PARAM_H
-@@ -1373,6 +1419,8 @@
- r.ru_majflt = r.ru_minflt = 0;
- switch (fork()) {
- case 0: /* Child. */
-+ /* Unless we actually _do_ something, the kernel sometimes doesn't chalk up any system time to this process. */
-+ if(fork()) { i = 123; wait(NULL); } else { i = 234; exit(0); }
- sleep(1); /* Give up the CPU. */
- _exit(0);
- case -1: _exit(0); /* What can we do? */
-diff -Naur a/autoconf.sh b/autoconf.sh
---- a/autoconf.sh 1999-01-05 13:27:53.000000000 +0000
-+++ b/autoconf.sh 2016-06-11 00:22:17.351872133 +0100
-@@ -45,20 +45,20 @@
- esac
-
- : ${TMPDIR=/tmp}
--tmpout=${TMPDIR}/acout.$$
-+tmpout=`/usr/bin/mktemp ${TMPDIR}/acout.XXXXXX`
- localdir=
- show_version=no
-
- while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
-- echo "${usage}" 1>&2; exit 0 ;;
-+ echo "${usage}" 1>&2; rm -f $tmpout ; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
-- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-+ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
-@@ -66,7 +66,7 @@
- shift ;;
- -m | --macrodir | --m* )
- shift
-- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-+ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $tmpout; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --v* )
-@@ -76,7 +76,7 @@
- - ) # Use stdin as input.
- break ;;
- -* )
-- echo "${usage}" 1>&2; exit 1 ;;
-+ echo "${usage}" 1>&2; rm -f $tmpout; exit 1 ;;
- * )
- break ;;
- esac
-@@ -86,23 +86,25 @@
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
-+ rm -f $tmpout
- exit 0
- fi
-
- case $# in
- 0) infile=configure.in ;;
- 1) infile="$1" ;;
-- *) echo "$usage" >&2; exit 1 ;;
-+ *) echo "$usage" >&2; rm -f $tmpout; exit 1 ;;
- esac
-
- trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
-
--tmpin=${TMPDIR}/acin.$$ # Always set this, to avoid bogus errors from some rm's.
-+tmpin=`/usr/bin/mktemp ${TMPDIR}/acin.XXXXXX`
-+# Always set this, to avoid bogus errors from some rm's.
- if test z$infile = z-; then
- infile=$tmpin
-- cat > $infile
- elif test ! -r "$infile"; then
- echo "autoconf: ${infile}: No such file or directory" >&2
-+ rm -f $tmpin $tmpout
- exit 1
- fi
-
-@@ -111,6 +113,8 @@
- else
- use_localdir=
- fi
-+# Make sure we don't leave those around - they are annoying
-+trap 'rm -f $tmpin $tmpout' 0
-
- # Use the frozen version of Autoconf if available.
- r= f=
-@@ -118,7 +122,7 @@
- case `$M4 --help < /dev/null 2>&1` in
- *reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
- *traditional*) ;;
--*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
-+*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin $tmpout; exit 1 ;;
- esac
-
- $M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
-@@ -154,6 +158,6 @@
- /__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__/\2\1/
- ' >&4
-
--rm -f $tmpout
-+rm -f $tmpout $tmpin
-
- exit $status
-diff -Naur a/autoconf.texi b/autoconf.texi
---- a/autoconf.texi 1999-01-05 13:28:37.000000000 +0000
-+++ b/autoconf.texi 2016-06-11 00:18:46.360933604 +0100
-@@ -1,7 +1,7 @@
- \input texinfo @c -*-texinfo-*-
- @c %**start of header
--@setfilename autoconf.info
--@settitle Autoconf
-+@setfilename autoconf.info
-+@settitle Autoconf
- @c For double-sided printing, uncomment:
- @c @setchapternewpage odd
- @c %**end of header
-@@ -17,7 +17,8 @@
- @ifinfo
- @format
- START-INFO-DIR-ENTRY
--* Autoconf: (autoconf). Create source code configuration scripts.
-+* Autoconf: (autoconf). Create source code configuration scripts.
-+ This is a legacy version of autoconf.
- END-INFO-DIR-ENTRY
- @end format
-
-diff -Naur a/autoheader.sh b/autoheader.sh
---- a/autoheader.sh 1999-01-05 13:28:39.000000000 +0000
-+++ b/autoheader.sh 2016-06-11 00:22:17.351872133 +0100
-@@ -194,9 +194,9 @@
- # Some fgrep's have limits on the number of lines that can be in the
- # pattern on the command line, so use a temporary file containing the
- # pattern.
-- (fgrep_tmp=${TMPDIR-/tmp}/autoh$$
-+ (fgrep_tmp=`/usr/bin/mktemp ${TMPDIR-/tmp}/autoh$$.XXXXXX`
- trap "rm -f $fgrep_tmp; exit 1" 1 2 15
-- cat > $fgrep_tmp <<EOF
-+ cat >> $fgrep_tmp <<EOF
- $syms
- EOF
- fgrep -f $fgrep_tmp
-diff -Naur a/autoupdate.sh b/autoupdate.sh
---- a/autoupdate.sh 1999-01-05 13:28:42.000000000 +0000
-+++ b/autoupdate.sh 2016-06-11 00:23:19.151561252 +0100
-@@ -26,7 +26,7 @@
- Usage: autoupdate [-h] [--help] [-m dir] [--macrodir=dir]
- [--version] [template-file]"
-
--sedtmp=/tmp/acups.$$
-+sedtmp=`/usr/bin/mktemp /tmp/acups.XXXXXX`
- # For debugging.
- #sedtmp=/tmp/acups
- show_version=no
-@@ -35,13 +35,13 @@
- while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
-- echo "${usage}" 1>&2; exit 0 ;;
-+ echo "${usage}" 1>&2; rm -f $sedtmp; exit 0 ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
-- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
-+ test $# -eq 0 && { echo "${usage}" 1>&2; rm -f $sedtmp; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --versio | --versi | --vers)
-@@ -51,7 +51,7 @@
- - ) # Use stdin as input.
- break ;;
- -* )
-- echo "${usage}" 1>&2; exit 1 ;;
-+ echo "${usage}" 1>&2; rm -f $sedtmp; exit 1 ;;
- * )
- break ;;
- esac
-@@ -61,6 +61,7 @@
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
-+ rm -f $sedtmp
- exit 0
- fi
-
-@@ -68,6 +69,7 @@
-
- tmpout=acupo.$$
- trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15
-+trap 'rm -f $sedtmp' 0
- case $# in
- 0) infile=configure.in; out="> $tmpout"
- # Make sure $infile can be read, and $tmpout has the same permissions.
-diff -Naur a/configure b/configure
---- a/configure 1999-01-05 13:28:57.000000000 +0000
-+++ b/configure 2016-06-11 00:50:57.771231914 +0100
-@@ -43,8 +43,8 @@
- libdir='${exec_prefix}/lib'
- includedir='${prefix}/include'
- oldincludedir='/usr/include'
--infodir='${prefix}/info'
--mandir='${prefix}/man'
-+infodir='${datadir}/info'
-+mandir='${datadir}/man'
-
- # Initialize some other variables.
- subdirs=
-diff -Naur a/Makefile.in b/Makefile.in
---- a/Makefile.in 1999-01-05 13:27:16.000000000 +0000
-+++ b/Makefile.in 2016-06-11 00:29:34.005678107 +0100
-@@ -49,7 +49,7 @@
-
- # Directory in which to install library files.
- datadir = @datadir@
--acdatadir = $(datadir)/autoconf
-+acdatadir = $(datadir)/autoconf-2.13
-
- # Directory in which to install documentation info files.
- infodir = @infodir@
-@@ -68,8 +68,8 @@
- DISTFILES = AUTHORS COPYING ChangeLog ChangeLog.1 INSTALL \
- Makefile.in NEWS README TODO $(M4FILES) \
- acconfig.h acfunctions acheaders acidentifiers \
-- acmakevars acprograms autoconf.info* \
-- autoconf.sh autoconf.texi install.texi \
-+ acmakevars acprograms autoconf.info* \
-+ autoconf.sh autoconf.texi install.texi \
- autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \
- config.guess config.sub configure configure.in \
- install-sh mkinstalldirs texinfo.tex \
-@@ -106,11 +106,11 @@
- autoconf.m4f: autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4
- autoheader.m4f: autoheader.m4 acgeneral.m4 acspecific.m4 acoldnames.m4
-
--info: autoconf.info @standards_info@ INSTALL
-+info: autoconf.info @standards_info@ INSTALL
-
- # Use --no-split to avoid creating filenames > 14 chars.
--autoconf.info: autoconf.texi install.texi
-- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
-+autoconf.info: autoconf.texi install.texi
-+ $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --no-split --output=$@
-
- INSTALL: install.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
-@@ -121,8 +121,8 @@
-
- dvi: autoconf.dvi @standards_dvi@
-
--autoconf.dvi: autoconf.texi
-- $(TEXI2DVI) $(srcdir)/autoconf.texi
-+autoconf.dvi: autoconf.texi
-+ $(TEXI2DVI) $(srcdir)/autoconf.texi
-
- standards.dvi: standards.texi make-stds.texi
- $(TEXI2DVI) $(srcdir)/standards.texi
-@@ -137,35 +137,35 @@
- cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
-
- installdirs:
-- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)/$(bindir) $(DESTDIR)/$(infodir) $(DESTDIR)/$(acdatadir)
-
--install: all $(M4FILES) acconfig.h installdirs install-info
-+install: all $(M4FILES) acconfig.h installdirs
- for p in $(ASCRIPTS); do \
-- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
-+ $(INSTALL_PROGRAM) $$p $(DESTDIR)/$(bindir)/`echo $$p|sed '$(transform)'`; \
- done
- for i in $(M4FROZEN); do \
-- $(INSTALL_DATA) $$i $(acdatadir)/$$i; \
-+ $(INSTALL_DATA) $$i $(DESTDIR)/$(acdatadir)/$$i; \
- done
- for i in $(M4FILES) acconfig.h; do \
-- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
-+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
- done
- -if test -f autoscan; then \
-- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
-+ $(INSTALL_PROGRAM) autoscan $(DESTDIR)/$(bindir)/`echo autoscan|sed '$(transform)'`; \
- for i in acfunctions acheaders acidentifiers acprograms \
- acmakevars; do \
-- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
-+ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)/$(acdatadir)/$$i; \
- done; \
- else :; fi
-
- # Don't cd, to avoid breaking install-sh references.
- install-info: info installdirs
-- if test -f autoconf.info; then \
-+ if test -f autoconf.info; then \
- for i in *.info*; do \
-- $(INSTALL_DATA) $$i $(infodir)/$$i; \
-+ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/$$i; \
- done; \
- else \
- for i in $(srcdir)/*.info*; do \
-- $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
-+ $(INSTALL_DATA) $$i $(DESTDIR)/$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
- done; \
- fi
-
-@@ -174,7 +174,7 @@
- rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
- rm -fr $(acdatadir)
-- cd $(infodir) && rm -f autoconf.info*
-+ cd $(infodir) && rm -f autoconf.info*
- if test -f standards.info || test -f $(srcdir)/standards.info; \
- then cd $(infodir) && rm -f standards.info*; fi
-
-diff -Naur a/testsuite/autoconf.s/syntax.exp b/testsuite/autoconf.s/syntax.exp
---- a/testsuite/autoconf.s/syntax.exp 1999-01-05 13:29:54.000000000 +0000
-+++ b/testsuite/autoconf.s/syntax.exp 2016-06-11 00:18:51.996905247 +0100
-@@ -2,7 +2,7 @@
-
- send_user "Checking for syntax errors in the specific tests...\n"
- set script {s/^AC_DEFUN(\([^,]*\).*/\1/p}
--set macros [exec sed -n $script $srcdir/../acspecific.m4]
-+set macros [exec sed -n $script $srcdir/../acspecific.m4 | grep -v -e AC_FUNC_GETLOADAVG -e F77]
-
- foreach mac $macros {
- send_user "$mac\n"
diff --git a/source/l/mozjs60/autoconf/autoconf.build b/source/l/mozjs60/autoconf/autoconf.build
deleted file mode 100755
index 05e53f1a..00000000
--- a/source/l/mozjs60/autoconf/autoconf.build
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/bin/sh
-
-# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-PKGNAM=autoconf
-VERSION=2.13
-BUILD=${BUILD:-1}
-
-NUMJOBS=${NUMJOBS:-" -j7 "}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-autoconf
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf autoconf-$VERSION
-tar xvf $CWD/autoconf-$VERSION.tar.xz || exit 1
-cd autoconf-$VERSION
-
-zcat $CWD/autoconf-2.13-consolidated_fixes-1.patch.gz | patch -p1 --verbose || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-# Build a temporary copy of autoconf-2.13 only to be used to compile
-# js52, since it somewhat inexplicably requires this ancient version:
-
-rm -rf $TMP/autoconf-tmp
-mkdir -p $TMP/autoconf-tmp
-# This will be at the beginning of the $PATH, so protect against nonsense
-# happening in /tmp:
-chmod 700 $TMP/autoconf-tmp
-rm -rf $TMP/autoconf-tmp/*
-mkdir -p $TMP/autoconf-tmp/usr
-
-./configure \
- --prefix=$TMP/autoconf-tmp/usr \
- --program-suffix=-2.13 \
- --infodir=$TMP/autoconf-tmp/usr/info \
- --mandir=$TMP/autoconf-tmp/usr/man \
- --build=$ARCH-slackware-linux || exit 1
-
-make $NUMJOBS || make || exit 1
-make install || exit 1
-
diff --git a/source/l/mozjs60/mozjs60.SlackBuild b/source/l/mozjs60/mozjs60.SlackBuild
deleted file mode 100755
index 1c35eb12..00000000
--- a/source/l/mozjs60/mozjs60.SlackBuild
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/bin/bash
-
-# Slackware build script for SpiderMonkey
-
-# Copyright 2011, 2018 Robby Workman, Tuscaloosa, Alabama, USA
-# Copyright 2019 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=mozjs60
-SRCNAME=firefox
-VERSION=60.9.0esr
-BUILD=${BUILD:-1}
-
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $SRCNAME-$VERSION ; rm -rf $SRCNAME-$(echo $VERSION | cut -f 1 -d e)
-# Unpack this in a subdirectory to prevent changing permissions on /tmp:
-rm -rf firefox-unpack
-mkdir firefox-unpack
-cd firefox-unpack
-tar xvf $CWD/$SRCNAME-$VERSION.source.tar.?z || exit 1
-mv * ..
-cd ..
-rm -rf firefox-unpack
-cd $SRCNAME-$(echo $VERSION | cut -f 1 -d e) || cd $SRCNAME-$VERSION || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# We need to use the incredibly ancient autoconf-2.13 for this :/
-( cd $CWD/autoconf ; ./autoconf.build )
-PATH=$TMP/autoconf-tmp/usr/bin:$PATH
-
-# Patches from Fedora:
-zcat $CWD/patches/fix-soname.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/copy-headers.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/tests-increase-timeout.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/icu_sources_data-Write-command-output-to-our-stderr.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/emitter.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/emitter_test.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/init_patch.patch.gz | patch -p1 --verbose || exit 1
-
-# DON'T APPLY THIS ONE UNLESS YOU ENJOY A FAILED COMPILE:
-#zcat $CWD/patches/build-icu-big-endian.patch.gz | patch -p1 --verbose || exit 1
-
-zcat $CWD/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch.gz | patch -p1 --verbose || exit 1
-
-# Remove bundled security libraries so that we don't link to them:
-rm -rf security
-
-# Remove bundled zlib directory and use system version:
-rm -rf modules/zlib
-
-cd js/src
-
-# We need to do this because patches above touch configure.in:
-autoconf-2.13
-
-CFLAGS+="$SLKCFLAGS -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp " \
-CXXFLAGS+="$SLKCFLAGS -fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp " \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --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 \
- --disable-jemalloc \
- --build=$ARCH-slackware-linux \
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# No need for the huge static library:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libjs_static.*
-
-# Don't ship -config:
-rm -f $PKG/usr/bin/js*-config
-
-# Rename shared library to have a proper soname:
-mv $PKG/usr/lib${LIBDIRSUFFIX}/libmozjs-60.so $PKG/usr/lib${LIBDIRSUFFIX}/libmozjs-60.so.0.0.0
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- ln -sf libmozjs-60.so.0.0.0 libmozjs-60.so.0
- ln -sf libmozjs-60.so.0 libmozjs-60.so
-)
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp ../../README.txt README.html $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch b/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch
deleted file mode 100644
index 81474a42..00000000
--- a/source/l/mozjs60/patches/Always-use-the-equivalent-year-to-determine-the-time-zone.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From: =?utf-8?q?Andr=C3=A9_Bargull?= <andrebargull@googlemail.com>
-Date: Wed, 8 Nov 2017 03:23:41 -0800
-Subject: Always use the equivalent year to determine the time zone offset and
- name
-
-Reviewed-by: Jeff Walden
-Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415202
-Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1479687
-Origin: upstream
-Applied-upstream: 62, commit:https://hg.mozilla.org/mozilla-central/rev/ce9f1466ec78
----
- js/src/jsdate.cpp | 11 +++++++----
- js/src/vm/Time.cpp | 14 ++++----------
- js/src/vm/Time.h | 2 +-
- 3 files changed, 12 insertions(+), 15 deletions(-)
-
-diff --git a/js/src/jsdate.cpp b/js/src/jsdate.cpp
-index 07af3d18c865..ff8fd6c3763c 100644
---- a/js/src/jsdate.cpp
-+++ b/js/src/jsdate.cpp
-@@ -2353,12 +2353,15 @@ static PRMJTime ToPRMJTime(double localTime, double utcTime) {
- static size_t FormatTime(char* buf, int buflen, const char* fmt, double utcTime,
- double localTime) {
- PRMJTime prtm = ToPRMJTime(localTime, utcTime);
-- int eqivalentYear = IsRepresentableAsTime32(utcTime)
-- ? prtm.tm_year
-- : EquivalentYearForDST(prtm.tm_year);
-+ // If an equivalent year was used to compute the date/time components, use
-+ // the same equivalent year to determine the time zone name and offset in
-+ // PRMJ_FormatTime(...).
-+ int timeZoneYear = IsRepresentableAsTime32(utcTime)
-+ ? prtm.tm_year
-+ : EquivalentYearForDST(prtm.tm_year);
- int offsetInSeconds = (int)floor((localTime - utcTime) / msPerSecond);
-
-- return PRMJ_FormatTime(buf, buflen, fmt, &prtm, eqivalentYear,
-+ return PRMJ_FormatTime(buf, buflen, fmt, &prtm, timeZoneYear,
- offsetInSeconds);
- }
-
-diff --git a/js/src/vm/Time.cpp b/js/src/vm/Time.cpp
-index f59977f0d0e9..5ee4794b3e83 100644
---- a/js/src/vm/Time.cpp
-+++ b/js/src/vm/Time.cpp
-@@ -247,7 +247,7 @@ static void PRMJ_InvalidParameterHandler(const wchar_t* expression,
-
- /* Format a time value into a buffer. Same semantics as strftime() */
- size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt,
-- const PRMJTime* prtm, int equivalentYear,
-+ const PRMJTime* prtm, int timeZoneYear,
- int offsetInSeconds) {
- size_t result = 0;
- #if defined(XP_UNIX) || defined(XP_WIN)
-@@ -280,7 +280,8 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt,
- * Fill out |td| to the time represented by |prtm|, leaving the
- * timezone fields zeroed out. localtime_r will then fill in the
- * timezone fields for that local time according to the system's
-- * timezone parameters.
-+ * timezone parameters. Use |timeZoneYear| for the year to ensure the
-+ * time zone name matches the time zone offset used by the caller.
- */
- struct tm td;
- memset(&td, 0, sizeof(td));
-@@ -290,19 +291,12 @@ size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt,
- td.tm_mday = prtm->tm_mday;
- td.tm_mon = prtm->tm_mon;
- td.tm_wday = prtm->tm_wday;
-- td.tm_year = prtm->tm_year - 1900;
-+ td.tm_year = timeZoneYear - 1900;
- td.tm_yday = prtm->tm_yday;
- td.tm_isdst = prtm->tm_isdst;
-
- time_t t = mktime(&td);
-
-- // If |prtm| cannot be represented in |time_t| the year is probably
-- // out of range, try again with the DST equivalent year.
-- if (t == static_cast<time_t>(-1)) {
-- td.tm_year = equivalentYear - 1900;
-- t = mktime(&td);
-- }
--
- // If either mktime or localtime_r failed, fill in the fallback time
- // zone offset |offsetInSeconds| and set the time zone identifier to
- // the empty string.
-diff --git a/js/src/vm/Time.h b/js/src/vm/Time.h
-index 3a51d869c922..37b7faeec028 100644
---- a/js/src/vm/Time.h
-+++ b/js/src/vm/Time.h
-@@ -49,7 +49,7 @@ inline void PRMJ_NowShutdown() {}
-
- /* Format a time value into a buffer. Same semantics as strftime() */
- extern size_t PRMJ_FormatTime(char* buf, int buflen, const char* fmt,
-- const PRMJTime* tm, int equivalentYear,
-+ const PRMJTime* tm, int timeZoneYear,
- int offsetInSeconds);
-
- /**
---
-2.21.0
-
diff --git a/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch b/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch
deleted file mode 100644
index 46d280d0..00000000
--- a/source/l/mozjs60/patches/Save-and-restore-non-volatile-x28-on-ARM64-for-generated-unboxed-object-constructor.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-# HG changeset patch
-# User Lars T Hansen <lhansen@mozilla.com>
-# Date 1519822672 -3600
-# Node ID 800abe66894d6b07b24bccecbf6a65e2261076f6
-# Parent 223c97459e96183eb616aed39147207bdb953ba8
-Bug 1375074 - Save and restore non-volatile x28 on ARM64 for generated unboxed object constructor. r=sstangl
-
-Origin: upstream
-Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/800abe66894d
----
- js/src/vm/UnboxedObject.cpp | 30 ++++++++++++++++++++++++++----
- 1 file changed, 26 insertions(+), 4 deletions(-)
-
-diff --git a/js/src/vm/UnboxedObject.cpp b/js/src/vm/UnboxedObject.cpp
-index 35ca20d7405f..1c20a1093d13 100644
---- a/js/src/vm/UnboxedObject.cpp
-+++ b/js/src/vm/UnboxedObject.cpp
-@@ -86,9 +86,16 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1;
- #endif
-
- #ifdef JS_CODEGEN_ARM64
-- // ARM64 communicates stack address via sp, but uses a pseudo-sp for
-- // addressing.
-- masm.initStackPtr();
-+ // ARM64 communicates stack address via sp, but uses a pseudo-sp (PSP) for
-+ // addressing. The register we use for PSP may however also be used by
-+ // calling code, and it is nonvolatile, so save it. Do this as a special
-+ // case first because the generic save/restore code needs the PSP to be
-+ // initialized already.
-+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
-+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
-+
-+ // Initialize the PSP from the SP.
-+ masm.initStackPtr();
- #endif
-
- MOZ_ASSERT(propertiesReg.volatile_());
-@@ -239,7 +246,22 @@ static const uintptr_t CLEAR_CONSTRUCTOR_CODE_TOKEN = 0x1;
- if (ScratchDoubleReg.volatile_()) masm.pop(ScratchDoubleReg);
- masm.PopRegsInMask(savedNonVolatileRegisters);
-
-- masm.abiret();
-+#ifdef JS_CODEGEN_ARM64
-+ // Now restore the value that was in the PSP register on entry, and return.
-+
-+ // Obtain the correct SP from the PSP.
-+ masm.Mov(sp, PseudoStackPointer64);
-+
-+ // Restore the saved value of the PSP register, this value is whatever the
-+ // caller had saved in it, not any actual SP value, and it must not be
-+ // overwritten subsequently.
-+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
-+
-+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
-+ masm.Ret(vixl::lr);
-+#else
-+ masm.abiret();
-+#endif
-
- masm.bind(&failureStoreOther);
-
---
-2.21.0
-
diff --git a/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch b/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch
deleted file mode 100644
index 3886c0e9..00000000
--- a/source/l/mozjs60/patches/Save-x28-before-clobbering-it-in-the-regex-compiler.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-# HG changeset patch
-# User Lars T Hansen <lhansen@mozilla.com>
-# Date 1521449886 -3600
-# Node ID 903a79a1efff18fc7cc50db09a3fe5d768adc9a8
-# Parent 4d2955a9ca7e30ca4c3af9c214ccc77fb2fe7fb8
-Bug 1445907 - Save x28 before clobbering it in the regex compiler. r=sstangl
-
-Origin: upstream
-Applied-upstream: 61, commit: https://hg.mozilla.org/mozilla-central/rev/903a79a1efff
----
-diff --git a/js/src/irregexp/NativeRegExpMacroAssembler.cpp b/js/src/irregexp/NativeRegExpMacroAssembler.cpp
---- a/js/src/irregexp/NativeRegExpMacroAssembler.cpp
-+++ b/js/src/irregexp/NativeRegExpMacroAssembler.cpp
-@@ -118,17 +118,25 @@ NativeRegExpMacroAssembler::GenerateCode
-
- Label return_temp0;
-
- // Finalize code - write the entry point code now we know how many
- // registers we need.
- masm.bind(&entry_label_);
-
- #ifdef JS_CODEGEN_ARM64
-- // ARM64 communicates stack address via sp, but uses a pseudo-sp for addressing.
-+ // ARM64 communicates stack address via SP, but uses a pseudo-sp (PSP) for
-+ // addressing. The register we use for PSP may however also be used by
-+ // calling code, and it is nonvolatile, so save it. Do this as a special
-+ // case first because the generic save/restore code needs the PSP to be
-+ // initialized already.
-+ MOZ_ASSERT(PseudoStackPointer64.Is(masm.GetStackPointer64()));
-+ masm.Str(PseudoStackPointer64, vixl::MemOperand(sp, -16, vixl::PreIndex));
-+
-+ // Initialize the PSP from the SP.
- masm.initStackPtr();
- #endif
-
- // Push non-volatile registers which might be modified by jitcode.
- size_t pushedNonVolatileRegisters = 0;
- for (GeneralRegisterForwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter) {
- masm.Push(*iter);
- pushedNonVolatileRegisters++;
-@@ -416,17 +424,32 @@ NativeRegExpMacroAssembler::GenerateCode
- masm.pop(temp0);
- masm.movePtr(temp0, StackPointer);
- #endif
-
- // Restore non-volatile registers which were saved on entry.
- for (GeneralRegisterBackwardIterator iter(savedNonVolatileRegisters); iter.more(); ++iter)
- masm.Pop(*iter);
-
-+#ifdef JS_CODEGEN_ARM64
-+ // Now restore the value that was in the PSP register on entry, and return.
-+
-+ // Obtain the correct SP from the PSP.
-+ masm.Mov(sp, PseudoStackPointer64);
-+
-+ // Restore the saved value of the PSP register, this value is whatever the
-+ // caller had saved in it, not any actual SP value, and it must not be
-+ // overwritten subsequently.
-+ masm.Ldr(PseudoStackPointer64, vixl::MemOperand(sp, 16, vixl::PostIndex));
-+
-+ // Perform a plain Ret(), as abiret() will move SP <- PSP and that is wrong.
-+ masm.Ret(vixl::lr);
-+#else
- masm.abiret();
-+#endif
-
- // Backtrack code (branch target for conditional backtracks).
- if (backtrack_label_.used()) {
- masm.bind(&backtrack_label_);
- Backtrack();
- }
-
- // Backtrack stack overflow code.
-diff --git a/js/src/jit-test/tests/regexp/bug1445907.js b/js/src/jit-test/tests/regexp/bug1445907.js
-new file mode 100644
---- /dev/null
-+++ b/js/src/jit-test/tests/regexp/bug1445907.js
-@@ -0,0 +1,15 @@
-+// On ARM64, we failed to save x28 properly when generating code for the regexp
-+// matcher.
-+//
-+// There's wasm and Debugger code here because the combination forces the use of
-+// x28 and exposes the bug when running on the simulator.
-+
-+if (!wasmIsSupported())
-+ quit();
-+
-+var g = newGlobal('');
-+var dbg = new Debugger(g);
-+g.eval(`var m = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary('(module (func (export "test")))')))`);
-+var re = /./;
-+dbg.onEnterFrame = function(frame) { re.exec("x") };
-+result = g.eval("m.exports.test()");
-
---
-2.21.0
-
diff --git a/source/l/mozjs60/patches/build-icu-big-endian.patch b/source/l/mozjs60/patches/build-icu-big-endian.patch
deleted file mode 100644
index 2cfc8396..00000000
--- a/source/l/mozjs60/patches/build-icu-big-endian.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up firefox-60.0/build/autoconf/icu.m4.icu firefox-60.0/build/autoconf/icu.m4
---- firefox-60.0/build/autoconf/icu.m4.icu 2018-04-24 13:13:03.938961958 +0200
-+++ firefox-60.0/build/autoconf/icu.m4 2018-04-24 13:14:44.472714375 +0200
-@@ -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"
-
- MOZ_ICU_DATA_ARCHIVE=
- fi
-
diff --git a/source/l/mozjs60/patches/copy-headers.patch b/source/l/mozjs60/patches/copy-headers.patch
deleted file mode 100644
index aec3b10a..00000000
--- a/source/l/mozjs60/patches/copy-headers.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Wed, 5 Jul 2017 22:45:59 -0700
-Subject: build: Copy headers on install instead of symlinking
-
-Patch ported forward to mozjs52 by Philip Chimento
-<philip.chimento@gmail.com>.
----
- 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 dd9020d..6918ef8 100644
---- a/python/mozbuild/mozbuild/backend/recursivemake.py
-+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
-@@ -1427,11 +1427,11 @@ class RecursiveMakeBackend(CommonBackend):
- raise Exception("Wildcards are only supported in the filename part of "
- "srcdir-relative or absolute paths.")
-
-- install_manifest.add_pattern_link(basepath, wild, path)
-+ install_manifest.add_pattern_copy(basepath, wild, path)
- else:
-- install_manifest.add_pattern_link(f.srcdir, f, path)
-+ install_manifest.add_pattern_copy(f.srcdir, f, path)
- else:
-- install_manifest.add_link(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/source/l/mozjs60/patches/emitter.patch b/source/l/mozjs60/patches/emitter.patch
deleted file mode 100644
index 0f414d7c..00000000
--- a/source/l/mozjs60/patches/emitter.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/python/mozbuild/mozbuild/frontend/emitter.py
-+++ b/python/mozbuild/mozbuild/frontend/emitter.py
-@@ -1127,11 +1127,6 @@
- raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
- 'does not exist: %s (resolved to %s)' % (local_include,
- full_path), context)
-- if (full_path == context.config.topsrcdir or
-- full_path == context.config.topobjdir):
-- raise SandboxValidationError('Path specified in LOCAL_INCLUDES '
-- 'is not allowed: %s (resolved to %s)' % (local_include,
-- full_path), context)
- include_obj = LocalInclude(context, local_include)
- local_includes.append(include_obj.path.full_path)
- yield include_obj
-
diff --git a/source/l/mozjs60/patches/emitter_test.patch b/source/l/mozjs60/patches/emitter_test.patch
deleted file mode 100644
index dad8ddc1..00000000
--- a/source/l/mozjs60/patches/emitter_test.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
-+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
-@@ -999,22 +999,6 @@
-
- self.assertEqual(local_includes, expected)
-
-- def test_local_includes_invalid(self):
-- """Test that invalid LOCAL_INCLUDES are properly detected."""
-- reader = self.reader('local_includes-invalid/srcdir')
--
-- with self.assertRaisesRegexp(
-- SandboxValidationError,
-- 'Path specified in LOCAL_INCLUDES is not allowed:'):
-- objs = self.read_topsrcdir(reader)
--
-- reader = self.reader('local_includes-invalid/objdir')
--
-- with self.assertRaisesRegexp(
-- SandboxValidationError,
-- 'Path specified in LOCAL_INCLUDES is not allowed:'):
-- objs = self.read_topsrcdir(reader)
--
- def test_generated_includes(self):
- """Test that GENERATED_INCLUDES is emitted correctly."""
- reader = self.reader('generated_includes')
-
diff --git a/source/l/mozjs60/patches/fix-soname.patch b/source/l/mozjs60/patches/fix-soname.patch
deleted file mode 100644
index fc8052a8..00000000
--- a/source/l/mozjs60/patches/fix-soname.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: "Laszlo Boszormenyi (GCS)" <gcs@debian.org>
-Date: Fri, 2 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 | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/config/rules.mk b/config/rules.mk
-index eb86b0c..1bb3988 100644
---- a/config/rules.mk
-+++ b/config/rules.mk
-@@ -359,6 +359,9 @@ endif
- endif
- EXTRA_DEPS += $(SYMBOLS_FILE)
- endif
-+
-+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
-+
- #
- # GNU doesn't have path length limitation
- #
diff --git a/source/l/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch b/source/l/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch
deleted file mode 100644
index 19c0cc05..00000000
--- a/source/l/mozjs60/patches/icu_sources_data-Write-command-output-to-our-stderr.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Simon McVittie <smcv@debian.org>
-Date: Mon, 9 Oct 2017 09:23:14 +0100
-Subject: icu_sources_data: Write command output to our stderr
-
-Saying "See output in /tmp/foobar" is all very well for a developer
-build, but on a buildd our /tmp is going to get thrown away after
-the build. Just log the usual way instead.
----
- intl/icu_sources_data.py | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
-index 8cf9290..7d2d983 100644
---- a/intl/icu_sources_data.py
-+++ b/intl/icu_sources_data.py
-@@ -84,16 +84,13 @@ def update_sources(topsrcdir):
-
- def try_run(name, command, cwd=None, **kwargs):
- try:
-- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f:
-- subprocess.check_call(command, cwd=cwd, stdout=f,
-+ subprocess.check_call(command, cwd=cwd, stdout=sys.stderr,
- stderr=subprocess.STDOUT, **kwargs)
- except subprocess.CalledProcessError:
-- print('''Error running "{}" in directory {}
-- See output in {}'''.format(' '.join(command), cwd, f.name),
-+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd),
- file=sys.stderr)
- return False
- else:
-- os.unlink(f.name)
- return True
-
-
diff --git a/source/l/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch b/source/l/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
deleted file mode 100644
index 5c75a895..00000000
--- a/source/l/mozjs60/patches/icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Simon McVittie <smcv@debian.org>
-Date: Mon, 9 Oct 2017 09:22:12 +0100
-Subject: icu_sources_data.py: Decouple from Mozilla build system
-
-mozpack.path is a wrapper around os.path that normalizes path
-separators on Windows, but on Unix we only have one path separator
-so there's nothing to normalize. Avoid needing to import all of it.
----
- intl/icu_sources_data.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
-index 98c0ccb..8cf9290 100644
---- a/intl/icu_sources_data.py
-+++ b/intl/icu_sources_data.py
-@@ -19,7 +19,9 @@ import subprocess
- import sys
- import tempfile
-
--from mozpack import path as mozpath
-+# Close enough
-+import os.path as mozpath
-+mozpath.normsep = lambda p: p
-
-
- def find_source_file(dir, filename):
diff --git a/source/l/mozjs60/patches/init_patch.patch b/source/l/mozjs60/patches/init_patch.patch
deleted file mode 100644
index 2c1db67c..00000000
--- a/source/l/mozjs60/patches/init_patch.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/python/mozbuild/mozbuild/configure/__init__.py
-+++ b/python/mozbuild/mozbuild/configure/__init__.py
-@@ -421,7 +421,7 @@
- # 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)
-+ # raise InvalidOptionError('Unknown option: %s' % without_value)
-
- # Run the execution queue
- for func, args in self._execution_queue:
-
diff --git a/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch b/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch
deleted file mode 100644
index d7ac4410..00000000
--- a/source/l/mozjs60/patches/tests-For-tests-that-are-skipped-on-64-bit-mips64-is-also.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Simon McVittie <smcv@debian.org>
-Date: Mon, 9 Oct 2017 09:46:31 +0100
-Subject: tests: For tests that are skipped on 64-bit, mips64 is also 64-bit
-
-mips64 is a 64-bit platform and a Debian release architecture.
----
- js/src/tests/non262/Array/regress-157652.js | 2 +-
- js/src/tests/non262/Array/regress-330812.js | 2 +-
- js/src/tests/non262/regress/regress-422348.js | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/js/src/tests/non262/Array/regress-157652.js b/js/src/tests/non262/Array/regress-157652.js
-index 6916fe1..b21dcc3 100644
---- a/js/src/tests/non262/Array/regress-157652.js
-+++ b/js/src/tests/non262/Array/regress-157652.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)||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/non262/Array/regress-330812.js b/js/src/tests/non262/Array/regress-330812.js
-index c48f4c8..6b1ba2a 100644
---- a/js/src/tests/non262/Array/regress-330812.js
-+++ b/js/src/tests/non262/Array/regress-330812.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)||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/non262/regress/regress-422348.js b/js/src/tests/non262/regress/regress-422348.js
-index 2c28d5a..e94c397 100644
---- a/js/src/tests/non262/regress/regress-422348.js
-+++ b/js/src/tests/non262/regress/regress-422348.js
-@@ -1,4 +1,4 @@
--// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) -- On 64-bit, takes forever rather than throwing
-+// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x|mips64/)) -- 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/source/l/mozjs60/patches/tests-increase-timeout.patch b/source/l/mozjs60/patches/tests-increase-timeout.patch
deleted file mode 100644
index 91f5fa76..00000000
--- a/source/l/mozjs60/patches/tests-increase-timeout.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Adrian Bunk <bunk@debian.org>
-Date: Tue, 3 Jul 2018 10:03:37 +0100
-Subject: Increase the test timeout for slower buildds
-
-Bug-Debian: https://bugs.debian.org/878284
----
- js/src/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/Makefile.in b/js/src/Makefile.in
-index 4ac9f48..6ab5582 100644
---- a/js/src/Makefile.in
-+++ b/js/src/Makefile.in
-@@ -72,7 +72,7 @@ check:: check-style check-masm check-js-msg check-opcode
-
- check-jstests:
- $(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON) -u $(srcdir)/tests/jstests.py \
-- --no-progress --format=automation --timeout 300 \
-+ --no-progress --format=automation --timeout 600 \
- $(JSTESTS_EXTRA_ARGS) \
- $(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)
-
diff --git a/source/l/mozjs60/slack-desc b/source/l/mozjs60/slack-desc
deleted file mode 100644
index 496f7cfa..00000000
--- a/source/l/mozjs60/slack-desc
+++ /dev/null
@@ -1,20 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-mozjs60: mozjs60 (Mozilla's JavaScript Engine)
-mozjs60:
-mozjs60: SpiderMonkey is Mozilla's JavaScript engine written in C/C++. It is
-mozjs60: used in various Mozilla products (including Firefox) and is available
-mozjs60: under MPL/GPL/LGPL tri-license.
-mozjs60:
-mozjs60: Homepage:
-mozjs60: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
-mozjs60:
-mozjs60:
-mozjs60:
-mozjs60: