This is not a fix for the relocation errors seen at link time in previous builds.
http://build-failures.rhaalovely.net/riscv64/2021-11-05/www/webkitgtk4.log I don't know how to fix those errors in LLint. Maybe some of the asm involved isn't position-independant enough (the .cpp files themselves are built with -fPIC). This commit is what introduces partial riscv64 native support, it's not complete yet: https://github.com/WebKit/WebKit/commit/d9b48eb602eb0269030f018afddd16c560d0b501 Our port already contains logic to force-disable JIT and force-enable the C_LOOP interpreter on some architectures. alas the flag name for C_LOOP has changed. This is the reason why C_LOOP wasn't forced on riscv64. ok? PS: I'm not sure a REVISION bump is needed. The diff unbreaks riscv64 and may affect a bunch of architectures that don't have any kind of assembler support. The latter already have C_LOOP enabled by default per Source/cmake/WebKitFeatures.cmake:93. Should we reverse the logic and always enforce JIT=NO/C_LOOP=YES on !(amd64|aarch64)? Index: Makefile =================================================================== RCS file: /cvs/ports/www/webkitgtk4/Makefile,v retrieving revision 1.156 diff -u -p -r1.156 Makefile --- Makefile 3 Nov 2021 16:37:11 -0000 1.156 +++ Makefile 24 Nov 2021 21:19:03 -0000 @@ -113,12 +113,13 @@ CONFIGURE_ARGS += -DUSE_WPE_RENDERER=OFF CONFIGURE_ARGS += -DENABLE_GAMEPAD=OFF # sync with Source/JavaScriptCore/assembler/MacroAssembler.h +# riscv64 has JIT support but fails to link with relocation errors .if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "amd64" && \ ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "i386" && \ ${MACHINE_ARCH} != "mips64" && ${MACHINE_ARCH} != "mips64el" # #error "The MacroAssembler is not supported on this platform." CONFIGURE_ARGS += -DENABLE_JIT=OFF -CONFIGURE_ARGS += -DENABLE_LLINT_C_LOOP=ON +CONFIGURE_ARGS += -DENABLE_C_LOOP=ON .endif -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
