[packages/mozjs78] - enhanced x32 patch; need to disable JIT-specific assert with JS_CODEGEN_NONE - added x32-rust patc

qboosh qboosh at pld-linux.org
Wed Oct 7 22:41:00 CEST 2020


commit 5ad300fe12288b0e2ecbbfca45af2e8e492bf089
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Oct 7 22:40:49 2020 +0200

    - enhanced x32 patch; need to disable JIT-specific assert with JS_CODEGEN_NONE
    - added x32-rust patch (disable configure vs rustc host validation on x32)

 mozjs78-x32-rust.patch | 19 +++++++++++++++++++
 mozjs78.spec           |  4 ++++
 x32.patch              | 16 +++++++++++++++-
 3 files changed, 38 insertions(+), 1 deletion(-)
---
diff --git a/mozjs78.spec b/mozjs78.spec
index 3671b82..e9b4e06 100644
--- a/mozjs78.spec
+++ b/mozjs78.spec
@@ -16,6 +16,7 @@ Patch0:		copy-headers.patch
 Patch1:		system-virtualenv.patch
 Patch2:		include-configure-script.patch
 Patch3:		x32.patch
+Patch4:		%{name}-x32-rust.patch
 URL:		https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
 BuildRequires:	autoconf2_13 >= 2.13
 BuildRequires:	cargo
@@ -72,6 +73,9 @@ Pliki nagłówkowe do biblioteki JavaScript.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%ifarch x32
+%patch4 -p1
+%endif
 
 %build
 export PYTHON="%{__python}"
diff --git a/mozjs78-x32-rust.patch b/mozjs78-x32-rust.patch
new file mode 100644
index 0000000..b9747de
--- /dev/null
+++ b/mozjs78-x32-rust.patch
@@ -0,0 +1,19 @@
+--- firefox-78.2.0/build/moz.configure/rust.configure.orig	2020-08-17 20:33:34.000000000 +0200
++++ firefox-78.2.0/build/moz.configure/rust.configure	2020-10-07 18:29:15.458050574 +0200
+@@ -406,16 +406,6 @@
+ rust_host_triple = rust_triple_alias(host, host_c_compiler)
+ 
+ 
+- at depends(host, rust_host_triple, rustc_info.host)
+-def validate_rust_host_triple(host, rust_host, rustc_host):
+-    if rust_host != rustc_host:
+-        if host.alias == rust_host:
+-            configure_host = host.alias
+-        else:
+-            configure_host = '{}/{}'.format(host.alias, rust_host)
+-        die("The rust compiler host ({}) is not suitable for the configure host ({})."
+-            .format(rustc_host, configure_host))
+-
+ 
+ set_config('RUST_TARGET', rust_target_triple)
+ set_config('RUST_HOST_TARGET', rust_host_triple)
diff --git a/x32.patch b/x32.patch
index efcf419..6b26ccc 100644
--- a/x32.patch
+++ b/x32.patch
@@ -40,7 +40,8 @@ diff -ur mozjs-60.1.0/python/mozbuild/mozbuild/configure/constants.py mozjs-60.1
  CPU_preprocessor_checks = OrderedDict((
 +    ('x32', '__x86_64__ && __ILP32__'),
      ('x86', '__i386__ || _M_IX86'),
-     ('x86_64', '__x86_64__ || _M_X64'),
+-    ('x86_64', '__x86_64__ || _M_X64'),
++    ('x86_64', '(__x86_64__ && __ILP64__) || _M_X64'),
      ('arm', '__arm__ || _M_ARM'),
 --- firefox-68.7.0/js/src/vm/BigIntType.cpp~	2020-04-03 21:29:59.000000000 +0200
 +++ firefox-68.7.0/js/src/vm/BigIntType.cpp	2020-05-01 11:22:53.296439915 +0200
@@ -53,3 +54,16 @@ diff -ur mozjs-60.1.0/python/mozbuild/mozbuild/configure/constants.py mozjs-60.1
    Digit quotient;
    Digit rem;
    __asm__("divq  %[divisor]"
+--- firefox-78.2.0/js/src/gc/GC.cpp.orig	2020-08-17 20:33:37.000000000 +0200
++++ firefox-78.2.0/js/src/gc/GC.cpp	2020-10-07 21:30:17.245896073 +0200
+@@ -291,8 +291,10 @@
+               "CellFlagBitsReservedForGC should support LifoAlloc");
+ static_assert(CellAlignBytes >= MinFirstWordAlignment,
+               "CellFlagBitsReservedForGC should support gc::Cell");
++#ifndef JS_CODEGEN_NONE
+ static_assert(js::jit::CodeAlignment >= MinFirstWordAlignment,
+               "CellFlagBitsReservedForGC should support JIT code");
++#endif
+ static_assert(js::gc::JSClassAlignBytes >= MinFirstWordAlignment,
+               "CellFlagBitsReservedForGC should support JSClass pointers");
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mozjs78.git/commitdiff/5ad300fe12288b0e2ecbbfca45af2e8e492bf089



More information about the pld-cvs-commit mailing list