Bug 274826
| Summary: | [GTK] [2.45.3] riscv: LowLevelInterpreter.cpp:610:78: error: expected ‘)’ before ‘OFFLINE_ASM_ALIGN_TRAP’ | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Alberto Garcia <berto> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply, emcifuntik, mcatanzaro, michael |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Alberto Garcia
In file included from /home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/assembler/MacroAssembler.h:81,
from /home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/jit/Reg.h:30,
from /home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/jit/RegisterAtOffset.h:30,
from /home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/jit/RegisterAtOffsetList.h:30,
from /home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/wasm/WasmCallee.h:32,
from /home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:633:
/home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h: In member function ‘void JSC::MacroAssemblerRISCV64::testFinalize(ResultCondition, JSC::AbstractMacroAssembler<JSC::RISCV64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::RISCV64Assembler>::RegisterID)’:
/home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:4463:16: warning: enumeration value ‘Carry’ not handled in switch [-Wswitch]
4463 | switch (cond) {
| ^
/home/berto/webkit2gtk-2.45.3/build-soup3/JavaScriptCore/DerivedSources/LLIntAssembly.h: At global scope:
/home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:610:78: error: expected ‘)’ before ‘OFFLINE_ASM_ALIGN_TRAP’
610 | OFFLINE_ASM_GLOBAL_LABEL_IMPL(label, OFFLINE_ASM_NO_ALT_ENTRY_DIRECTIVE, OFFLINE_ASM_ALIGN_TRAP(align), HIDE_SYMBOL)
| ^~~~~~~~~~~~~~~~~~~~~~
/home/berto/webkit2gtk-2.45.3/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:573:5: note: in definition of macro ‘OFFLINE_ASM_GLOBAL_LABEL_IMPL’
573 | ALIGNMENT \
| ^~~~~~~~~
/home/berto/webkit2gtk-2.45.3/build-soup3/JavaScriptCore/DerivedSources/LLIntAssembly.h:104463:1: note: in expansion of macro ‘OFFLINE_ASM_ALIGNED_GLOBAL_LABEL’
104463 | OFFLINE_ASM_ALIGNED_GLOBAL_LABEL(ipint_unreachable_validate, 256)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Andreas Schwab
+#elif CPU(RISCV64)
+#define OFFLINE_ASM_ALIGN_TRAP(align) OFFLINE_ASM_BEGIN_SPACER "\n .balignw " #align ", 0x9002\n" // pad with c.ebreak instructions
Alberto Garcia
That does not seem to be enough:
In file included from webkit2gtk-2.46.1/Source/JavaScriptCore/assembler/MacroAssembler.h:81,
from webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:28,
from webkit2gtk-2.46.1/Source/JavaScriptCore/bytecode/ArithProfile.h:28,
from webkit2gtk-2.46.1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28:
webkit2gtk-2.46.1/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h: In member function ‘void JSC::MacroAssemblerRISCV64::testFinalize(ResultCondition, JSC::AbstractMacroAssembler<JSC::RISCV64Assembler>::RegisterID, JSC::AbstractMacroAssembler<JSC::RISCV64Assembler>::RegisterID)’:
webkit2gtk-2.46.1/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:4508:16: warning: enumeration value ‘Carry’ not handled in switch [-Wswitch]
4508 | switch (cond) {
| ^
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h: At global scope:
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:759:38: error: ‘RICSV64Registers’ has not been declared
759 | static constexpr GPRReg regWS0 = RICSV64Registers::x6;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:760:38: error: ‘RICSV64Registers’ has not been declared
760 | static constexpr GPRReg regWS1 = RICSV64Registers::x7;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:761:38: error: ‘RICSV64Registers’ has not been declared
761 | static constexpr GPRReg regWA0 = RICSV64Registers::x10;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:762:38: error: ‘RICSV64Registers’ has not been declared
762 | static constexpr GPRReg regWA1 = RICSV64Registers::x11;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:763:38: error: ‘RICSV64Registers’ has not been declared
763 | static constexpr GPRReg regWA2 = RICSV64Registers::x12;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:764:38: error: ‘RICSV64Registers’ has not been declared
764 | static constexpr GPRReg regWA3 = RICSV64Registers::x13;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:765:38: error: ‘RICSV64Registers’ has not been declared
765 | static constexpr GPRReg regWA4 = RICSV64Registers::x14;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:766:38: error: ‘RICSV64Registers’ has not been declared
766 | static constexpr GPRReg regWA5 = RICSV64Registers::x15;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:767:38: error: ‘RICSV64Registers’ has not been declared
767 | static constexpr GPRReg regWA6 = RICSV64Registers::x16;
| ^~~~~~~~~~~~~~~~
webkit2gtk-2.46.1/Source/JavaScriptCore/jit/GPRInfo.h:768:38: error: ‘RICSV64Registers’ has not been declared
768 | static constexpr GPRReg regWA7 = RICSV64Registers::x17;
| ^~~~~~~~~~~~~~~~
Andreas Schwab
https://bugs.webkit.org/show_bug.cgi?id=281380
Alberto Garcia
Oh, I see. With that and your patch from comment #1 it gets a bit better but I still cannot make it build:
FAILED: JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h /home/berto/webkit2gtk-2.46.2/build-soup3/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h
cd /home/berto/webkit2gtk-2.46.2/build-soup3/Source/JavaScriptCore && /usr/bin/ruby /home/berto/webkit2gtk-2.46.2/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb -I/home/berto/webkit2gtk-2.46.2/build-soup3/JavaScriptCore/DerivedSources/ /home/berto/webkit2gtk-2.46.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /home/berto/webkit2gtk-2.46.2/build-soup3/bin/LLIntSettingsExtractor /home/berto/webkit2gtk-2.46.2/build-soup3/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h C_LOOP normal
LowLevelInterpreter.asm:2738 in call to entry: Could not find macro entry (MacroError)
ninja: build stopped: subcommand failed.
This is webkitgtk 2.46.2 and I'm using -DENABLE_JIT=OFF -DENABLE_WEBASSEMBLY=OFF
Michael Orlitzky
*** Bug 281138 has been marked as a duplicate of this bug. ***
Michael Orlitzky
This _particular_ error was fixed by https://github.com/WebKit/WebKit/pull/36458
If you check the recent open/closed PRs on Github with "riscv" in the name, there are several others in the pipeline to fix riscv build failures (thanks to MingZhu Yan).
Michael Catanzaro
(In reply to Michael Orlitzky from comment #6)
> This _particular_ error was fixed by
> https://github.com/WebKit/WebKit/pull/36458
Thanks for flagging this.
EWS
Committed 287700@main (23ae044647e7): <https://commits.webkit.org/287700@main>
Reviewed commits have been landed. Closing PR #37767 and removing active labels.