commit:     cdcd99a6abad0a6c524d2edb73aecdfc5e62244c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  8 18:43:45 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jul  8 18:44:36 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdcd99a6

sys-devel/gcc: fix Qt miscompilation in 15

Fix Qt vs PTA (bug #956308, PR120358). Thanks to Kacper Słomiński,
Alexander Monakov, and Holger Hoffstätte for their help on this.

Bug: https://bugs.gentoo.org/956308
Bug: https://gcc.gnu.org/PR120358
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/gcc/Manifest                       |  1 +
 sys-devel/gcc/gcc-15.1.1_p20250705-r1.ebuild | 56 ++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index d9c483ede0c4..8ed7a7b68a6b 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -51,6 +51,7 @@ DIST gcc-15-20250628.tar.xz 92108604 BLAKE2B 
45801afeb773ea1249441041d268b03477d
 DIST gcc-15-20250705.tar.xz 92140172 BLAKE2B 
ac66bdda7beccab8b5b5565852e7f9743ba6f1cdeaa8ca7d15b14369251a0b592f92714c8c12e05df7d52d296a15843fe3301906e7e3c3574483be1e5485ffce
 SHA512 
4a7304ed4ada55f5d37c191627de9f62e86c0a374987a3cdf43695ef436ab3eeeb7a143e5a11c3e5cac01c8c23c035f126d0c0a10dfd7686c8ec537dde61b9eb
 DIST gcc-15.1.0-musl-patches-1.tar.xz 3036 BLAKE2B 
f7e8b794feb3c30252dd3e35b990c8a134d337e285a2778ad5575b04667cf01040bf4187252151cd57097cd6d440851843156c9631736f4f065ca8b7ce2f0678
 SHA512 
4d3f1660d89484f63ad6c238884415673cdfdabb8833cce2fe114193b52f11b3518b034881024527f6553de93936d15ed707d4d2b1e8221908a08ec67810464b
 DIST gcc-15.1.0-patches-1.tar.xz 18628 BLAKE2B 
ee5fc9d6a06374ccc8d85cd1e269514fde8fed9b1810867a199ac747c09fc166e11e54ba531d42ee2ffbab3ca80277f9ad3c873fbaa3530ff60e5f2bc25c41ba
 SHA512 
72992f0698f632c98abd6d8c7a7a38a109b2f064775a0c5029e44dc29cd88ae061cddd603d47eabced5af5f8571e0b73c9778080873c69dd4dc4766c60339b28
+DIST gcc-15.1.0-patches-2.tar.xz 19340 BLAKE2B 
ea8be3f2a79cfbc69583dd7b96590ebfb74a3ccb90a5f36700c66369c44b349d69f5e9903d83e1db1807dcbe77e6fd46221964c52fd0a594e6853c6e01d638f0
 SHA512 
954ddca48ebe44e1e93bf938b493d347592a4a0cb255a980a893cf5ff5378c6ac333389f0fcdff6fa4cefbd40212f0a32c64cdefc9e9874df44a2db904fdc5f6
 DIST gcc-15.1.0.tar.xz 98268344 BLAKE2B 
a902ce99db4e93615879e435bcd0b96d5a16ea0af42598ca0e6d12913b2ce3651a98574c3264b2717b848e6b5a823b403ccca0adde463938d5b41aa3f1da0d34
 SHA512 
ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1
 DIST gcc-16-20250615.tar.xz 94008204 BLAKE2B 
31c303929d60423cb2355c35f9b3d7e37108ed7ec3b66b411463e3681ddbc088c7556cc7a1639b83bc470ae833987158b206d8044c2f2a22c40661e79bcae252
 SHA512 
e69a6eea38b75aab569ff7cbabae06da27198fb07d7009dee44b8d81cbeceb4b9e6bd07b9db6a1b347d9ea286353b5a9619ee800f243ac02ec13126c1d4183f3
 DIST gcc-16-20250622.tar.xz 94019404 BLAKE2B 
0f4adc77b90c864efbb07e5a132642ade9ffb1b57920afcc0695bf170f33d979c7bac465038f5e4e7f0e06c54aaca32be947f2b4ec912cf7a504e560df768ea4
 SHA512 
9e35a51a369e7ff362fe0f9d4b8200f1d9330ec4e0cff4d8d61343e6ae5030c178469cb1af0c11768ba78f496ba521aca2b68b6e940db48f0496b829d288fbc4

diff --git a/sys-devel/gcc/gcc-15.1.1_p20250705-r1.ebuild 
b/sys-devel/gcc/gcc-15.1.1_p20250705-r1.ebuild
new file mode 100644
index 000000000000..948c511d1d77
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.1.1_p20250705-r1.ebuild
@@ -0,0 +1,56 @@
+# 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
+PATCH_GCC_VER="15.1.0"
+PATCH_VER="2"
+MUSL_VER="1"
+MUSL_GCC_VER="15.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=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+       # Don't keyword live ebuilds
+       #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~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}"
+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 "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+       eapply_user
+}

Reply via email to