RESOLVED FIXED266218
[GTK] webkitgtk 2.43.2 fails to build on riscv64 JavaScriptCore/offlineasm/riscv64.rb
https://bugs.webkit.org/show_bug.cgi?id=266218
Summary [GTK] webkitgtk 2.43.2 fails to build on riscv64 JavaScriptCore/offlineasm/ri...
Jeremy Bicha
Reported 2023-12-11 05:51:11 PST
webkitgtk 2.43.2 (and 2.43.1) fails to build on Debian and Ubuntu's riscv64 but seems to build ok on other architectures. /Source/JavaScriptCore/offlineasm/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, RegisterID, LabelReference] (due to LowLevelInterpreter64.asm:258) (LoweringError) Full build log ============== Click Build-Attempted at https://buildd.debian.org/status/package.php?p=webkit2gtk&suite=experimental (or click old, then in the result column to see other versions) Build log excerpt ================= [1461/6943] 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/llint/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 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/llint/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/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, RegisterID, LabelReference] (due to LowLevelInterpreter64.asm:258) (LoweringError) from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/riscv64.rb:136:in `riscv64ValidateOperands' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/riscv64.rb:1627:in `lowerRISCV64' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:137:in `lower' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:195:in `block in lower' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:193:in `each' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:193:in `lower' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:443:in `block (5 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:102:in `inAsm' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:442:in `block (4 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/settings.rb:210:in `emitCodeInConfiguration' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:440:in `block (3 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/settings.rb:107:in `forSettings' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:425:in `block (2 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:421:in `each' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:421:in `block in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:405:in `open' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:405:in `<main>' /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, RegisterID, LabelReference] (RuntimeError) from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/riscv64.rb:136:in `riscv64ValidateOperands' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/riscv64.rb:1627:in `lowerRISCV64' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:137:in `lower' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:195:in `block in lower' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:193:in `each' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/backends.rb:193:in `lower' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:443:in `block (5 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:102:in `inAsm' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:442:in `block (4 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/settings.rb:210:in `emitCodeInConfiguration' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:440:in `block (3 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/settings.rb:107:in `forSettings' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:425:in `block (2 levels) in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:421:in `each' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:421:in `block in <main>' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:405:in `open' from /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/asm.rb:405:in `<main>'
Attachments
Alberto Garcia
Comment 1 2023-12-11 06:01:48 PST
*** Bug 265082 has been marked as a duplicate of this bug. ***
Jeremy Bicha
Comment 2 2023-12-12 15:01:42 PST
In an attempt to work around this issue since I eventually need webkitgtk 2.43 to build on Ubuntu's riscv64, I did a build with -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_WEBASSEMBLY=OFF This also caused the build to fail: [1363/6942] cd /<<PKGBUILDDIR>>/build-soup2/Source/JavaScriptCore && /usr/bin/ruby /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/ /<<PKGBUILDDIR>>/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /<<PKGBUILDDIR>>/build-soup2/bin/LLIntSettingsExtractor /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h C_LOOP normal FAILED: JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h cd /<<PKGBUILDDIR>>/build-soup2/Source/JavaScriptCore && /usr/bin/ruby /<<PKGBUILDDIR>>/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb -I/<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/ /<<PKGBUILDDIR>>/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /<<PKGBUILDDIR>>/build-soup2/bin/LLIntSettingsExtractor /<<PKGBUILDDIR>>/build-soup2/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h C_LOOP normal LowLevelInterpreter.asm:2778 in call to entry: Could not find macro entry (MacroError) Full build log at https://launchpad.net/~jbicha/+archive/ubuntu/arch2/+sourcepub/15534909/+listing-archive-extra
Alberto Garcia
Comment 3 2023-12-24 08:21:17 PST
This is still broken, so we decided to work around this downstream in Debian by using WTF_CPU_UNKNOWN in riscv64. https://salsa.debian.org/webkit-team/webkit/-/raw/debian/2.43.3-1/debian/patches/fix-ftbfs-riscv64.patch?ref_type=tags
Lu Yahan
Comment 4 2024-02-03 22:02:25 PST
EWS
Comment 5 2024-02-03 23:40:34 PST
Committed 274066@main (6b46c24db814): <https://commits.webkit.org/274066@main> Reviewed commits have been landed. Closing PR #23829 and removing active labels.
david.abd+webkit
Comment 6 2024-12-11 01:25:36 PST
FYI, there seems to be another similar compilation error: https://bugs.webkit.org/show_bug.cgi?id=284361
Note You need to log in before you can comment on or make changes to this bug.