Index | Thread | Search

From:
Antoine Jacoutot <ajacoutot@bsdfrog.org>
Subject:
Re: webkitgtk4 fix for powerpc
To:
Jeremie Courreges-Anglas <jca@wxcvbn.org>
Cc:
ports@openbsd.org, tobhe@openbsd.org, gkoehler@openbsd.org
Date:
Tue, 16 Apr 2024 08:42:58 +0200

Download raw body.

Thread
On Mon, Apr 15, 2024 at 05:53:14PM +0200, Jeremie Courreges-Anglas wrote:
> tobhe called, he wants his webkitgtk4 back (on powerpc).  The diff
> below should fix the webkitgtk4 build on powerpc, powerpc64 and
> mips64.  It's directly inspired from gkoehler's diff for lang/gambit.
> 
> The error seen in the latest bulk:
>   fatal error: error in backend: failed to perform tail call elimination on a call site marked musttail
> 
> Completely untested but also innocuous for other archs.  tobhe could
> test on bluhm's machine, or maybe gkoehler could put it in his next
> build?
> 
> ok?

OK aja, thanks!

> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/www/webkitgtk4/Makefile,v
> diff -u -p -r1.212 Makefile
> --- Makefile	15 Apr 2024 11:48:20 -0000	1.212
> +++ Makefile	15 Apr 2024 15:48:09 -0000
> @@ -16,7 +16,7 @@ V =			2.44.1
>  DISTNAME =		webkitgtk-${V}
>  PKGNAME =		webkitgtk${API:S/.//}-${V}
>  FULLPKGNAME =		${PKGNAME}
> -REVISION =		0
> +REVISION =		1
>  
>  EXTRACT_SUFX =		.tar.xz
>  SUBST_VARS =		API
> Index: patches/patch-Source_WTF_wtf_Compiler_h
> ===================================================================
> RCS file: patches/patch-Source_WTF_wtf_Compiler_h
> diff -N patches/patch-Source_WTF_wtf_Compiler_h
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-Source_WTF_wtf_Compiler_h	15 Apr 2024 15:47:59 -0000
> @@ -0,0 +1,15 @@
> +Disable musttail attribute, not supported by clang on powerpc, powerpc64
> +and mips64.
> +
> +Index: Source/WTF/wtf/Compiler.h
> +--- Source/WTF/wtf/Compiler.h.orig
> ++++ Source/WTF/wtf/Compiler.h
> +@@ -321,7 +321,7 @@
> + /* MUST_TAIL_CALL */
> + 
> + #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
> +-#if __has_cpp_attribute(clang::musttail)
> ++#if __has_cpp_attribute(clang::musttail) && !defined(__mips__) && !defined(__powerpc__)
> + #define MUST_TAIL_CALL [[clang::musttail]]
> + #endif
> + #endif
> 
> 
> -- 
> jca

-- 
Antoine