Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
feat: initial js68 support
- Loading branch information
1 parent
7a653fa
commit 7c7eb6dc0f181f717872bbce9a8a7e2a00dccaa4
Showing
19 changed files
with
734 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -25,3 +25,4 @@ stage/ | ||
*.tar.gz | ||
*.bak | ||
*~ | ||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,29 @@ | ||
From b9e1976edca1af828a219d5ac35d07202170e5ba Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com> | ||
Date: Mon, 24 Aug 2020 15:45:36 +0200 | ||
Subject: [PATCH] Exclude failing tests on s390x | ||
|
||
--- | ||
js/src/tests/jstests.list | 6 ++++++ | ||
1 file changed, 6 insertions(+) | ||
|
||
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list | ||
index 8f5c0df..75f80f8 100644 | ||
--- a/js/src/tests/jstests.list | ||
+++ b/js/src/tests/jstests.list | ||
@@ -493,6 +493,12 @@ skip script test262/language/expressions/class/elements/derived-cls-direct-eval- | ||
skip script test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-1.js | ||
skip script test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-2.js | ||
|
||
+# Crashes on s390x and ppc64, avoid it | ||
+skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js | ||
+ | ||
+# Crashes on s390x | ||
+skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js | ||
+skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script non262/Intl/DateTimeFormat/timeZone_backward_links.js | ||
|
||
########################################################### | ||
# Tests disabled due to issues in test262 importer script # | ||
-- | ||
2.26.2 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,72 @@ | ||
Description: Remove unused LLVM and Rust build dependencies | ||
Since the Javascript engine is normally part of Firefox, its build | ||
system has dependencies on the LLVM and Rust toolchains. This limits | ||
the number of architectures which mozjs68 can be built on. | ||
. | ||
It turns out, however, that neither LLVM nor Rust are used when mozjs68 | ||
is being built and these build dependencies are therefore not necessary. | ||
. | ||
This patch removes them and allows mozjs68 to be built on any architecture. | ||
. | ||
Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> | ||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959144 | ||
Forwarded: no | ||
Last-Update: 2020-04-30 | ||
|
||
Index: mozjs68-68.6.0/js/moz.configure | ||
=================================================================== | ||
--- mozjs68-68.6.0.orig/js/moz.configure | ||
+++ mozjs68-68.6.0/js/moz.configure | ||
@@ -18,11 +18,6 @@ def building_js(build_project): | ||
option(env='JS_STANDALONE', default=building_js, | ||
help='Reserved for internal use') | ||
|
||
-include('../build/moz.configure/rust.configure', | ||
- when='--enable-compile-environment') | ||
-include('../build/moz.configure/bindgen.configure', | ||
- when='--enable-compile-environment') | ||
- | ||
@depends('JS_STANDALONE') | ||
def js_standalone(value): | ||
if value: | ||
Index: mozjs68-68.6.0/moz.configure | ||
=================================================================== | ||
--- mozjs68-68.6.0.orig/moz.configure | ||
+++ mozjs68-68.6.0/moz.configure | ||
@@ -598,36 +598,6 @@ set_config('MAKENSISU_FLAGS', nsis_flags | ||
|
||
check_prog('7Z', ('7z', '7za'), allow_missing=True, when=target_is_windows) | ||
|
||
- | ||
-@depends(host_c_compiler, c_compiler, bindgen_config_paths) | ||
-def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths): | ||
- clang = None | ||
- for compiler in (host_c_compiler, c_compiler): | ||
- if compiler and compiler.type == 'clang': | ||
- clang = compiler.compiler | ||
- break | ||
- elif compiler and compiler.type == 'clang-cl': | ||
- clang = os.path.join(os.path.dirname(compiler.compiler), 'clang') | ||
- break | ||
- | ||
- if not clang and bindgen_config_paths: | ||
- clang = bindgen_config_paths.clang_path | ||
- llvm_objdump = 'llvm-objdump' | ||
- if clang: | ||
- out = check_cmd_output(clang, '--print-prog-name=llvm-objdump', | ||
- onerror=lambda: None) | ||
- if out: | ||
- llvm_objdump = out.rstrip() | ||
- return (llvm_objdump,) | ||
- | ||
- | ||
-llvm_objdump = check_prog('LLVM_OBJDUMP', llvm_objdump, what='llvm-objdump', | ||
- when='--enable-compile-environment', | ||
- paths=toolchain_search_path) | ||
- | ||
-add_old_configure_assignment('LLVM_OBJDUMP', llvm_objdump) | ||
- | ||
- | ||
# Please do not add configure checks from here on. | ||
|
||
# Fallthrough to autoconf-based configure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,10 @@ | ||
--- firefox-68.0/js/src/wasm/WasmSignalHandlers.cpp | ||
+++ firefox-68.0/js/src/wasm/WasmSignalHandlers.cpp | ||
@@ -243,7 +243,7 @@ | ||
// If you run into compile problems on a tier-3 platform, you can disable the | ||
// emulation here. | ||
|
||
-#if defined(__linux__) && defined(__arm__) | ||
+#if 0 && defined(__linux__) && defined(__arm__) | ||
# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,12 @@ | ||
diff -up firefox-68.0/build/autoconf/icu.m4.icu firefox-68.0/build/autoconf/icu.m4 | ||
--- firefox-68.0/build/autoconf/icu.m4.icu 2018-04-24 13:13:03.938961958 +0200 | ||
+++ firefox-68.0/build/autoconf/icu.m4 2018-04-24 13:14:44.472714375 +0200 | ||
@@ -78,7 +78,7 @@ | ||
# 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" | ||
fi | ||
|
||
AC_SUBST(MOZ_ICU_VERSION) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,29 @@ | ||
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' % ( |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,14 @@ | ||
--- a/python/mozbuild/mozbuild/frontend/emitter.py | ||
+++ b/python/mozbuild/mozbuild/frontend/emitter.py | ||
@@ -1195,11 +1195,6 @@ | ||
raise SandboxValidationError('Path specified in LOCAL_INCLUDES ' | ||
'is a filename, but a directory is required: %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 ' | ||
- '(%s) resolves to the topsrcdir or topobjdir (%s), which is ' | ||
- 'not allowed' % (local_include, full_path), context) | ||
include_obj = LocalInclude(context, local_include) | ||
local_includes.append(include_obj.path.full_path) | ||
yield include_obj |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,27 @@ | ||
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py | ||
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py | ||
@@ -1051,24 +1051,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.*resolves to the ' | ||
- 'topsrcdir or topobjdir'): | ||
- objs = self.read_topsrcdir(reader) | ||
- | ||
- reader = self.reader('local_includes-invalid/objdir') | ||
- | ||
- with self.assertRaisesRegexp( | ||
- SandboxValidationError, | ||
- 'Path specified in LOCAL_INCLUDES.*resolves to the ' | ||
- 'topsrcdir or topobjdir'): | ||
- objs = self.read_topsrcdir(reader) | ||
- | ||
def test_local_includes_file(self): | ||
"""Test that a filename can't be used in LOCAL_INCLUDES.""" | ||
reader = self.reader('local_includes-filename') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,25 @@ | ||
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 | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,34 @@ | ||
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 | ||
@@ -187,16 +187,13 @@ | ||
|
||
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, | ||
- stderr=subprocess.STDOUT, **kwargs) | ||
+ 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), | ||
- file=sys.stderr) | ||
+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd), | ||
+ file=sys.stderr) | ||
return False | ||
else: | ||
- os.unlink(f.name) | ||
return True |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,26 @@ | ||
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 | ||
@@ -21,7 +21,9 @@ | ||
import sys | ||
import tempfile | ||
|
||
-from mozpack import path as mozpath | ||
+# Close enough | ||
+import os.path as mozpath | ||
+mozpath.normsep = lambda p: p | ||
|
||
# The following files have been determined to be dead/unused by a | ||
# semi-automated analysis. You can just remove any of the files below |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,13 @@ | ||
--- a/python/mozbuild/mozbuild/configure/__init__.py | ||
+++ b/python/mozbuild/mozbuild/configure/__init__.py | ||
@@ -473,8 +473,8 @@ | ||
msg = 'Unknown option: %s' % without_value | ||
if self._help: | ||
self._logger.warning(msg) | ||
- else: | ||
- raise InvalidOptionError(msg) | ||
+ #else: | ||
+ # raise InvalidOptionError(msg) | ||
|
||
# Run the execution queue | ||
for func, args in self._execution_queue: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,57 @@ | ||
From e75a1c531767f3efd158fd8309084cf5157307be Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com> | ||
Date: Tue, 5 Nov 2019 19:14:38 +0100 | ||
Subject: [PATCH] Python 3 | ||
|
||
--- | ||
js/src/jit-test/jit_test.py | 2 +- | ||
js/src/tests/lib/manifest.py | 5 ++++- | ||
js/src/tests/lib/tasks_unix.py | 3 +++ | ||
3 files changed, 8 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/js/src/jit-test/jit_test.py b/js/src/jit-test/jit_test.py | ||
index 8fcd0c5..f51c544 100755 | ||
--- a/js/src/jit-test/jit_test.py | ||
+++ b/js/src/jit-test/jit_test.py | ||
@@ -138,7 +138,7 @@ def main(argv): | ||
help='With --write-failures=FILE, additionally write the' | ||
' output of failed tests to [FILE]') | ||
op.add_option('--jitflags', dest='jitflags', default='none', | ||
- choices=valid_jitflags(), | ||
+ choices=list(valid_jitflags()), | ||
help='IonMonkey option combinations. One of %s.' % ', '.join(valid_jitflags())) | ||
op.add_option('--ion', dest='jitflags', action='store_const', const='ion', | ||
help='Run tests once with --ion-eager and once with' | ||
diff --git a/js/src/tests/lib/manifest.py b/js/src/tests/lib/manifest.py | ||
index 617f0f1..f54cc1e 100644 | ||
--- a/js/src/tests/lib/manifest.py | ||
+++ b/js/src/tests/lib/manifest.py | ||
@@ -105,7 +105,10 @@ class XULInfoTester: | ||
'-e', self.js_prologue, | ||
'-e', 'print(!!({}))'.format(cond) | ||
] | ||
- p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) | ||
+ try: | ||
+ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, encoding="utf-8") | ||
+ except TypeError: | ||
+ p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE) | ||
out, err = p.communicate() | ||
if out in ('true\n', 'true\r\n'): | ||
ans = True | ||
diff --git a/js/src/tests/lib/tasks_unix.py b/js/src/tests/lib/tasks_unix.py | ||
index 40528b8..5edfe92 100644 | ||
--- a/js/src/tests/lib/tasks_unix.py | ||
+++ b/js/src/tests/lib/tasks_unix.py | ||
@@ -182,6 +182,9 @@ def reap_zombies(tasks, timeout): | ||
if os.WIFSIGNALED(status): | ||
returncode = -os.WTERMSIG(status) | ||
|
||
+ ended.out=[x.decode('utf-8') for x in ended.out] | ||
+ ended.err=[x.decode('utf-8') for x in ended.err] | ||
+ | ||
finished.append( | ||
TestOutput( | ||
ended.test, | ||
-- | ||
2.23.0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1 @@ | ||
SHA512 (firefox-68.12.0esr.source.tar.xz) = 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,10 @@ | ||
--- a/config/run_spidermonkey_checks.py | ||
+++ b/config/run_spidermonkey_checks.py | ||
@@ -11,5 +11,5 @@ | ||
for script in scripts: | ||
retcode = subprocess.call( | ||
[sys.executable, script], cwd=buildconfig.topsrcdir) | ||
- if retcode != 0: | ||
- raise Exception(script + " failed") | ||
+ #if retcode != 0: | ||
+ # raise Exception(script + " failed") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,11 @@ | ||
--- a/config/check_spidermonkey_style.py | ||
+++ b/config/check_spidermonkey_style.py | ||
|
||
@@ -766,6 +766,7 @@ | ||
|
||
|
||
def main(): | ||
+ sys.exit(0) | ||
if sys.argv[1:] == ["--fixup"]: | ||
# Sort #include directives in-place. Fixup mode doesn't solve | ||
# all possible silliness that the script checks for; it's just a |
Oops, something went wrong.