Bug 284361
| Summary: | [riscv] `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (due to WebAssembly.asm:744) (LoweringError) | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | david.abd+webkit |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | raj.khem, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Local Build | ||
| Hardware: | Other | ||
| OS: | Linux | ||
david.abd+webkit
Compiling webkitgtk-2.47.2 in Fedora/RISCV fails with the following error:
```
FAILED: JavaScriptCore/DerivedSources/LLIntAssembly.h /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntAssembly.h
cd /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources && /usr/bin/cmake -E env CMAKE_CXX_COMPILER_ID=Clang GCC_OFFLINEASM_SOURCE_MAP=OFF /usr/bin/ruby /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb -I/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/ /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/bin/LLIntOffsetsExtractor /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntAssembly.h normal --binary-format=ELF && /usr/bin/cmake -E touch_nocreate /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntAssembly.h
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (due to WebAssembly.asm:744) (LoweringError)
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:136:in `riscv64ValidateOperands'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:1630:in `lowerRISCV64'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:126:in `lower'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:184:in `block in lower'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `each'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `lower'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:399:in `block (5 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:101:in `inAsm'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:398:in `block (4 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:201:in `emitCodeInConfiguration'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:396:in `block (3 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:107:in `forSettings'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:381:in `block (2 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `each'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `block in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `open'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `<main>'
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (RuntimeError)
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:136:in `riscv64ValidateOperands'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:1630:in `lowerRISCV64'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:126:in `lower'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:184:in `block in lower'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `each'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `lower'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:399:in `block (5 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:101:in `inAsm'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:398:in `block (4 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:201:in `emitCodeInConfiguration'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:396:in `block (3 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:107:in `forSettings'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:381:in `block (2 levels) in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `each'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `block in <main>'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `open'
from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `<main>'
ninja: build stopped: subcommand failed.
```
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/141604076>
Andreas Schwab
Broken by commit d5ba7ea242f0.
Andreas Schwab
diff --git a/Source/JavaScriptCore/llint/WebAssembly.asm b/Source/JavaScriptCore/llint/WebAssembly.asm
index 94481578bd0b..fef48859dc2d 100644
--- a/Source/JavaScriptCore/llint/WebAssembly.asm
+++ b/Source/JavaScriptCore/llint/WebAssembly.asm
@@ -744,7 +744,9 @@ end
move sp, a0
cCall3(_operationJSToWasmEntryWrapperBuildFrame)
- btpnz r1, _wasm_throw_from_slow_path_trampoline
+ btpz r1, .nothrow
+ jmp _wasm_throw_from_slow_path_trampoline
+.nothrow:
move r0, ws0
# Arguments
@@ -890,7 +892,9 @@ end
if ARMv7
branchIfWasmException(_wasm_throw_from_slow_path_trampoline)
else
- btpnz r1, _wasm_throw_from_slow_path_trampoline
+ btpz r1, .nothrow
+ jmp _wasm_throw_from_slow_path_trampoline
+.nothrow:
end
# Clean up and return