public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Fabian Groffen" <grobian@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/
Date: Fri, 23 May 2025 12:05:49 +0000 (UTC)	[thread overview]
Message-ID: <1748001938.0a601404a7f77d5ad6085336021c7c2cb7b521d0.grobian@gentoo> (raw)

commit:     0a601404a7f77d5ad6085336021c7c2cb7b521d0
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri May 23 12:04:44 2025 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri May 23 12:05:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=0a601404

sys-devel/gcc-14.2.1_p20250515: bump, add fix for x64-macos

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 sys-devel/gcc/Manifest                    |   1 +
 sys-devel/gcc/gcc-14.2.1_p20250515.ebuild | 166 ++++++++++++++++++++++++++++++
 2 files changed, 167 insertions(+)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index fe5a688f51..0e70f8814a 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -16,4 +16,5 @@ DIST gcc-14.2.0-patches-8.tar.xz 14540 BLAKE2B 09f66035343d4cab694b8ab382170f8e2
 DIST gcc-14.2.0.tar.xz 92306460 BLAKE2B 87baf2a06dfa75d8fb6cd62c747ef1f57d3b9bbbe33a360d9ed3de4b4dbeaa8d920504c67e409bd9863414202c14fd854b46108e984418171205119216d03d3b SHA512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396
 DIST gcc-14.2.1-arm64-darwin-r1.patch 197916 BLAKE2B 165e8c2e40428cdc60aaf19de1fa752114933bf9f2fb92ce4bd116ff20484514792498abdfd8ce75974d393e441e8d9183adfb37662d1dc039fd7051ba5ccf4c SHA512 ae6566277ce11d9b737626ee9460ec323322ed5ed3f4d78ad0e70755191b0b699897184e906a4c2edd8d6feb142e70253df37ccf58daa9de6845c7a6ffeb59d0
 DIST gcc-14.2.1-arm64-darwin.patch 199458 BLAKE2B 7ba878a19c1451e84f0af531b58177bf8c5358211ab704b8e58ff85bd453634b86f743dcb7bc9c89960fede115c9aa60209489b9fab8885e081e0cae2507359f SHA512 af8f3a7ce7776d004336686fd28080c6e41ef73aaae6e6c49db3495a99509162f9e16246d18034b0d5ec03bf109e7bf14b075564b1836d1edbe9034b202152d9
+DIST gcc-14.3.0-RC-20250515.tar.xz 95343884 BLAKE2B 81b1b6556d32e85d75d7a5bbe5a5b106fd103dc59a621ea7144f2f8a8a58c9b6878f44e204e8d9885603e32da3f048c822cbc2287f6402847072c271c58fad97 SHA512 3065696e5b521374a88dcb9c1910c3083dea73dd8afbe0b662fa4e70c27aa06734bd3ad2522ddfad322cacdb63349f8ddb109c16e98adb9ea58a7095a84ff598
 DIST gcc-validate-failures-a447cd6dee206facb66720bdacf0c765a8b09f33.py 27537 BLAKE2B 96c7474de0bc50ab890a91551412398c979396c43aa237a4b6d8baa98ce7fda2cc9f5a755a03fd9d055d885ee2fb40ba29644a0649c24398361ce75a20fae634 SHA512 409434953351cf1f2287f1e4a4fbde5b28a27add35ddd284080acec71b33cb4ec5e1c07f41a79fac060bd6f1eedd198812495141923e410ded907429fe515f83

diff --git a/sys-devel/gcc/gcc-14.2.1_p20250515.ebuild b/sys-devel/gcc/gcc-14.2.1_p20250515.ebuild
new file mode 100644
index 0000000000..624f3af3b4
--- /dev/null
+++ b/sys-devel/gcc/gcc-14.2.1_p20250515.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintenance notes and explanations of GCC handling are on the wiki:
+# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+TOOLCHAIN_GCC_RC=1
+PATCH_GCC_VER="14.2.0"
+PATCH_VER="8"
+MUSL_VER="1"
+MUSL_GCC_VER="14.1.0"
+PYTHON_COMPAT=( python3_{10..14} )
+
+if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+	# Cheesy hack for RCs
+	MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+	MY_P=${PN}-${MY_PV}
+	GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+	TOOLCHAIN_SET_S=no
+	S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+	# Needs to be after inherit (for now?), bug #830908
+	EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+	# m68k doesnt build (ICE, bug 932733)
+	KEYWORDS="~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+	:;
+fi
+
+# use alternate source for Apple M1 (also works for x86_64)
+SRC_URI+=" elibc_Darwin? ( https://dev.gentoo.org/~grobian/distfiles/gcc-14.2.1-arm64-darwin-r1.patch )"
+IUSE+=" system-bootstrap"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+	# Technically only if USE=hardened *too* right now, but no point in complicating it further.
+	# If GCC is enabling CET by default, we need glibc to be built with support for it.
+	# bug #830454
+	RDEPEND="!prefix-guest? ( elibc_glibc? ( sys-libs/glibc[cet(-)?] ) )"
+	DEPEND="${RDEPEND}"
+fi
+
+src_prepare() {
+	# apply big arm64-darwin patch first thing
+	use elibc_Darwin && eapply "${DISTDIR}"/${PN}-14.2.1-arm64-darwin-r1.patch
+
+	# fixes for macOS from upstream
+	if use elibc_Darwin ; then
+		eapply "${FILESDIR}"/${PN}-14.2.1-modular-macos-sdk.patch
+		eapply "${FILESDIR}"/${PN}-14.2.1-pass-macos_version_min.patch
+		eapply "${FILESDIR}"/${PN}-14.2.1-macos-15-4.patch
+
+		if [[ ${CHOST##*-darwin} -ge 23 ]] ; then
+			# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116809
+			# workaround for as long as we don't have the final fix in
+			# somewhere
+			sed -i -e '/^BUILD_LIBGCCS1 = YES/s/^/# /' \
+				libgcc/config/i386/t-darwin || die
+		fi
+	fi
+
+	# run as with - on pipe (for Clang 16)
+	eapply "${FILESDIR}"/${PN}-14.2.0-darwin-as-dash-pipe.patch
+
+	# fix build with libintl-0.23
+	eapply "${FILESDIR}"/${PN}-14.2.0-libintl-setlocale.patch
+
+	# make sure 64-bits native targets don't screw up the linker paths
+	eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch
+
+	local p upstreamed_patches=(
+		# add them here
+	)
+	for p in "${upstreamed_patches[@]}"; do
+		rm -v "${WORKDIR}/patch/${p}" || die
+	done
+
+	toolchain_src_prepare
+
+	# make it have correct install_names on Darwin
+	eapply -p1 "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch
+
+	if [[ ${CHOST} == powerpc*-darwin* ]] ; then
+		# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44107
+		sed -i -e 's|^ifeq (/usr/lib,|ifneq (/usr/lib,|' \
+			libgcc/config/t-slibgcc-darwin || die
+	fi
+
+	if [[ ${CHOST} == *-solaris* ]] ; then
+		# madvise is not available in the compatibility mode GCC uses,
+		# posix_madvise however, is
+		sed -i -e 's/madvise/posix_madvise/' gcc/cp/module.cc || die
+	fi
+
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		use system-bootstrap && eapply "${FILESDIR}"/${PN}-13-darwin14-bootstrap.patch
+
+		# our ld64 is a slight bit different, so tweak expression to not
+		# get confused and break the build
+		sed -i -e "s/EGREP 'ld64|dyld'/& | head -n1/" \
+			gcc/configure{.ac,} || die
+
+		# rip out specific macos version min
+		sed -i -e 's/-mmacosx-version-min=11.0//' \
+			libgcc/config/aarch64/t-darwin \
+			libgcc/config/aarch64/t-heap-trampoline \
+			|| die
+	fi
+
+	eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+	eapply_user
+}
+
+src_configure() {
+	local myconf=()
+	case ${CTARGET}:" ${USE} " in
+		powerpc*-darwin*)
+			# bug #381179
+			filter-flags "-mcpu=*" "-mtune=*"
+			# bug #657522
+			# A bug in configure checks whether -no-pie works, but the
+			# compiler doesn't pass -no-pie onto the linker if -fno-PIE
+			# isn't passed, so the configure check always finds -no-pie
+			# is accepted.  (Likewise, when -fno-PIE is passed, the
+			# compiler passes -no_pie onto the linker.)
+			# Since our linker doesn't grok this, avoid above checks to
+			# be run
+			# NOTE: later ld64 does grok -no_pie, not -no-pie (as checked)
+			export gcc_cv_c_no_fpie=no
+			export gcc_cv_no_pie=no
+		;;
+		*-darwin20)
+			# use sysroot with the linker, #756160
+			export gcc_cv_ld_sysroot=yes
+			;;
+		*-solaris*)
+			# todo: some magic for native vs. GNU linking?
+			myconf+=( --with-gnu-ld --with-gnu-as --enable-largefile )
+		;;
+		i[34567]86-*-linux*:*" prefix "*)
+			# to allow the linux-x86-on-amd64.patch become useful, we need
+			# to enable multilib, even if there is just one multilib option.
+			myconf+=( --enable-multilib )
+			if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then
+				# we might be on x86_64-linux, but don't do cross-compile, so
+				# tell the host-compiler to really create 32bits (for stage1)
+				# (real x86-linux-gcc also accept -m32).
+				append-flags -m32
+			fi
+		;;
+	esac
+
+	# Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at
+	# least on Solaris, and AIX /bin/sh is way too slow,
+	# so force it to use $BASH (that portage uses) - it can't be EPREFIX
+	# in case that doesn't exist yet
+	export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}"
+	toolchain_src_configure "${myconf[@]}"
+}


             reply	other threads:[~2025-05-23 12:05 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-23 12:05 Fabian Groffen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-05-23 12:55 [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/gcc/ Fabian Groffen
2025-04-26 11:53 Fabian Groffen
2024-09-30  9:08 Fabian Groffen
2024-09-30  9:08 Fabian Groffen
2024-09-29  8:18 Fabian Groffen
2024-08-10 14:48 Fabian Groffen
2024-07-18  6:42 Fabian Groffen
2024-07-17 12:01 Fabian Groffen
2024-05-27 17:04 Fabian Groffen
2024-05-27  7:14 Fabian Groffen
2024-03-09 15:54 Fabian Groffen
2024-03-08 21:13 Fabian Groffen
2024-02-06 13:16 Fabian Groffen
2024-01-14 20:36 Fabian Groffen
2024-01-14 10:17 Fabian Groffen
2023-09-10  7:20 Fabian Groffen
2023-05-01  6:30 Fabian Groffen
2023-04-27 10:27 Fabian Groffen
2023-04-26 19:21 Fabian Groffen
2023-04-26 17:57 Fabian Groffen
2023-04-24 20:12 Sam James
2023-02-19 18:53 Sam James
2022-11-06 12:05 Fabian Groffen
2022-10-03 17:26 Fabian Groffen
2022-08-02 13:06 Fabian Groffen
2022-06-16  5:52 Fabian Groffen
2022-06-08 11:04 Fabian Groffen
2021-11-10  4:38 Sam James
2021-11-09  7:22 Sam James
2021-09-12  8:47 Sam James
2021-06-21  5:59 Sam James
2021-06-08  6:18 Fabian Groffen
2021-02-20 14:13 Fabian Groffen
2021-02-07 19:23 Fabian Groffen
2021-02-06 16:30 Fabian Groffen
2021-01-10 19:51 Fabian Groffen
2021-01-06 12:00 Fabian Groffen
2021-01-04 16:07 Fabian Groffen
2020-12-22 21:30 Fabian Groffen
2020-11-26 20:49 Fabian Groffen
2020-11-26 20:03 Fabian Groffen
2020-11-26 18:58 Fabian Groffen
2020-11-23 20:55 Fabian Groffen
2020-11-23 20:25 Fabian Groffen
2020-11-22 17:37 Fabian Groffen
2020-01-08 19:21 Fabian Groffen
2019-06-07 12:37 Michael Haubenwallner
2019-06-07  8:32 Michael Haubenwallner
2019-03-13 14:14 Fabian Groffen
2019-03-13 14:14 Fabian Groffen
2019-01-30 10:54 Fabian Groffen
2018-12-17 20:01 Fabian Groffen
2018-06-27  7:09 Fabian Groffen
2018-06-22 13:16 Michael Haubenwallner
2018-06-21  7:30 Fabian Groffen
2018-06-08 13:06 Fabian Groffen
2018-06-08  5:46 Fabian Groffen
2018-06-07 10:49 Fabian Groffen
2018-06-06 13:47 Fabian Groffen
2018-01-15 19:38 Fabian Groffen
2017-12-29 22:08 Michael Haubenwallner
2017-12-12 18:53 Fabian Groffen
2017-09-13 14:06 Michael Haubenwallner
2016-10-03 12:48 Fabian Groffen
2016-04-28 10:57 Michael Haubenwallner
2016-04-18  8:07 Michael Haubenwallner
2016-03-28 11:11 Alexey Shvetsov
2016-03-28  9:19 Alexey Shvetsov
2016-02-03 15:06 Alexey Shvetsov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1748001938.0a601404a7f77d5ad6085336021c7c2cb7b521d0.grobian@gentoo \
    --to=grobian@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox