NEW 260210
[GTK] webkitgtk 2.41.90 fails to build on riscv64 JSC/wasm/WasmB3IRGenerator.cpp
https://bugs.webkit.org/show_bug.cgi?id=260210
Summary [GTK] webkitgtk 2.41.90 fails to build on riscv64 JSC/wasm/WasmB3IRGenerator.cpp
Jeremy Bicha
Reported 2023-08-15 11:12:01 PDT
- webkitgtk 2.41.90 - Ubuntu 23.10 - https://salsa.debian.org/webkit-team/webkit/-/blob/wk2/experimental/debian/rules - https://salsa.debian.org/webkit-team/webkit/-/blob/wk2/experimental/debian/control webkitgtk 2.41.90 fails to build on riscv64 but seems to build ok on our other architectures. Full build log --------------- https://launchpad.net/ubuntu/+source/webkit2gtk/2.41.90-1ubuntu1 Build log excerpt ------------------ In file included from JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-1.cpp:1: /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: In member function ‘JSC::Wasm::B3IRGenerator::PartialResult JSC::Wasm::B3IRGenerator::addI32Popcnt(ExpressionType, JSC::B3::Variable*&)’: /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:5214:25: error: ‘supportsCountPopulation’ is not a member of ‘JSC::MacroAssembler’ 5214 | if (MacroAssembler::supportsCountPopulation()) { | ^~~~~~~~~~~~~~~~~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: In lambda function: /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:5224:17: error: ‘class JSC::CCallHelpers’ has no member named ‘countPopulation32’ 5224 | jit.countPopulation32(params[1].gpr(), params[0].gpr(), params.fpScratch(0)); | ^~~~~~~~~~~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: In member function ‘JSC::Wasm::B3IRGenerator::PartialResult JSC::Wasm::B3IRGenerator::addI64Popcnt(ExpressionType, JSC::B3::Variable*&)’: /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:5241:25: error: ‘supportsCountPopulation’ is not a member of ‘JSC::MacroAssembler’ 5241 | if (MacroAssembler::supportsCountPopulation()) { | ^~~~~~~~~~~~~~~~~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: In lambda function: /<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:5251:17: error: ‘class JSC::CCallHelpers’ has no member named ‘countPopulation64’ 5251 | jit.countPopulation64(params[1].gpr(), params[0].gpr(), params.fpScratch(0)); | ^~~~~~~~~~~~~~~~~
Attachments
Jeremy Bicha
Comment 1 2023-08-15 11:14:32 PDT
Debian is in the process of rebootstrapping their riscv64 architecture in preparation for it to become an official "release" architecture so the latest webkitgtk isn't yet buildable there. But it had the same error in 2.41.4, 2.41.5, and 2.41.6 https://buildd.debian.org/status/logs.php?pkg=webkit2gtk&arch=riscv64
Alberto Garcia
Comment 2 2023-09-01 05:45:04 PDT
So ENABLE_FTL_DEFAULT is on in riscv64, that enables WEBASSEMBLY_B3JIT, which is what results in WasmB3IRGenerator.cpp being built. However supportsCountPopulation() is not defined in Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h I don't know what's the best way to proceed here, but I suppose that disabling FTL in riscv64 would work around the problem.
Note You need to log in before you can comment on or make changes to this bug.