summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/Manifest5
-rw-r--r--sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch3
-rw-r--r--sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch120
-rw-r--r--sys-devel/gcc/files/gcc-configure-LANG.patch64
-rw-r--r--sys-devel/gcc/gcc-13.2.1_p20240210-r5.ebuild (renamed from sys-devel/gcc/gcc-13.2.0-r15.ebuild)10
5 files changed, 131 insertions, 71 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index e16b8399..bfa85b05 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,3 +1,4 @@
+DIST gcc-13-20240210.tar.xz 84354416 BLAKE2B 5807623d3f7dd751b6dfe164cfd50d57b2f93485c23c3c2228a4a846a9a94cdad52a5e6f2806e5e7ee2a7b5526386ebdb339c44c7ea023d69f8652088a1b114d SHA512 14a01ced7ac2bfd9fc93de4e3819b4d0823fbe129d3f1faabeb707e9e3e2613b4173321b58b3648a7250e3b7ff5d94edfee60e6c38682f31a1f7b57b1c01433f
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
-DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
-DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2
+DIST gcc-13.2.0-patches-14.tar.xz 46928 BLAKE2B fce23bc5315f35b04a4976550c4b44578944a1b17e40c7553351eeb8a1ef0f3a2538da5a5e1ae6f37b784ff11bbd8a44b8f6eec542be63e34d984dee69e1cd81 SHA512 d7d52bb2915fd89c06b0134bede8db939cadbb1f2dcddf923bee2c3f9f577ff9e5e986b60420d892539edf82867a0d1bd635807814bc618b06a2b37cdaca893a
+DIST gcc-validate-failures-a447cd6dee206facb66720bdacf0c765a8b09f33.py 27537 BLAKE2B 96c7474de0bc50ab890a91551412398c979396c43aa237a4b6d8baa98ce7fda2cc9f5a755a03fd9d055d885ee2fb40ba29644a0649c24398361ce75a20fae634 SHA512 409434953351cf1f2287f1e4a4fbde5b28a27add35ddd284080acec71b33cb4ec5e1c07f41a79fac060bd6f1eedd198812495141923e410ded907429fe515f83
diff --git a/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch b/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
index e4abe01a..e0e5a3ab 100644
--- a/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
+++ b/sys-devel/gcc/files/gcc-13-fix-cross-fixincludes.patch
@@ -1,7 +1,10 @@
Revert of https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=59e4c98173a79fcaa2c33253261409f38856c384
for now to fix cross fixincludes builds.
+https://gcc.gnu.org/PR115416
https://bugs.gentoo.org/905118
+https://bugs.gentoo.org/925204
+https://bugs.gentoo.org/926059
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -532,11 +532,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
diff --git a/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch b/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
new file mode 100644
index 00000000..d78c6d96
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
@@ -0,0 +1,120 @@
+https://gcc.gnu.org/PR115602
+https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=c43c74f6ec795a586388de7abfdd20a0040f6f16
+
+From c43c74f6ec795a586388de7abfdd20a0040f6f16 Mon Sep 17 00:00:00 2001
+From: Richard Biener <rguenther@suse.de>
+Date: Mon, 24 Jun 2024 09:52:39 +0200
+Subject: [PATCH] tree-optimization/115602 - SLP CSE results in cycles
+
+The following prevents SLP CSE to create new cycles which happened
+because of a 1:1 permute node being present where its child was then
+CSEd to the permute node. Fixed by making a node only available to
+CSE to after recursing.
+
+ PR tree-optimization/115602
+ * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the
+ bst-map to avoid cycles.
+
+ * gcc.dg/vect/pr115602.c: New testcase.
+---
+ gcc/testsuite/gcc.dg/vect/pr115602.c | 27 +++++++++++++++++++++++
+ gcc/tree-vect-slp.cc | 33 ++++++++++++++++++----------
+ 2 files changed, 48 insertions(+), 12 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.dg/vect/pr115602.c
+
+diff --git a/gcc/testsuite/gcc.dg/vect/pr115602.c b/gcc/testsuite/gcc.dg/vect/pr115602.c
+new file mode 100644
+index 00000000000..9a208d1d950
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/vect/pr115602.c
+@@ -0,0 +1,27 @@
++/* { dg-do compile } */
++
++typedef struct {
++ double x, y;
++} pointf;
++struct {
++ pointf focus;
++ double zoom;
++ pointf devscale;
++ char button;
++ pointf oldpointer;
++} gvevent_motion_job;
++char gvevent_motion_job_4;
++double gvevent_motion_pointer_1, gvevent_motion_pointer_0;
++void gvevent_motion() {
++ double dx = (gvevent_motion_pointer_0 - gvevent_motion_job.oldpointer.x) /
++ gvevent_motion_job.devscale.x,
++ dy = (gvevent_motion_pointer_1 - gvevent_motion_job.oldpointer.y) /
++ gvevent_motion_job.devscale.y;
++ if (dx && dy < .0001)
++ return;
++ switch (gvevent_motion_job_4)
++ case 2: {
++ gvevent_motion_job.focus.x -= dy / gvevent_motion_job.zoom;
++ gvevent_motion_job.focus.y += dx / gvevent_motion_job.zoom;
++ }
++}
+diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
+index e84aeabef94..b47b7e8c979 100644
+--- a/gcc/tree-vect-slp.cc
++++ b/gcc/tree-vect-slp.cc
+@@ -6079,35 +6079,44 @@ vect_optimize_slp_pass::run ()
+ static void
+ vect_cse_slp_nodes (scalar_stmts_to_slp_tree_map_t *bst_map, slp_tree& node)
+ {
++ bool put_p = false;
+ if (SLP_TREE_DEF_TYPE (node) == vect_internal_def
+ /* Besides some VEC_PERM_EXPR, two-operator nodes also
+ lack scalar stmts and thus CSE doesn't work via bst_map. Ideally
+ we'd have sth that works for all internal and external nodes. */
+ && !SLP_TREE_SCALAR_STMTS (node).is_empty ())
+ {
+- if (slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node)))
++ slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node));
++ if (leader)
+ {
+- if (*leader != node)
+- {
+- if (dump_enabled_p ())
+- dump_printf_loc (MSG_NOTE, vect_location,
+- "re-using SLP tree %p for %p\n",
+- (void *)*leader, (void *)node);
+- vect_free_slp_tree (node);
+- (*leader)->refcnt += 1;
+- node = *leader;
+- }
++ /* We've visited this node already. */
++ if (!*leader || *leader == node)
++ return;
++
++ if (dump_enabled_p ())
++ dump_printf_loc (MSG_NOTE, vect_location,
++ "re-using SLP tree %p for %p\n",
++ (void *)*leader, (void *)node);
++ vect_free_slp_tree (node);
++ (*leader)->refcnt += 1;
++ node = *leader;
+ return;
+ }
+
+- bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
++ /* Avoid creating a cycle by populating the map only after recursion. */
++ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), nullptr);
+ node->refcnt += 1;
++ put_p = true;
+ /* And recurse. */
+ }
+
+ for (slp_tree &child : SLP_TREE_CHILDREN (node))
+ if (child)
+ vect_cse_slp_nodes (bst_map, child);
++
++ /* Now record the node for CSE in other siblings. */
++ if (put_p)
++ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
+ }
+
+ /* Optimize the SLP graph of VINFO. */
+--
+2.43.0
diff --git a/sys-devel/gcc/files/gcc-configure-LANG.patch b/sys-devel/gcc/files/gcc-configure-LANG.patch
deleted file mode 100644
index d1b1b035..00000000
--- a/sys-devel/gcc/files/gcc-configure-LANG.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
-option parsing, it may break.
-
-http://bugs.gentoo.org/103483
-
---- configure
-+++ configure
-@@ -54,6 +54,19 @@
- infodir='${prefix}/info'
- mandir='${prefix}/man'
-
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-+ eval $as_var=C; export $as_var
-+ else
-+ unset $as_var
-+ fi
-+done
-+
- # Initialize some other variables.
- subdirs=
- MFLAGS= MAKEFLAGS=
-@@ -452,16 +463,6 @@
- esac
- done
-
--# NLS nuisances.
--# Only set these to C if already set. These must not be set unconditionally
--# because not all systems understand e.g. LANG=C (notably SCO).
--# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
--# Non-C LC_CTYPE values break the ctype check.
--if test "${LANG+set}" = set; then LANG=C; export LANG; fi
--if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
--if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
--if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
--
- # confdefs.h avoids OS command line length limits that DEFS can exceed.
- rm -rf conftest* confdefs.h
- # AIX cpp loses on an empty file, so make sure it contains at least a newline.
-@@ -1850,6 +1850,19 @@
- # Compiler output produced by configure, useful for debugging
- # configure, is in ./config.log if it exists.
-
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval \$as_var=C; export \$as_var) 2>&1`"); then
-+ eval \$as_var=C; export \$as_var
-+ else
-+ unset \$as_var
-+ fi
-+done
-+
- ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
- for ac_option
- do
diff --git a/sys-devel/gcc/gcc-13.2.0-r15.ebuild b/sys-devel/gcc/gcc-13.2.1_p20240210-r5.ebuild
index 37ace27c..ddcc19f0 100644
--- a/sys-devel/gcc/gcc-13.2.0-r15.ebuild
+++ b/sys-devel/gcc/gcc-13.2.1_p20240210-r5.ebuild
@@ -1,14 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
PATCH_GCC_VER="13.2.0"
-PATCH_VER="3"
+PATCH_VER="14"
MUSL_VER="2"
MUSL_GCC_VER="13.2.0"
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
if [[ ${PV} == *.9999 ]] ; then
MY_PV_2=$(ver_cut 2)
@@ -38,7 +39,7 @@ if tc_is_live ; then
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
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"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
:;
fi
@@ -48,7 +49,6 @@ if [[ ${CATEGORY} != cross-* ]] ; then
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
- BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
fi
src_prepare() {