On Fri, Nov 26, 2021 at 02:02:29PM +0100, Jeremie Courreges-Anglas wrote:
>
> 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.
Bumps are cheap if unsure...
>
> 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
>
--
Antoine