quote from the log: In file included from /var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/build/js/src/wasm/Unified_cpp_js_src_wasm2.cpp:38: /var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/js/src/wasm/WasmSignalHandlers.cpp:539:19: error: field 'ufp' has incomplete type 'user_vfp' 539 | struct user_vfp ufp; | ^~~ /var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/js/src/wasm/WasmSignalHandlers.cpp:539:10: note: forward declaration of 'struct user_vfp' 539 | struct user_vfp ufp; | ^~~~~~~~ /var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/js/src/wasm/WasmSignalHandlers.cpp:540:23: error: field 'ufp_exc' has incomplete type 'user_vfp_exc' 540 | struct user_vfp_exc ufp_exc; | ^~~~~~~ /var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/js/src/wasm/WasmSignalHandlers.cpp:540:10: note: forward declaration of 'struct user_vfp_exc' 540 | struct user_vfp_exc ufp_exc; | ^~~~~~~~~~~~ make[3]: *** [/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/config/rules.mk:831: Unified_cpp_js_src_wasm2.o] Error 1 make[3]: Leaving directory '/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/build/js/src/wasm' make[2]: *** [/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/config/recurse.mk:74: js/src/wasm/target] Error 2 make[2]: Leaving directory '/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/build' make[1]: *** [/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/config/recurse.mk:34: compile] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/build' make: *** [/var/tmp/portage/dev-lang/spidermonkey-68.6.0/work/firefox-68.6.0/config/rules.mk:416: default] Error 2 * ERROR: dev-lang/spidermonkey-68.6.0::gentoo failed (compile phase): you have to cherry pick the patch from firefox-74 patch series named 2007_arm-fp-wasm-fixes.patch to fix this problem, it was never backported to the esr patchset. for more information on this, please see upstreams bug at https://bugzilla.mozilla.org/show_bug.cgi?id=1526653 I hope this is the correct bug number, bugzilla is down at the moment
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ded9c4a030c8cbbb047868d7264f24e1226a8642 commit ded9c4a030c8cbbb047868d7264f24e1226a8642 Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2020-04-03 21:06:06 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2020-04-03 21:06:42 +0000 dev-lang/spidermonkey: fix building on arm Closes: https://bugs.gentoo.org/716072 Package-Manager: Portage-2.3.96, Repoman-2.3.22 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> dev-lang/spidermonkey/Manifest | 2 +- dev-lang/spidermonkey/spidermonkey-68.6.0.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
the build now compiles fine on arm with gcc, and clang, with USE="+jit" and USE="-jit" on both compilers. however, you might want to pull in this fix from firefox for clang: https://github.com/gentoo/gentoo/blob/master/www-client/firefox/files/firefox-73.0_fix_llvm9.patch it's a very edgy case though, and I haven't tested if it's really needed for spidermonkey
We don't apply this against firefox-68.x so no need to apply this for spidermonkey.
according to the upstream bug, firefox-esr is also affected but marked as WONTFIX. not pulling it into the esr is a decision based on the fact that there is a non esr firefox with the fix. but the spidermonkey ebuild does have eapply_user, so the 2,5 users affected by this are hopefully clever enough to drop the patch in the right place ;-)
Firefox 68.x builds using latest clang/llvm without any problems. So I don't really understand why this patch should be necessary. How would you notice you need this patch if it compiles without the patch?
it's an edgy case, only happens with CC=clang and USE="+default-libcxx" for the clang used.