RESOLVED FIXED 274826
[GTK] [2.45.3] riscv: LowLevelInterpreter.cpp:610:78: error: expected ‘)’ before ‘OFFLINE_ASM_ALIGN_TRAP’
https://bugs.webkit.org/show_bug.cgi?id=274826
Summary [GTK] [2.45.3] riscv: LowLevelInterpreter.cpp:610:78: error: expected ‘)’ bef...
Alberto Garcia
Reported 2024-05-29 05:04:01 PDT
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
Andreas Schwab
Comment 1 2024-10-05 14:22:38 PDT
+#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
Comment 2 2024-10-05 16:57:06 PDT
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
Comment 3 2024-10-21 14:57:37 PDT
Alberto Garcia
Comment 4 2024-10-22 04:18:52 PDT
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
Comment 5 2024-11-14 06:31:38 PST
*** Bug 281138 has been marked as a duplicate of this bug. ***
Michael Orlitzky
Comment 6 2024-11-14 06:36:09 PST
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
Comment 7 2024-12-10 14:45:06 PST
(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
Comment 8 2024-12-11 15:13:13 PST
Committed 287700@main (23ae044647e7): <https://commits.webkit.org/287700@main> Reviewed commits have been landed. Closing PR #37767 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.