commit:     7000929e1aa30f3b1b4c4cc282b9a2849952d76a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 10 17:27:25 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 10 17:53:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7000929e

sys-devel/gcc: backport two fixes for 15

A severe miscompilation and a severe ICE fix.

Bug: https://gcc.gnu.org/PR115387
Bug: https://gcc.gnu.org/PR115395
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/gcc/Manifest                         |  1 +
 sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild | 53 ++++++++++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 273159a9a464..9d23ded17d72 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -42,6 +42,7 @@ DIST gcc-15-20240609.tar.xz 88288628 BLAKE2B 
25ee6b2071fd189d5099160a1b9594cd0cd
 DIST gcc-15.0.0-musl-patches-1.tar.xz 3596 BLAKE2B 
48fddc723ec8282cc2704c795a50fb37a46738a555151e0430180dda61d039fe96b29a6c3e8a543386d69690302bf46dfc89aad572082b7e47c928c0ccefdeb0
 SHA512 
e43284d02e25b77b911ce90d57520897751e86c631bdd6beb7d2e4429000156801b8c11bd9a737ec11bc966812f13ae44b88c1893645f8e6c6f8dfddc636ec39
 DIST gcc-15.0.0-patches-1.tar.xz 11588 BLAKE2B 
0623914dcf3ee0d44c729776cebbecfe92b256039a48c91e3fc16a27254a9c40436a1b6ea7fa9285914b153af861ea98ab845515169af204eeea0243c890a652
 SHA512 
7d3bcb1adcfa79c1672737125539fc0583f9c74eb8da0301ea0e441c68afeb7e1dbcbdffbf18e03b2515b4f23822a39e339298cf88ea94b93f5fc22b497cd545
 DIST gcc-15.0.0-patches-2.tar.xz 11404 BLAKE2B 
e7caba8101e55ed59b8e18a6f062c699081eb764bab40c39dcc70c058002773b36d551ef8d5b1c35bf68bfe2f5b6917b0fc4b7d647a6fcf0d6b321cec7ac0185
 SHA512 
41d900ded125702cefdb0ec6688137b63209db7f26bb812207df987c26de64dd1f63d6513632b33ef60ae1e3b0349512611218eff2f80f9a5ac88fcff3e29354
+DIST gcc-15.0.0-patches-3.tar.xz 15668 BLAKE2B 
99c332c7302bba0a790192bfcd81b8a273002884a2a89fc03f61d46ef669d9ba49496806400f86131c127b960862b97296148b6a0956946cc98470397c02579e
 SHA512 
f0effdadff0fc553835c13f0dedb903374f021d172a20f01e6e3e0a39495ead96229665ba1a82f0aa1e9b49c6ff367f5c6e2c3e336a84ca02efb96f1a373f18a
 DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 
7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7
 SHA512 
1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B 
aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12
 SHA512 
92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8
 DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 
1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e
 SHA512 
a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf

diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild 
b/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild
new file mode 100644
index 000000000000..13151f81a816
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240609-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="3"
+MUSL_VER="1"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+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=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+       # Don't keyword live ebuilds
+       #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips 
~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+       :;
+fi
+
+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="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+       DEPEND="${RDEPEND}"
+       BDEPEND="amd64? ( >=${CATEGORY}/binutils-2.30[cet(-)?] )"
+fi
+
+src_prepare() {
+       local p upstreamed_patches=(
+               # add them here
+       )
+       for p in "${upstreamed_patches[@]}"; do
+               rm -v "${WORKDIR}/patch/${p}" || die
+       done
+
+       toolchain_src_prepare
+
+       eapply_user
+}

Reply via email to