commit:     7456de7c55bc09c7c471996c1d0d3d64815b75ca
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 13 11:15:55 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Feb 13 11:16:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7456de7c

sys-devel/gcc: backport libarchive miscompilation fix for 14.0.1

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

 sys-devel/gcc/Manifest                         |  1 +
 sys-devel/gcc/gcc-14.0.1_pre20240211-r1.ebuild | 64 ++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 8b57c284d522..06d936354cf2 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -44,6 +44,7 @@ DIST gcc-14.0.0-patches-18.tar.xz 13292 BLAKE2B 
daa75e2a96a816dc61068a4fb35b7bef
 DIST gcc-14.0.0-patches-19.tar.xz 13348 BLAKE2B 
c006eff626131ff839330cab265c0183cfe04b116d9d1db40ce4126318dc688397b63991fbf014291df00edd533792efd196696de9305a89704ed929beb19f81
 SHA512 
9448bda7a5e932f32a507e7b8844e0d251b8e61911b12001948c10e96a8677147f95997c9aaf5838a6d8b134b513df5c0c0c690e47e7220882254894689289fe
 DIST gcc-14.0.0-patches-20.tar.xz 18184 BLAKE2B 
7f17ca61ed2d7e131b6a742569dafb59058028ba3062e54a235cddccd76c77b9e36fc42efc4ca30e30b6112e08c8435b10d7acfef8191f1e089eb8d0c8b5c9d5
 SHA512 
dbfcab8ca728483d2f291339c22226f8f64cd56df96660cce963e3f86b267c42098e3f41c9b9758ad4d85e954466aecfdff8e68073145f52d31a387ef941f611
 DIST gcc-14.0.0-patches-21.tar.xz 13292 BLAKE2B 
8a6c0354a94cc4cd46fc5fe8c3eca0ff6378ab44009bea2457f275e119b0129bd14d3d4a1a37113eea6ed0a44641bdf4bb5c1740ea9a5e0d4c01af1012456966
 SHA512 
bd6c594c17b30f7bc47b48e75c89187e198c9a6a547b69e05e095c1e428400cea702ea01de124ab94bd80451fe762193a8f9047272a130106d4516258cdb08a7
+DIST gcc-14.0.0-patches-22.tar.xz 14380 BLAKE2B 
32d280358c56f446de795428c2e7b64ca4110177f4fdcacb0a636f71593afa91c6d0db00df73df32bd0508347f1ecead1516ca9a31a13c9667603eb57db79472
 SHA512 
4f241702eb364ccff2ba06d4fd884c79d497428e2516c9f53cdc66169b069fd445e42564128b47ffff7599bd07a07515bc2c4f7852d51b71164ec36f215b4eba
 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-14.0.1_pre20240211-r1.ebuild 
b/sys-devel/gcc/gcc-14.0.1_pre20240211-r1.ebuild
new file mode 100644
index 000000000000..401db38e9c70
--- /dev/null
+++ b/sys-devel/gcc/gcc-14.0.1_pre20240211-r1.ebuild
@@ -0,0 +1,64 @@
+# 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="14.0.0"
+PATCH_VER="22"
+MUSL_VER="1"
+MUSL_GCC_VER="14.0.0"
+
+if [[ ${PV} == *.9999 ]] ; then
+       MY_PV_2=$(ver_cut 2)
+       MY_PV_3=1
+       if [[ ${MY_PV_2} == 0 ]] ; then
+               MY_PV_2=0
+               MY_PV_3=0
+       else
+               MY_PV_2=$((${MY_PV_2} - 1))
+       fi
+
+       # e.g. 12.2.9999 -> 12.1.1
+       TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -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 ~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=">=${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