commit: d54bb0c0d861e7dc903bf40d1da958558ef0c8d1 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Aug 20 01:14:02 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Aug 20 01:14:02 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d54bb0c0
sys-devel/gcc: revert C++ change and update TLS patch in 16.0.0_p20250817-r1 Revert the C++ change causing issues w/ shadowed variables. Also, update the TLS miscompilation patch. Bug: https://gcc.gnu.org/PR121553 Closes: https://bugs.gentoo.org/961749 Closes: https://bugs.gentoo.org/961727 Closes: https://bugs.gentoo.org/961753 Signed-off-by: Sam James <sam <AT> gentoo.org> sys-devel/gcc/Manifest | 1 + sys-devel/gcc/gcc-16.0.0_p20250817-r1.ebuild | 56 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 506d67ced27e..a7d66d45656b 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -39,6 +39,7 @@ DIST gcc-16-20250810.tar.xz 95341000 BLAKE2B 6ccc5cac9a3c396c2b96658325186adf786 DIST gcc-16-20250817.tar.xz 95454224 BLAKE2B bee169637249ecf98f68e31d66b48601bfbe4ab6f41c1ed068cefc7ced54462513ebabe2b064a93f62f617fe7cea398b10a03e0fef08307b6dd8ae7aaea3de52 SHA512 d5c519e1e0e3a4d3e2102633ce26bdb435eb62eb50c96559662f4523c2d8cee04f38e907a48f1aa780b63e1c7f7712485675a950d1a34b9d5959184c247e7d7d DIST gcc-16.0.0-musl-patches-1.tar.xz 3040 BLAKE2B 18b16357699780eb470cf44a10710281955140103198e0bd55b75e1efe3dbec233689edb11e1b9a62f782f3d97293af4906c18c2c41613b422eda085ee819467 SHA512 5ba580c7c7bb9e62935a5162d44d357cc31185a113acff7498ed7b1ac43fd0a35de7c3de0c87f02fe0be46b5e55b49bb35d1f5cd470058d21a9ea4096a37e13d DIST gcc-16.0.0-patches-10.tar.xz 22444 BLAKE2B 7f2c0e610f4190ea4a1852278ff1f4cbd22505dcb44e645a2fde80c96bf16e3ab58728ec5fee82aa9fb51a5fbdf8d70de182f75b1e3b0d1d42838344d317e5c6 SHA512 893590e59ab85acf6419941e5801b0d2f96e5ddcd793157489e774b8e0b5dc088b537be96f3a1d16066b8a5bb7a76aed062833a05b934a52376a1783f444a9c6 +DIST gcc-16.0.0-patches-11.tar.xz 31964 BLAKE2B 095e6524ab47573d29f3b828c08acb7b2a84117be78e67b3872eea33b0fb266f7ed923addc13714fc29fe95b0edb49a5bb7d28778cb3a0174a243926da4df318 SHA512 7bc469a05e62bb974b1f08d51ebdeb54974f78ce51fe4743452ae5e13d6f7619a2c9f748a9d735fb92e765c190762f12117ab0d0951d51104686204583e1805c DIST gcc-16.0.0-patches-9.tar.xz 18504 BLAKE2B b51c4547a12c04db2f37f26cf5c9cf1d6fa003fe4dde657c179e13e4b0e52b8e847efbaf139b1a418687259321dc350c98f01ba17501a1330f0dc3b68516b3f8 SHA512 67e4fadca36d0562586aac4c86673c918072642c7e7589c7b47643f35336bcc3e2adaea40b332cddd24821d1d1876c6a902763827dbb62e8d9b08161c3dbe49a DIST gcc-8.5.0-patches-5.tar.xz 20188 BLAKE2B 45b29161105edc6344bb48f5bdf17e1aad6e8d9edb4d9434816425996c1b12c10f1303963776adad9db866d845f864d80d198a30e35ee6c204ca3659cf7a1401 SHA512 f22ab5d8e3116e2e896a5dcbbf5cef67dc5090182af364ef64fc22d2b28c029da5ed39f126f446721e388e7b6848239d01f5fc0346e49b96d5c04068b557f8f8 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 diff --git a/sys-devel/gcc/gcc-16.0.0_p20250817-r1.ebuild b/sys-devel/gcc/gcc-16.0.0_p20250817-r1.ebuild new file mode 100644 index 000000000000..31b9e6c606d0 --- /dev/null +++ b/sys-devel/gcc/gcc-16.0.0_p20250817-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="16.0.0" +PATCH_VER="11" +MUSL_VER="1" +MUSL_GCC_VER="16.0.0" +PYTHON_COMPAT=( python3_{11..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 ~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}" +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 +}
