community/firefox: build issues with WasmBaselineCompile on aarch64
Firefox fails to build on aarch64:
Build errors
./home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:661:13: error: explicit specialization in non-namespace scope 'class js::wasm::BaseRegAlloc' 661 | template <> | ^ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:662:8: error: template-id 'hasFPU' in declaration of primary template 662 | bool hasFPU() { | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:747:17: error: too many template-parameter-lists 747 | FloatRegister allocFPU() { | ^~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:752:13: error: explicit specialization in non-namespace scope 'class js::wasm::BaseRegAlloc' 752 | template <> | ^ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:753:17: error: expected ';' at end of member declaration 753 | FloatRegister allocFPU() { | ^~~~~~~~ | ; /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:753:17: error: 'js::jit::FloatRegister js::wasm::BaseRegAlloc::allocFPU' conflicts with a previous declaration /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:738:8: note: previous declaration 'void js::wasm::BaseRegAlloc::allocFPU(js::jit::FloatRegister)' 738 | void allocFPU(FloatRegister r) { | ^~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:753:25: error: expected unqualified-id before '<' token 753 | FloatRegister allocFPU() { | ^ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp: In member function 'js::wasm::RegF32 js::wasm::BaseRegAlloc::needF32()': /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:937:27: error: invalid use of non-static member function 'void js::wasm::BaseRegAlloc::allocFPU(js::jit::FloatRegister)' 937 | return RegF32(allocFPU()); | ~~~~~~~~^~~~~~~~~~~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:738:8: note: declared here 738 | void allocFPU(FloatRegister r) { | ^~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:937:18: error: expected primary-expression before '(' token 937 | return RegF32(allocFPU()); | ^ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:937:27: error: invalid use of non-static member function 'void js::wasm::BaseRegAlloc::allocFPU(js::jit::FloatRegister)' 937 | return RegF32(allocFPU()); | ~~~~~~~~^~~~~~~~~~~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:738:8: note: declared here 738 | void allocFPU(FloatRegister r) { | ^~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:937:46: error: expected primary-expression before ')' token 937 | return RegF32(allocFPU()); | ^ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp: In member function 'js::wasm::RegF64 js::wasm::BaseRegAlloc::needF64()': /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:951:27: error: invalid use of non-static member function 'void js::wasm::BaseRegAlloc::allocFPU(js::jit::FloatRegister)' 951 | return RegF64(allocFPU()); | ~~~~~~~~^~~~~~~~~~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:738:8: note: declared here 738 | void allocFPU(FloatRegister r) { | ^~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:951:18: error: expected primary-expression before '(' token 951 | return RegF64(allocFPU()); | ^ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:951:27: error: invalid use of non-static member function 'void js::wasm::BaseRegAlloc::allocFPU(js::jit::FloatRegister)' 951 | return RegF64(allocFPU()); | ~~~~~~~~^~~~~~~~~~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:738:8: note: declared here 738 | void allocFPU(FloatRegister r) { | ^~~~~~~~ /home/buildozer/aports/community/firefox/src/firefox-83.0/js/src/wasm/WasmBaselineCompile.cpp:951:45: error: expected primary-expression before ')' token 951 | return RegF64(allocFPU()); | ^
See: https://build.alpinelinux.org/buildlogs/build-edge-aarch64/community/firefox/firefox-83.0-r1.log