--- /dev/null
+--- 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)
+
+
+-@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)
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
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%ifarch x32
+%patch4 -p1
+%endif
%build
export PYTHON="%{__python}"
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
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");
+