summaryrefslogtreecommitdiff
path: root/sys-devel/gcc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-04-12 17:41:40 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-04-12 17:41:40 +0100
commit5b36c18aaba339882ed70281371a1059d9e7943f (patch)
treeee1cf1ca0dffa2095e5f17a0f50578fee7f5562e /sys-devel/gcc
parentd15be4fe2ff3e70717117a938dbe5a11cec60a7b (diff)
gentoo auto-resync : 12:04:2023 - 17:41:40
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/Manifest3
-rw-r--r--sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109462-clang-LocalizationChecker-ranger-any-PHI.patch46
-rw-r--r--sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109473-ICE-reduction-epilog.patch58
-rw-r--r--sys-devel/gcc/gcc-13.0.1_pre20230409-r4.ebuild60
4 files changed, 167 insertions, 0 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index b3b090606473..dea462e3ffde 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,7 +1,9 @@
AUX gcc-13.0.1_pre20230326-76_all_all_PR109265_PR109274_PR109325_range_def_chain.patch 6907 BLAKE2B 3fcbedc9b330207972a17d5b48a307911b0a94ec0f2a0e9bc22b39f8c7ca0cf0709afbf2af69d7d8596393ad163db043848c2f3cc9352060a4cb1bb4f673fa92 SHA512 a5988d63a182eda8da6cb95269e9474323b5681cba7d91f1dae71fb914ff0b210fac092d94e4427c8065e0a44cd1e4b96de08fd0267eeda88dd0ba96c556c742
AUX gcc-13.0.1_pre20230402-PR109304-ICE-python3.12.patch 2394 BLAKE2B f6b8cdbf2a9c048feee65484d4d97dc9740718541c6ec6fc85b25f02b72a2b19cfd11883ebee3a6debaa61945416c09f4ad767b8cb68b85192949ce168394f5c SHA512 1914631ff344687b16d6a9363faf7ddf270fbf4093962d93c3f9f1009b49895b4bb9e4eca1e8794bd59a33e6568325e28b15a20ec260cc1dd340e4960c62aa2c
AUX gcc-13.0.1_pre20230409-PR109434-DSE-throw.patch 1856 BLAKE2B 55e5516c449e8f6c9968b914ec708331a5ef347b2be0d80f50c064d52e76229e4df3b325a99a57f5afe254ce57699bc628dcdd7a4d9a6f715183cd622116ef6b SHA512 f9f870949f80d725b6dc577f4c25867463c5258f97b35804ac526c708ac94feaf4dacb01171452c188b5d438321d07a9d31ac24e68466a9a459a6f86274a0978
+AUX gcc-13.0.1_pre20230409-PR109462-clang-LocalizationChecker-ranger-any-PHI.patch 2018 BLAKE2B e747b0a2b8bbdcaef70f6cbda472158b1c66d88db91a05ecb22b50706c54af7842aed7a6a8057ac9b96a85cb7534cc47bae78a5a2090028b4d9c35b38188a89c SHA512 40d2500819c4c665ea75eef26ab4098cb0eef910e1a34646fb63d862eec9870216de2c8690f48f14ed918c232aed9c0112047b37ddb5efaaaa589b19565a8b19
AUX gcc-13.0.1_pre20230409-PR109469-SLP-returns-twice.patch 1930 BLAKE2B e5c5465b88a1b00afe3c85d1e4775b4fc1f19667d7e5c3e74a944fd9150d15f804b783d0f0696f0af8957368d270bc4b032a920fbff51eea09c34008e1dfc692 SHA512 0f9f6b1e94300f6351c608b09b649bdde283f84a0b4b1c5f81393075367c05a2b9986bf8bfabb560392ecd70275de9bd8230e6fbfd8af523c489f094361b9137
+AUX gcc-13.0.1_pre20230409-PR109473-ICE-reduction-epilog.patch 2097 BLAKE2B 75b7f9a81a8f8891187bbbf4a188e6bec76bea1d7f98b8bd6b4f85e4431ffd9bc4630c5388cec2efdbfa6c052cd2343cd75edbe81aa7117a1dd301408fe9e925 SHA512 80399264015833842de0ac7420b1758a7a031f6cb0ec92f270a369056ba1ace1811db28c37c2fe41aad25399bfaf532be151a0b98e08648c8cf7b3d6bcfb8f46
AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10-20230119.tar.xz 72112952 BLAKE2B 6e28cba9f6ff5c9f9231828bb400c82b8658a4f9c0166c28a6a12d71728d4460904152a8c84bbeff88c06b7f9378937b7b61bf4a871a10c56bd005170dc5fde2 SHA512 6cbb567ef1da1b6fa65892b6e71c3b7cd37e0c483e049720ea1987d444a0e7b4eb15d1e99f4e35995acdce560a811a779574eeba52bb252c61325accedd6a5c5
@@ -56,6 +58,7 @@ EBUILD gcc-13.0.1.9999.ebuild 1307 BLAKE2B 71019cdeaf209a3c82cb4c6c2a4d6827f027d
EBUILD gcc-13.0.1_pre20230409-r1.ebuild 1354 BLAKE2B b1dcf92771940c65b4862f76107df49bdc811c279fa33205cc63d8ed74ceed786712e42a7c050e691a30494b3b55c7bcf62e14d7baa2550c392b7d0bac0007d0 SHA512 4e49f8ea0487bd4cf57a2518647e1dc1f82e1b891a200463f2c17f6285b67070abd1d732ef2c578389a927f142495b3f721a6017f211684b27a3f5ce903cd774
EBUILD gcc-13.0.1_pre20230409-r2.ebuild 1414 BLAKE2B 800e6b88062a76573c5aa578d110279b9a5fefd8f1fb343a34b4143a98a5a6a16530df0901fefc594f6bdf6ce097041ce3bf4ee9d675e6edc5c4bc3744908096 SHA512 92a999cc70ad9c0f25affd67de4b1d7974c4f0df9373a5e39dba37329fe40de4c417bba494122846f1834abb4262407a2e6046facf641495a61e0fe0ab07944e
EBUILD gcc-13.0.1_pre20230409-r3.ebuild 1466 BLAKE2B b7e13173a533de6b8c5e546e2b8744934cb0ad3a2277fb6e7bf8f4a69444a215c1069d07e5d83d81d08d3ce67e05a541a0a5d4b0c1de7256257fa4bfb6863ca1 SHA512 32ac41406e31d0a3785b35621775b7d8f7eb3ddded2d72028ad173f7363009b1895c5d466e2fd148b3927038d47ca20947214d1ebdc5ce9ea0b60ba679156e46
+EBUILD gcc-13.0.1_pre20230409-r4.ebuild 1612 BLAKE2B a0496149790bff7829c140ff9e2f2fbad8b13a3aacb0c6c20af2137bd51936d1aaa9e4e46ad10d5cea8f42039f692a290897775b7fb9f39873d46fbdaffa48b4 SHA512 ffd79d04c85dc9d76e51e7eafeb8a6ae7633f45b89364f4b20744dc4e98e6f3af9690eb25dea7fb5175bbeeb010a6afb432401730108fdbfc2cc68322dc62310
EBUILD gcc-13.0.1_pre20230409.ebuild 1354 BLAKE2B b1dcf92771940c65b4862f76107df49bdc811c279fa33205cc63d8ed74ceed786712e42a7c050e691a30494b3b55c7bcf62e14d7baa2550c392b7d0bac0007d0 SHA512 4e49f8ea0487bd4cf57a2518647e1dc1f82e1b891a200463f2c17f6285b67070abd1d732ef2c578389a927f142495b3f721a6017f211684b27a3f5ce903cd774
EBUILD gcc-8.5.0-r1.ebuild 498 BLAKE2B e24f62fdb50bf2e9957cbb85c72adc96d369938a7f552735772de964f7023b8b34bd11e7e544d268cc308e25272084a728bd061f37c568d42ea65d55bb2a2e93 SHA512 f35b353e9f54eb3e1c6f8e0ea262458b41da9bddb993793aff79f765c4d93811744979d34e50c6470a9b2cfb63b7006bd284d819b7a98e56a8b3a34ae570ae76
EBUILD gcc-9.5.0.ebuild 844 BLAKE2B 719c259a6f39c72f7d1748095a9e649d4ab3dde04b118125313ab9b915eb9cbd038592532185317080dbc46d73a8bd324b498462db73b12d23144cd58378dd9c SHA512 1ed19c79239d155be3b267fcad4d7230821406ba8fb2c11857168fc0e717c4edcd8d7fb0972bc6df0fbcfbd8a9f085aa023f452368278c0e7e0af014c1124d89
diff --git a/sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109462-clang-LocalizationChecker-ranger-any-PHI.patch b/sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109462-clang-LocalizationChecker-ranger-any-PHI.patch
new file mode 100644
index 000000000000..2b5ea5ad826a
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109462-clang-LocalizationChecker-ranger-any-PHI.patch
@@ -0,0 +1,46 @@
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109462
+https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=24af552876eff707f75d30d3f0f0e7a5d62dd857
+
+From 24af552876eff707f75d30d3f0f0e7a5d62dd857 Mon Sep 17 00:00:00 2001
+From: Andrew MacLeod <amacleod@redhat.com>
+Date: Tue, 11 Apr 2023 17:29:03 -0400
+Subject: [PATCH] Don't use ANY PHI equivalences in range-on-entry.
+
+PR 108139 dissallows PHI equivalencies in the on-entry calculator, but
+it was only checking if the equivlaence was a PHI. In this case, NAME
+itself is a PHI with an equivlaence caused by an undefined value, so we
+also need to check that case. Unfortunately this un-fixes 101912.
+
+ PR tree-optimization/109462
+ gcc/
+ * gimple-range-cache.cc (ranger_cache::fill_block_cache): Don't
+ check for equivalences if NAME is a phi node.
+
+ gcc/testsuite/
+ * gcc.dg/uninit-pr101912.c: XFAIL the warning.
+--- a/gcc/gimple-range-cache.cc
++++ b/gcc/gimple-range-cache.cc
+@@ -1218,7 +1218,9 @@ ranger_cache::fill_block_cache (tree name, basic_block bb, basic_block def_bb)
+ fprintf (dump_file, "\n");
+ }
+ // See if any equivalences can refine it.
+- if (m_oracle)
++ // PR 109462, like 108139 below, a one way equivalence introduced
++ // by a PHI node can also be through the definition side. Disallow it.
++ if (m_oracle && !is_a<gphi *> (SSA_NAME_DEF_STMT (name)))
+ {
+ tree equiv_name;
+ relation_kind rel;
+--- a/gcc/testsuite/gcc.dg/uninit-pr101912.c
++++ b/gcc/testsuite/gcc.dg/uninit-pr101912.c
+@@ -11,7 +11,7 @@ tzloadbody (void)
+ for (int i = 0; i < n; i++)
+ {
+ int corr = getint ();
+- if (corr < 1 || (corr == 1 && !(leapcnt == 0 || (prevcorr < corr ? corr == prevcorr + 1 : (corr == prevcorr || corr == prevcorr - 1))))) /* { dg-bogus "uninitialized" } */
++ if (corr < 1 || (corr == 1 && !(leapcnt == 0 || (prevcorr < corr ? corr == prevcorr + 1 : (corr == prevcorr || corr == prevcorr - 1))))) /* { dg-bogus "uninitialized" "pr101912" { xfail *-*-* } } */
+ return -1;
+
+ prevcorr = corr;
+--
+2.31.1
diff --git a/sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109473-ICE-reduction-epilog.patch b/sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109473-ICE-reduction-epilog.patch
new file mode 100644
index 000000000000..cab26653a09d
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-13.0.1_pre20230409-PR109473-ICE-reduction-epilog.patch
@@ -0,0 +1,58 @@
+https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=df7f55cb2ae550adeda339a57b657ebe1ad39367
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109473
+
+From df7f55cb2ae550adeda339a57b657ebe1ad39367 Mon Sep 17 00:00:00 2001
+From: Richard Biener <rguenther@suse.de>
+Date: Wed, 12 Apr 2023 10:22:08 +0200
+Subject: [PATCH] tree-optimization/109473 - ICE with reduction epilog
+ adjustment op
+
+The following makes sure to carry out the reduction epilog adjustment
+in the original computation type which for pointers is an unsigned
+integer type. There's a similar issue with signed vs. unsigned ops
+and overflow which is fixed by this as well.
+
+ PR tree-optimization/109473
+ * tree-vect-loop.cc (vect_create_epilog_for_reduction):
+ Convert scalar result to the computation type before performing
+ the reduction adjustment.
+
+ * gcc.dg/vect/pr109473.c: New testcase.
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/vect/pr109473.c
+@@ -0,0 +1,16 @@
++/* { dg-do compile } */
++/* { dg-additional-options "-O" } */
++
++struct spa_buffer {
++ __UINT32_TYPE__ *metas;
++};
++void do_port_use_buffers(struct spa_buffer **buffers, void *endptr, void *mem)
++{
++ for (int i = 0; i < 128; i++)
++ {
++ for (int j = 0; j < 128; j++)
++ endptr = (void *)((__UINTPTR_TYPE__)endptr + buffers[i]->metas[j]);
++ if (endptr > mem)
++ return;
++ }
++}
+--- a/gcc/tree-vect-loop.cc
++++ b/gcc/tree-vect-loop.cc
+@@ -6297,9 +6297,12 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
+ {
+ new_temp = scalar_results[0];
+ gcc_assert (TREE_CODE (TREE_TYPE (adjustment_def)) != VECTOR_TYPE);
+- adjustment_def = gimple_convert (&stmts, scalar_type, adjustment_def);
+- new_temp = gimple_build (&stmts, code, scalar_type,
++ adjustment_def = gimple_convert (&stmts, TREE_TYPE (vectype),
++ adjustment_def);
++ new_temp = gimple_convert (&stmts, TREE_TYPE (vectype), new_temp);
++ new_temp = gimple_build (&stmts, code, TREE_TYPE (vectype),
+ new_temp, adjustment_def);
++ new_temp = gimple_convert (&stmts, scalar_type, new_temp);
+ }
+
+ epilog_stmt = gimple_seq_last_stmt (stmts);
+--
+2.31.1
diff --git a/sys-devel/gcc/gcc-13.0.1_pre20230409-r4.ebuild b/sys-devel/gcc/gcc-13.0.1_pre20230409-r4.ebuild
new file mode 100644
index 000000000000..f1ae324ca919
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.0.1_pre20230409-r4.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_VER="9"
+PATCH_GCC_VER="13.1.0"
+MUSL_VER="1"
+MUSL_GCC_VER="13.1.0"
+
+if [[ $(ver_cut 3) == 9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=$(($(ver_cut 3) - 9998))
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$(($(ver_cut 2) - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+fi
+
+inherit toolchain
+# Needs to be after inherit (for now?), bug #830908
+EGIT_BRANCH=master
+
+# Don't keyword live ebuilds
+if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~loong"
+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 "${FILESDIR}"/${P}-PR109469-SLP-returns-twice.patch
+ eapply "${FILESDIR}"/${P}-PR109434-DSE-throw.patch
+ eapply "${FILESDIR}"/${P}-PR109473-ICE-reduction-epilog.patch
+ eapply "${FILESDIR}"/${P}-PR109462-clang-LocalizationChecker-ranger-any-PHI.patch
+ eapply_user
+}