WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
284361
[riscv] `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (due to WebAssembly.asm:744) (LoweringError)
https://bugs.webkit.org/show_bug.cgi?id=284361
Summary
[riscv] `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterI...
david.abd+webkit
Reported
2024-12-10 01:27:33 PST
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
Comment 1
2024-12-17 01:28:12 PST
<
rdar://problem/141604076
>
Andreas Schwab
Comment 2
2025-03-23 06:49:45 PDT
Broken by commit d5ba7ea242f0.
Andreas Schwab
Comment 3
2025-03-23 07:56:42 PDT
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
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug