Bug 266218
| Summary: | [GTK] webkitgtk 2.43.2 fails to build on riscv64 JavaScriptCore/offlineasm/riscv64.rb | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jeremy Bicha <jbicha> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | berto, bugs-noreply, david.abd+webkit |
| Priority: | P3 | Keywords: | Gtk |
| Version: | WebKit Nightly Build | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Jeremy Bicha
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Alberto Garcia
*** Bug 265082 has been marked as a duplicate of this bug. ***
Jeremy Bicha
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
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
Pull request: https://github.com/WebKit/WebKit/pull/23829
EWS
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
FYI, there seems to be another similar compilation error: https://bugs.webkit.org/show_bug.cgi?id=284361