Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 716072 - =dev-lang/spidermonkey-68.0 fails to compile on arm with: js/src/wasm/WasmSignalHandlers.cpp:539:19: error: field 'ufp' has incomplete type 'user_vfp'
Summary: =dev-lang/spidermonkey-68.0 fails to compile on arm with: js/src/wasm/WasmSig...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-03 20:14 UTC by tt_1
Modified: 2020-04-05 21:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tt_1 2020-04-03 20:14:50 UTC
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
Comment 1 Larry the Git Cow gentoo-dev 2020-04-03 21:06:53 UTC
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(-)
Comment 2 tt_1 2020-04-05 17:00:27 UTC
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
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2020-04-05 17:29:14 UTC
We don't apply this against firefox-68.x so no need to apply this for spidermonkey.
Comment 4 tt_1 2020-04-05 20:44:35 UTC
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 ;-)
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2020-04-05 20:59:47 UTC
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?
Comment 6 tt_1 2020-04-05 21:17:10 UTC
it's an edgy case, only happens with CC=clang and USE="+default-libcxx" for the clang used.