From nobody Wed Mar 15 10:59:36 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pc6pw6T8lz3yN1j; Wed, 15 Mar 2023 10:59:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pc6pw5sSzz44yQ; Wed, 15 Mar 2023 10:59:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678877976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OvycMvqdzvqxgZy8m3OcHnCyH6vesWqA/PS+a4Wohu8=; b=wcn5Ejmd1OI8e7mNOAO8tkqyYHOgLUFsuF7QW7+pxcVAT2LujVMuIeTfovcxURlQyqYbq4 X46RsGSqOP3nqZ65vRc9B8sEHSNaMXup2tYfjX9S8axhgrXnfMBYES5K/14n9/oCoPhA9M hVAOWENjxLPWdWJI/hjBHhBJHhUNPzCc+cg/NXzK/Fk7MpIAdiib1l7Q6S5+3levKIMbsq 9Gt5IRU5We8KJ9+MckgdsufhEBViBoNkrEaQOK820kITS0Ha4L+Nd+iWMCfaiBipI2WmPp tLZRHNpPQ9ac8xv4lqO1eNvBLifOR9hlYHlTaF/t9Btg81GccPG5ssDBKllvPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678877976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OvycMvqdzvqxgZy8m3OcHnCyH6vesWqA/PS+a4Wohu8=; b=cGWm7VR3x8Szvqt9brTTuHzSwzO0yoMf1sBB18AWIk2CWTVBSsJB76L0H7ARNxmJ0YdPO7 7GtvGZQzhHNWy7+lM3TG9a1cFv2pKzOe3Jo1XRkMG3e1WIQ7Bs7QQe4vJVJ2r4iAY+xBUJ SjonaHRyB/57C4ZW/G+73g8E+x6qE4p/ZZY3fYj4J0JTdjb8cspvADrwZf4AU456byEzKt VM0UR7gyeUXNSwAX9kcPv/agsqSiDOe5uOuq2KFErSlwF9Ra6FoeltznuPHxJkmR6OgWuH hA+cPN/3jR2LyvwzyP/qBtHNroAbHHt7DScaic9VaxhhguLN70Ap+Wt0dT4uIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678877976; a=rsa-sha256; cv=none; b=qYyEfqtIVJZ1PSHe8FYgmVqb6gAqekbKcYHePAj5XNYOHS52Yw5QhTuZWC64rKRqfjf6MK yT8ANbdM9zCmxmD7vpFBYf6abRZOxcoECGiP3UktapClbMv0C0wUh98kYfMM8iHlvBtnlO XYhtfR1yyY0u4tDi9liHJwe3vTUKbT6AAYcquQI3DyBGYa01n0z27PeVTiidpzU7CDSi8l WTQYpXksmjtKmeOaQEk/zXq1QFihZwpxJ/MpARDluxYVVaGDGYgfv6oz0W8d31q/sc37Q2 fihoAJSJp6/Xl3bbb8NwYaKG39bCvGT8de2O22rc0X0yRqLca3gNEHHM1ti0vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pc6pw4qg2z1DHH; Wed, 15 Mar 2023 10:59:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32FAxaGW083373; Wed, 15 Mar 2023 10:59:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32FAxa0M083372; Wed, 15 Mar 2023 10:59:36 GMT (envelope-from git) Date: Wed, 15 Mar 2023 10:59:36 GMT Message-Id: <202303151059.32FAxa0M083372@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Robert Nagy Subject: git: 066616dbf5bc - 2023Q1 - www/{*chromium,iridium}: restrict usage of preserve_most to clang 17 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rnagy X-Git-Repository: ports X-Git-Refname: refs/heads/2023Q1 X-Git-Reftype: branch X-Git-Commit: 066616dbf5bcc072b0104ddf7f33863085e53e0a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch 2023Q1 has been updated by rnagy: URL: https://cgit.FreeBSD.org/ports/commit/?id=066616dbf5bcc072b0104ddf7f33863085e53e0a commit 066616dbf5bcc072b0104ddf7f33863085e53e0a Author: Robert Nagy AuthorDate: 2023-03-15 07:55:45 +0000 Commit: Robert Nagy CommitDate: 2023-03-15 10:59:30 +0000 www/{*chromium,iridium}: restrict usage of preserve_most to clang 17 the preserve_most attribute usage < clang 17 is causing weird runtime issues in v8 and this commit backports a v8 commit that disables the usage of this attribute with such compilers Approved by: rene (mentor) Obtained from: https://chromium.googlesource.com/v8/v8/+/ab12885a59d86d43a624ffaf6d56ca0d34e8e8bb (cherry picked from commit 23607969b871fab90e3f809183f6f9fcead30eda) --- www/chromium/Makefile | 1 + www/chromium/files/patch-v8_include_v8config.h | 32 ++++++++++++++++------ www/iridium/Makefile | 1 + www/iridium/files/patch-v8_include_v8config.h | 32 ++++++++++++++++------ www/ungoogled-chromium/Makefile | 1 + .../files/patch-v8_include_v8config.h | 32 ++++++++++++++++------ 6 files changed, 75 insertions(+), 24 deletions(-) diff --git a/www/chromium/Makefile b/www/chromium/Makefile index 471ca6e5a946..338776bd5b5a 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,5 +1,6 @@ PORTNAME= chromium PORTVERSION= 111.0.5563.64 +PORTREVISION= 1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external diff --git a/www/chromium/files/patch-v8_include_v8config.h b/www/chromium/files/patch-v8_include_v8config.h index 1f906768877c..2731df78fdac 100644 --- a/www/chromium/files/patch-v8_include_v8config.h +++ b/www/chromium/files/patch-v8_include_v8config.h @@ -1,4 +1,4 @@ ---- v8/include/v8config.h.orig 2022-04-21 18:48:31 UTC +--- v8/include/v8config.h.orig 2023-03-15 07:46:50 UTC +++ v8/include/v8config.h @@ -183,6 +183,8 @@ path. Add it with -I to the command line && !defined(V8_TARGET_OS_FUCHSIA) \ @@ -18,12 +18,10 @@ || defined(V8_TARGET_OS_MACOS) \ || defined(V8_TARGET_OS_WIN) # error A target OS is defined but V8_HAVE_TARGET_OS is unset. -@@ -214,6 +218,16 @@ path. Add it with -I to the command line - - #ifdef V8_OS_LINUX +@@ -216,6 +220,16 @@ path. Add it with -I to the command line # define V8_TARGET_OS_LINUX -+#endif -+ + #endif + +#ifdef V8_OS_OPENBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD @@ -32,6 +30,24 @@ +#ifdef V8_OS_FREEBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD - #endif - ++#endif ++ #ifdef V8_OS_MACOS + # define V8_TARGET_OS_MACOS + #endif +@@ -351,10 +365,14 @@ path. Add it with -I to the command line + // - component builds fail because _dl_runtime_resolve clobbers registers, + // - we see crashes on arm64 on Windows (https://crbug.com/1409934), which can + // hopefully be fixed in the future. ++// Additionally, the initial implementation in clang <= 16 overwrote the return ++// register(s) in the epilogue of a preserve_most function, so we only use ++// preserve_most in clang >= 17 (see https://reviews.llvm.org/D143425). + #if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \ + || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \ + && !defined(_WIN32))) /* not on windows */ \ +- && !defined(COMPONENT_BUILD) /* no component build */ ++ && !defined(COMPONENT_BUILD) /* no component build */\ ++ && __clang_major__ >= 17 /* clang >= 17 */ + # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most)) + #endif + # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility)) diff --git a/www/iridium/Makefile b/www/iridium/Makefile index bb409df57aff..3715619dfa56 100644 --- a/www/iridium/Makefile +++ b/www/iridium/Makefile @@ -1,5 +1,6 @@ PORTNAME= iridium PORTVERSION= 2023.03.111 +PORTREVISION= 1 CATEGORIES= www wayland MASTER_SITES= https://downloads.iridiumbrowser.de/source/ PKGNAMESUFFIX= -browser diff --git a/www/iridium/files/patch-v8_include_v8config.h b/www/iridium/files/patch-v8_include_v8config.h index 1fbdf5604eab..2731df78fdac 100644 --- a/www/iridium/files/patch-v8_include_v8config.h +++ b/www/iridium/files/patch-v8_include_v8config.h @@ -1,4 +1,4 @@ ---- v8/include/v8config.h.orig 2022-10-05 07:34:01 UTC +--- v8/include/v8config.h.orig 2023-03-15 07:46:50 UTC +++ v8/include/v8config.h @@ -183,6 +183,8 @@ path. Add it with -I to the command line && !defined(V8_TARGET_OS_FUCHSIA) \ @@ -18,12 +18,10 @@ || defined(V8_TARGET_OS_MACOS) \ || defined(V8_TARGET_OS_WIN) # error A target OS is defined but V8_HAVE_TARGET_OS is unset. -@@ -214,6 +218,16 @@ path. Add it with -I to the command line - - #ifdef V8_OS_LINUX +@@ -216,6 +220,16 @@ path. Add it with -I to the command line # define V8_TARGET_OS_LINUX -+#endif -+ + #endif + +#ifdef V8_OS_OPENBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD @@ -32,6 +30,24 @@ +#ifdef V8_OS_FREEBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD - #endif - ++#endif ++ #ifdef V8_OS_MACOS + # define V8_TARGET_OS_MACOS + #endif +@@ -351,10 +365,14 @@ path. Add it with -I to the command line + // - component builds fail because _dl_runtime_resolve clobbers registers, + // - we see crashes on arm64 on Windows (https://crbug.com/1409934), which can + // hopefully be fixed in the future. ++// Additionally, the initial implementation in clang <= 16 overwrote the return ++// register(s) in the epilogue of a preserve_most function, so we only use ++// preserve_most in clang >= 17 (see https://reviews.llvm.org/D143425). + #if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \ + || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \ + && !defined(_WIN32))) /* not on windows */ \ +- && !defined(COMPONENT_BUILD) /* no component build */ ++ && !defined(COMPONENT_BUILD) /* no component build */\ ++ && __clang_major__ >= 17 /* clang >= 17 */ + # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most)) + #endif + # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility)) diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index a31212f0f63b..c73557218838 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,5 +1,6 @@ PORTNAME= ungoogled-chromium PORTVERSION= 111.0.5563.64 +PORTREVISION= 1 UGVERSION= ${DISTVERSION}-1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ diff --git a/www/ungoogled-chromium/files/patch-v8_include_v8config.h b/www/ungoogled-chromium/files/patch-v8_include_v8config.h index 2b0ab6a4089c..2731df78fdac 100644 --- a/www/ungoogled-chromium/files/patch-v8_include_v8config.h +++ b/www/ungoogled-chromium/files/patch-v8_include_v8config.h @@ -1,4 +1,4 @@ ---- v8/include/v8config.h.orig 2022-10-01 07:40:07 UTC +--- v8/include/v8config.h.orig 2023-03-15 07:46:50 UTC +++ v8/include/v8config.h @@ -183,6 +183,8 @@ path. Add it with -I to the command line && !defined(V8_TARGET_OS_FUCHSIA) \ @@ -18,12 +18,10 @@ || defined(V8_TARGET_OS_MACOS) \ || defined(V8_TARGET_OS_WIN) # error A target OS is defined but V8_HAVE_TARGET_OS is unset. -@@ -214,6 +218,16 @@ path. Add it with -I to the command line - - #ifdef V8_OS_LINUX +@@ -216,6 +220,16 @@ path. Add it with -I to the command line # define V8_TARGET_OS_LINUX -+#endif -+ + #endif + +#ifdef V8_OS_OPENBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD @@ -32,6 +30,24 @@ +#ifdef V8_OS_FREEBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD - #endif - ++#endif ++ #ifdef V8_OS_MACOS + # define V8_TARGET_OS_MACOS + #endif +@@ -351,10 +365,14 @@ path. Add it with -I to the command line + // - component builds fail because _dl_runtime_resolve clobbers registers, + // - we see crashes on arm64 on Windows (https://crbug.com/1409934), which can + // hopefully be fixed in the future. ++// Additionally, the initial implementation in clang <= 16 overwrote the return ++// register(s) in the epilogue of a preserve_most function, so we only use ++// preserve_most in clang >= 17 (see https://reviews.llvm.org/D143425). + #if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \ + || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \ + && !defined(_WIN32))) /* not on windows */ \ +- && !defined(COMPONENT_BUILD) /* no component build */ ++ && !defined(COMPONENT_BUILD) /* no component build */\ ++ && __clang_major__ >= 17 /* clang >= 17 */ + # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most)) + #endif + # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))