- webkitgtk 2.39.90 - Debian Unstable/Experimental and Ubuntu 23.04 webkitgtk fails to build on riscv64. riscv64 is a release architecture for Ubuntu so this is blocking the update from reaching Ubuntu 23.04 users. The build logs suggest that 2.39.3 built fine on riscv64, but this error has occured since 2.39.5. I chose JavaScriptCore as the component for this bug report. Build logs ---------- Click Build-Attempted or Maybe-Failed at https://buildd.debian.org/status/package.php?p=webkit2gtk&suite=experimental https://buildd.debian.org/status/logs.php?pkg=webkit2gtk&arch=riscv64 Build log excerpt ----------------- [1612/6826] /usr/bin/ccache /usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DGETTEXT_PACKAGE=\"WebKitGTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/Headers -I/<<PKGBUILDDIR>>/build-soup2 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/assembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/air -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bindings -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/builtins -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecode -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecompiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/dfg -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/ARM64 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/zydis/Zydis -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/domjit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ftl -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/heap -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/debugger -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/agents -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/augmentable -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/interpreter -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/jit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/llint -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/parser -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/profiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/tools -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/js -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/yarr -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/inspector -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/runtime -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/yarr -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API/glib -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources/jsc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/Headers -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote/glib -I/<<PKGBUILDDIR>>/build-soup2/WTF/Headers -I/<<PKGBUILDDIR>>/build-soup2/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib/riscv64-linux-gnu/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g1 -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -fvisibility=hidden -ffp-contract=off -std=c++20 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o -c /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o /usr/bin/ccache /usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DGETTEXT_PACKAGE=\"WebKitGTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/Headers -I/<<PKGBUILDDIR>>/build-soup2 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/assembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/air -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bindings -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/builtins -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecode -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecompiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/dfg -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/ARM64 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/zydis/Zydis -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/domjit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ftl -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/heap -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/debugger -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/agents -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/augmentable -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/interpreter -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/jit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/llint -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/parser -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/profiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/tools -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/js -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/yarr -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/inspector -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/runtime -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/yarr -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API/glib -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources/jsc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/Headers -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote/glib -I/<<PKGBUILDDIR>>/build-soup2/WTF/Headers -I/<<PKGBUILDDIR>>/build-soup2/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib/riscv64-linux-gnu/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g1 -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -fvisibility=hidden -ffp-contract=off -std=c++20 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp.o -c /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp In file included from JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-9.cpp:5: /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp: In member function ‘void JSC::B3::{anonymous}::Validater::run()’: /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp:455:43: error: ‘toB3Type’ was not declared in this scope 455 | VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value)); | ^~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp:63:13: note: in definition of macro ‘VALIDATE’ 63 | if (condition) \ | ^~~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp:463:53: error: ‘toB3Type’ was not declared in this scope 463 | VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value)); | ^~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp:63:13: note: in definition of macro ‘VALIDATE’ 63 | if (condition) \ | ^~~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp:485:53: error: ‘toB3Type’ was not declared in this scope 485 | VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value)); | ^~~~~~~~ /<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/B3Validate.cpp:63:13: note: in definition of macro ‘VALIDATE’ 63 | if (condition) \ | ^~~~~~~~~ [1613/6826] /usr/bin/ccache /usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DGETTEXT_PACKAGE=\"WebKitGTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/Headers -I/<<PKGBUILDDIR>>/build-soup2 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/assembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/air -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bindings -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/builtins -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecode -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecompiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/dfg -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/ARM64 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/zydis/Zydis -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/domjit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ftl -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/heap -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/debugger -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/agents -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/augmentable -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/interpreter -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/jit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/llint -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/parser -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/profiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/tools -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/js -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/yarr -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/inspector -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/runtime -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/yarr -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API/glib -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources/jsc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/Headers -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote/glib -I/<<PKGBUILDDIR>>/build-soup2/WTF/Headers -I/<<PKGBUILDDIR>>/build-soup2/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib/riscv64-linux-gnu/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g1 -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -fvisibility=hidden -ffp-contract=off -std=c++20 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-7.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-7.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-7.cpp.o -c /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-7.cpp [1614/6826] /usr/bin/ccache /usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DGETTEXT_PACKAGE=\"WebKitGTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/Headers -I/<<PKGBUILDDIR>>/build-soup2 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/assembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/air -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bindings -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/builtins -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecode -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecompiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/dfg -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/ARM64 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/zydis/Zydis -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/domjit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ftl -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/heap -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/debugger -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/agents -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/augmentable -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/interpreter -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/jit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/llint -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/parser -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/profiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/tools -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/js -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/yarr -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/inspector -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/runtime -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/yarr -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API/glib -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources/jsc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/Headers -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote/glib -I/<<PKGBUILDDIR>>/build-soup2/WTF/Headers -I/<<PKGBUILDDIR>>/build-soup2/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib/riscv64-linux-gnu/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g1 -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -fvisibility=hidden -ffp-contract=off -std=c++20 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-8.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-8.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-8.cpp.o -c /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-8.cpp [1615/6826] /usr/bin/ccache /usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DGETTEXT_PACKAGE=\"WebKitGTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/Headers -I/<<PKGBUILDDIR>>/build-soup2 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/assembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/air -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bindings -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/builtins -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecode -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecompiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/dfg -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/ARM64 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/zydis/Zydis -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/domjit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ftl -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/heap -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/debugger -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/agents -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/augmentable -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/interpreter -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/jit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/llint -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/parser -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/profiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/tools -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/js -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/yarr -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/inspector -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/runtime -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/yarr -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API/glib -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/DerivedSources/jsc -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCoreGLib/Headers -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote/glib -I/<<PKGBUILDDIR>>/build-soup2/WTF/Headers -I/<<PKGBUILDDIR>>/build-soup2/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib/riscv64-linux-gnu/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -g1 -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -fvisibility=hidden -ffp-contract=off -std=c++20 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-6.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-6.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-6.cpp.o -c /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-23a5fd0e-6.cpp ninja: build stopped: subcommand failed. dh_auto_build: error: cd build-soup2 && LC_ALL=C.UTF-8 ninja -j4 -v returned exit code 1
Try this: diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp index 5e8caa8c79f8..0e47cbb43868 100644 --- a/Source/JavaScriptCore/b3/B3Validate.cpp +++ b/Source/JavaScriptCore/b3/B3Validate.cpp @@ -43,6 +43,7 @@ #include "B3Variable.h" #include "B3VariableValue.h" #include "B3WasmBoundsCheckValue.h" +#include <wasm/WasmTypeDefinition.h> #include <wtf/HashSet.h> #include <wtf/StringPrintStream.h> #include <wtf/text/CString.h>
Sorry, just kidding. Ignore that and try this instead: diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp index 5e8caa8c79f8..f7161389e291 100644 --- a/Source/JavaScriptCore/b3/B3Validate.cpp +++ b/Source/JavaScriptCore/b3/B3Validate.cpp @@ -43,6 +43,7 @@ #include "B3Variable.h" #include "B3VariableValue.h" #include "B3WasmBoundsCheckValue.h" +#include "WasmTypeDefinition.h" #include <wtf/HashSet.h> #include <wtf/StringPrintStream.h> #include <wtf/text/CString.h>
My colleague said that with that change, he now gets this error: [1450/6825] cd /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources && /usr/bin/cmake -E env CMAKE_CXX_COMPILER_ID=GNU GCC_OFFLINEASM_SOURCE_MAP=OFF /us r/bin/ruby /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/ /<<PKGBUILDDIR>>/Source/Java ScriptCore/llint/LowLevelInterpreter.asm /<<PKGBUILDDIR>>/build-soup2/bin/LLIntOffsetsExtractor /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLI ntAssembly.h normal --binary-format=ELF && /usr/bin/cmake -E touch_nocreate /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntAssembly.h FAILED: JavaScriptCore/DerivedSources/LLIntAssembly.h /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntAssembly.h cd /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources && /usr/bin/cmake -E env CMAKE_CXX_COMPILER_ID=GNU GCC_OFFLINEASM_SOURCE_MAP=OFF /usr/bin/ruby / <<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/ /<<PKGBUILDDIR>>/Source/JavaScriptCore/l lint/LowLevelInterpreter.asm /<<PKGBUILDDIR>>/build-soup2/bin/LLIntOffsetsExtractor /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntAssembly.h normal --binary-format=ELF && /usr/bin/cmake -E touch_nocreate /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntAssembly.h /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/ast.rb:958:in `lowerDefault': Unhandled opcode storev at WebAssembly.asm:512 (due to WebAssembly.asm:512) (L oweringError)
(In reply to Jeremy Bicha from comment #3) > /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/ast.rb:958:in > `lowerDefault': Unhandled opcode storev at WebAssembly.asm:512 (due to > WebAssembly.asm:512) (L > oweringError) I suggest reporting a second bug for this. Don't know how to help with that.
With +#include "WasmTypeDefinition.h" we get the original error ‘toB3Type’ was not declared in this scope toB3Type is defined in Source/JavaScriptCore/wasm/WasmTypeDefinition.h only if WEBASSEMBLY_B3JIT is enabled. Hence I looked at Source/WTF/wtf/PlatformEnable.h which controls if ENABLE_WEBASSEMBLY_B3JIT is enabled. But the following leads to a new error (Unhandled opcode storev at WebAssembly.asm:512): --- a/Source/WTF/wtf/PlatformEnable.h +++ b/Source/WTF/wtf/PlatformEnable.h @@ -713,7 +713,7 @@ #define ENABLE_B3_JIT 1 #endif · -#if ENABLE(WEBASSEMBLY) && ENABLE(JIT) && CPU(ARM) +#if ENABLE(WEBASSEMBLY) && ENABLE(JIT) && (CPU(ARM) || CPU(RISCV64)) #undef ENABLE_B3_JIT Is WEBASSEMBLY already supported for riscv64? Or should we disable it via a CMake command line argument?
Commit ef7690477ad8 ("[JSC] RISCV64 support for WebAssembly https://bugs.webkit.org/show_bug.cgi?id=238007") enabled ENABLE_WEBASSEMBLY and disabled ENABLE_WEBASSEMBLY_B3JIT. There is an inconsistency between Source/JavaScriptCore/b3/B3Validate.cpp which uses #if ENABLE(B3_JIT) and the included Source/JavaScriptCore/wasm/WasmTypeDefinition.h which depends on #if ENABLE(WEBASSEMBLY_B3JIT). If B3_JIT cannot be used for webassembly on RISC-V, why is Source/JavaScriptCore/b3/B3Validate.cpp compiled?
(In reply to Heinrich Schuchardt from comment #6) > There is an inconsistency between > > Source/JavaScriptCore/b3/B3Validate.cpp > > which uses #if ENABLE(B3_JIT) and the included > > Source/JavaScriptCore/wasm/WasmTypeDefinition.h > > which depends on #if ENABLE(WEBASSEMBLY_B3JIT). > > If B3_JIT cannot be used for webassembly on RISC-V, why is > Source/JavaScriptCore/b3/B3Validate.cpp compiled? Well it's needed for ENABLE(B3_JIT), of course. Looks like this broke in 257865@main "[SIMD] B3/OMG Support" but I don't know what to do about it. Justin, can you take a look please? Is it safe to just add preprocessor guards around the code that you added?
<rdar://problem/106090856>
What is the easiest way for me to make a RISC-V build? Qemu? I can just fix it if I can get a build going
(In reply to Justin Michaud from comment #9) > What is the easiest way for me to make a RISC-V build? Qemu? Probably, but I don't think you should have to worry about that. I would just try to make ENABLE(B3_JIT) && !ENABLE(WEBASSEMBLY_B3JIT) work again . The rest is somebody else's problem. ;) BTW I just found bug #250681 and everything we've discovered here thus far is already mentioned in the first comment there, so I'll mark this one as the duplicate. *** This bug has been marked as a duplicate of bug 250681 ***