From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D704C1581EE for ; Mon, 07 Apr 2025 04:05:19 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id BDA9534300B for ; Mon, 07 Apr 2025 04:05:19 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id B075C1102CE; Mon, 07 Apr 2025 04:05:18 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id A3EDD1102CE for ; Mon, 07 Apr 2025 04:05:18 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0F4FD343010 for ; Mon, 07 Apr 2025 04:05:18 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 9FAB1BE7 for ; Mon, 07 Apr 2025 04:05:16 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1743998690.642f5fa793e7a809b29443f474ce8feb09d03b5b.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc/files/, sys-devel/gcc/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-devel/gcc/Manifest sys-devel/gcc/files/gcc-15.0.1_pre20250323-disable-musttail.patch sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch sys-devel/gcc/files/gcc-15.0.1_pre20250330-lifetime-extension.patch sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild sys-devel/gcc/gcc-15.0.1_pre20250330-r1.ebuild sys-devel/gcc/gcc-15.0.1_pre20250330-r2.ebuild sys-devel/gcc/gcc-15.0.1_pre20250330-r3.ebuild sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild X-VCS-Directories: sys-devel/gcc/files/ sys-devel/gcc/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 642f5fa793e7a809b29443f474ce8feb09d03b5b X-VCS-Branch: master Date: Mon, 07 Apr 2025 04:05:16 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c97e8272-49fd-4e7a-b6a8-fc7d3af4030c X-Archives-Hash: 2170b8211e1fb19ab639b7875159d993 commit: 642f5fa793e7a809b29443f474ce8feb09d03b5b Author: Sam James gentoo org> AuthorDate: Mon Apr 7 04:04:33 2025 +0000 Commit: Sam James gentoo org> CommitDate: Mon Apr 7 04:04:50 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=642f5fa7 sys-devel/gcc: drop old 15 snapshots All the 0330-r* were extensive backports anyway. Signed-off-by: Sam James gentoo.org> sys-devel/gcc/Manifest | 8 - .../gcc-15.0.1_pre20250323-disable-musttail.patch | 199 --------------------- .../files/gcc-15.0.1_pre20250323-e2fsprogs.patch | 112 ------------ ...gcc-15.0.1_pre20250330-lifetime-extension.patch | 168 ----------------- sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild | 57 ------ sys-devel/gcc/gcc-15.0.1_pre20250330-r1.ebuild | 58 ------ sys-devel/gcc/gcc-15.0.1_pre20250330-r2.ebuild | 58 ------ sys-devel/gcc/gcc-15.0.1_pre20250330-r3.ebuild | 58 ------ sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild | 55 ------ 9 files changed, 773 deletions(-) diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 50b5979b4089..5dc9b00c73a3 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -31,17 +31,9 @@ DIST gcc-14-20250405.tar.xz 88235744 BLAKE2B 8de5bb1e182391c20b887b84da2ef04aab0 DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25 DIST gcc-14.2.0-patches-7.tar.xz 14244 BLAKE2B 11236e91e1fe83fec8ffaa40ec0cdd4b52a00a951e9aa9a7a0a932b234b8f1a9603333a7ccf55859f4ef53dd4d8ad1fd5c1d2514b6e45fce5b86bb58622a0ecc SHA512 5a4d86d943e31fa068b5a784c0132bd83c23243dcb3cf972557a42e004469a415e1b3185f31b1bb36f916594d475f266a2fda031a414e4a15e0bbfe471269eee DIST gcc-14.2.0-patches-8.tar.xz 14540 BLAKE2B 09f66035343d4cab694b8ab382170f8e2d546ddffedf3477f26edbd6a798ddf94294f569c2661729d40088d590bc17a4eb651710d8d9f66f33703734a1a82b67 SHA512 7a9a2724ef8db3c57b033d90751192969c16e5eaa8f4777b7f16470222ff3a18771b461bd89feaad701e7f0d573b883b487981588129933c732fb76117728b86 -DIST gcc-15-20250323.tar.xz 91685912 BLAKE2B cd56bfe95b80358cbc44ae27a15d297d60630495f452e5d8158f5dfb7be457cdbb144226ef3bc8bdac6eec7f9e20185240a7a4ddc229ab96b7a9ef5c502c308a SHA512 45e44a9136c466ef1ace86129cc5e4629f4cbeefd896967ef9701711a09f806ac0505232f5eb840823aeaca82c8e6107b6cbb3ea7b912264402b4faf5cd19788 -DIST gcc-15-20250330.tar.xz 91772420 BLAKE2B 164a4db7f83d40a010edbed11ecf949e459a5f0c866425812299d55ed96965fcc537bb40190dc78a16f66dfaa8da110b74fb612d8e76fe29ce4031d6196ef0b3 SHA512 719f5b1d79cd8ba4462d6916b1ddb401ca7ee9a9596610e6be00085fdf0d20c7ccbdc88983a22cfea73a0b21b28e1edb8dfd095ca95696362d1d9d62fe6551c2 DIST gcc-15-20250406.tar.xz 91871244 BLAKE2B d9b4f8b382c5755f62e5f8b89deac74fdbe177e3961c205bba1d887c2157486908b85e80e0171e4d1ed6233d0cd8704af89850a3d2f6dcf0c6e703aa27b23fd9 SHA512 3a4b135833660107b6d3129570a24b3977e7da0f85296d663cfa8949eb8b2bd97237086535b1ff3eaf6423afcf799d18f21aaadc4fcc35835dca2f10cc154c7c DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de -DIST gcc-15.0.0-patches-48.tar.xz 18120 BLAKE2B bfb1e7330c1c0499d2d0a0046506961cccaac1df8e5779f9de599e8b6d89e9014b512072159ed18fb58243e95716b79aaa0d7665e7742ceda117d40a867cf34f SHA512 1cc61250e943e2cae543a5336fdc9ad04851186f8f45e4b82cb9be287a804374e84066cec0efd55662211107cecde92f78b6d3c745e421bc83b3d60101be9ebd -DIST gcc-15.0.0-patches-50.tar.xz 25208 BLAKE2B 09e98c3dcdd3c60ede26c6e322d513b3df09efddfa21ea95b2cb7c3ee57b4c054f41fc60668706e33e56f022ef4b7cb96f7cc01b4a25d62d9777ef8b3b0d1ade SHA512 3b69d97a08c894a387fbcc4934bf0c519af8f66aff394c2a2565ed545fcb93f0bd70526cc74f5d952047d8d6782847c6d8e4aa7a408f0f89b1666c747ada8b4d -DIST gcc-15.0.0-patches-51.tar.xz 18672 BLAKE2B 3912f0db334c7169eb89f994625329348e60ba462f809ce52c93925b3dfa7b34bbc801ac4311c56ca53ab636a02b8e99a1fcca146e7089136c9af2a9f4e53f9a SHA512 65d2ded634c5f90a4c059339c820e7fcc0b9675c8ee7c7f1f30694964d6645ce78f7d061ec367da4f2da5078f3df68e69e83a2c65a37e3395800f294c7baca9b -DIST gcc-15.0.0-patches-52.tar.xz 26592 BLAKE2B 693032b28405f42159ef0371da45bae7edf020708e84c34db19a6646f6ab511d90e78e590eddb395b9688f67f98f810bc9382780f9790c9ca9f5c12b9ed98976 SHA512 b0ade13302f200874b8704a3f58e24f040b55b2090099cc8f28899f847ac76d6a13df9090eb41941acdf4fa91c4bfcd2fce568d49e2e78ace3e897e0f18d69c5 DIST gcc-15.0.0-patches-53.tar.xz 27892 BLAKE2B 0c1455cae4aee49051fb5a8c31b8f82765da8ad9509ef17cb8c9f96d2c53a73fe1c8cfc0a2708e3bce0f8deb6f5e16807d8739bfd06cc6c08788331a719ded73 SHA512 c8f375f4de882ba99872f649f2cbbcc1b9f89d3dc9b355c1d11abfb6daf3ae7e89b82e002497215b641175d42d9f9a94749add2af2a5b6bcc1f3f5b41320df5b -DIST gcc-15.0.1_pre20250330-patches-2.tar.xz 374992 BLAKE2B 11aa86f37ff7025488f2a3e5607f1bae0d4ecbc628251e5f6cd7e9446ec723f5f1ce2fdca867e97f0191b542ffba178e401b7acf10d1a9fc81c4c2f76503ca50 SHA512 4ec050a3dfe3ee4b9252987e83cb796f4cb5ed96a5c49dd4460028438513f802e0522831462aaac76c4c7dfbe7fa7dcb6946f1d692246750213d3aa3054e74c9 -DIST gcc-15.0.1_pre20250330-patches.tar.xz 148252 BLAKE2B 34c5d7ed6d7afd3c848ae82ab22a3007c7cd42b2c43c640c5ae01e55b3861a71c8a3206c16db407a6b089b7ab03431562c696d4135c9377c56fc671b3dfcef22 SHA512 ff54d8966370384a0ddbc2c9cd9e5aef808bd254a803dcd0d07ea4716c5a5b07d69a2c2cfede9f63960ac18ff0d499f6942aa613f46e90712f68666693a8f639 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/files/gcc-15.0.1_pre20250323-disable-musttail.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250323-disable-musttail.patch deleted file mode 100644 index 537496f9a2d2..000000000000 --- a/sys-devel/gcc/files/gcc-15.0.1_pre20250323-disable-musttail.patch +++ /dev/null @@ -1,199 +0,0 @@ -https://inbox.sourceware.org/gcc-patches/20250320013102.1336516-1-andi@firstfloor.org/ - -From 592f60bef27cb60ea6405ca8603449fc4d92e640 Mon Sep 17 00:00:00 2001 -Message-ID: <592f60bef27cb60ea6405ca8603449fc4d92e640.1742435883.git.sam@gentoo.org> -From: Andi Kleen -Date: Wed, 19 Mar 2025 18:31:02 -0700 -Subject: [PATCH] PR119376: Disable clang musttail - -There are multiple reports (see PR 119376) now where semantic differences -in the gcc musttail implementation break existing programs written for the clang -variant. - -Even though that can be all hopefully fixed eventually, -for the gcc 15 release it seems safer to disable clang::musttail, -and only keep gnu::musttail. - -That means that programs that use __has_c_attribute to check for -clang::musttail must opt-in explicitly. - -Reported-by: Sam James - -gcc/c/ChangeLog: - - PR ipa/119376 - * c-parser.cc (c_parser_handle_musttail): Drop clang namespace - check. - -gcc/cp/ChangeLog: - - PR ipa/119376 - * parser.cc (cp_parser_jump_statement): Drop clang namespace - check. - -gcc/ChangeLog: - - PR ipa/119376 - * doc/extend.texi: Drop clang::musttail reference. - -gcc/testsuite/ChangeLog: - -PR ipa/119376 - * c-c++-common/musttail23.c: Don't use clang::musttail - * c-c++-common/musttail24.c: Dito. - * c-c++-common/musttail3.c: Dito. - * g++.dg/musttail14.C: Dito. ---- - gcc/c/c-parser.cc | 5 ----- - gcc/cp/parser.cc | 6 ------ - gcc/doc/extend.texi | 2 +- - gcc/testsuite/c-c++-common/musttail23.c | 10 +++++----- - gcc/testsuite/c-c++-common/musttail24.c | 6 ------ - gcc/testsuite/c-c++-common/musttail3.c | 6 +++--- - gcc/testsuite/g++.dg/musttail14.C | 4 ++-- - 7 files changed, 11 insertions(+), 28 deletions(-) - -diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc -index d49d5c58659f..79654448acaa 100644 ---- a/gcc/c/c-parser.cc -+++ b/gcc/c/c-parser.cc -@@ -7409,11 +7409,6 @@ c_parser_handle_musttail (c_parser *parser, tree std_attrs, attr_state &attr) - std_attrs = remove_attribute ("gnu", "musttail", std_attrs); - attr.musttail_p = true; - } -- if (lookup_attribute ("clang", "musttail", std_attrs)) -- { -- std_attrs = remove_attribute ("clang", "musttail", std_attrs); -- attr.musttail_p = true; -- } - } - return std_attrs; - } -diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc -index 2fb1dc5992d4..da7700b55c64 100644 ---- a/gcc/cp/parser.cc -+++ b/gcc/cp/parser.cc -@@ -15342,12 +15342,6 @@ cp_parser_jump_statement (cp_parser* parser, tree &std_attrs) - musttail_p = true; - std_attrs = remove_attribute ("gnu", "musttail", std_attrs); - } -- /* Support this for compatibility. */ -- if (lookup_attribute ("clang", "musttail", std_attrs)) -- { -- musttail_p = true; -- std_attrs = remove_attribute ("clang", "musttail", std_attrs); -- } - - tree ret_expr = expr; - if (ret_expr && TREE_CODE (ret_expr) == TARGET_EXPR) -diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi -index b919df914648..50f95e968ff9 100644 ---- a/gcc/doc/extend.texi -+++ b/gcc/doc/extend.texi -@@ -10241,7 +10241,7 @@ have to optimize it to just @code{return 42 + 42;}. - @cindex @code{musttail} statement attribute - @item musttail - --The @code{gnu::musttail} or @code{clang::musttail} standard attribute -+The @code{gnu::musttail} standard attribute - or @code{musttail} GNU attribute can be applied to a @code{return} statement - with a return-value expression that is a function call. It asserts that the - call must be a tail call that does not allocate extra stack space, so it is -diff --git a/gcc/testsuite/c-c++-common/musttail23.c b/gcc/testsuite/c-c++-common/musttail23.c -index d2ba70b03250..1ceab1165129 100644 ---- a/gcc/testsuite/c-c++-common/musttail23.c -+++ b/gcc/testsuite/c-c++-common/musttail23.c -@@ -19,10 +19,10 @@ foo (int x) - [[gnu::musttail (1, "", 3)]] return bar (); /* { dg-error "'musttail' attribute does not take any arguments" } */ - /* { dg-error "expected" "" { target c } .-1 } */ - if (x == 3) -- [[clang::musttail (1)]] return bar (); /* { dg-error "'musttail' attribute does not take any arguments" } */ -+ [[gnu::musttail (1)]] return bar (); /* { dg-error "'musttail' attribute does not take any arguments" } */ - /* { dg-error "expected" "" { target c } .-1 } */ - if (x == 4) -- [[clang::musttail (1, "", 3)]] return bar (); /* { dg-error "'musttail' attribute does not take any arguments" } */ -+ [[gnu::musttail (1, "", 3)]] return bar (); /* { dg-error "'musttail' attribute does not take any arguments" } */ - /* { dg-error "expected" "" { target c } .-1 } */ - if (x == 5) - __attribute__((fallthrough, musttail)) return bar (); /* { dg-warning "attribute 'musttail' mixed with other attributes on 'return' statement" "" { target c } } */ -@@ -32,14 +32,14 @@ foo (int x) - [[fallthrough]] [[gnu::musttail]] return bar (); /* { dg-warning "'fallthrough' attribute ignored" "" { target c } } */ - /* { dg-warning "attributes at the beginning of statement are ignored" "" { target c++ } .-1 } */ - if (x == 7) -- [[clang::musttail, fallthrough]] return bar (); /* { dg-warning "'fallthrough' attribute ignored" "" { target c } } */ -+ [[gnu::musttail, fallthrough]] return bar (); /* { dg-warning "'fallthrough' attribute ignored" "" { target c } } */ - /* { dg-warning "attributes at the beginning of statement are ignored" "" { target c++ } .-1 } */ - if (x == 8) - __attribute__((musttail, musttail)) return bar (); - if (x == 9) - [[gnu::musttail, gnu::musttail]] return bar (); - if (x == 10) -- [[clang::musttail]] [[clang::musttail]] return bar (); -+ [[gnu::musttail]] [[gnu::musttail]] return bar (); - if (x == 11) -- [[clang::musttail]] [[gnu::musttail]] return bar (); -+ [[gnu::musttail]] [[gnu::musttail]] return bar (); - } -diff --git a/gcc/testsuite/c-c++-common/musttail24.c b/gcc/testsuite/c-c++-common/musttail24.c -index 10c2d3f188d8..26b8dbfb4c8e 100644 ---- a/gcc/testsuite/c-c++-common/musttail24.c -+++ b/gcc/testsuite/c-c++-common/musttail24.c -@@ -8,14 +8,8 @@ - #if !__has_cpp_attribute (gnu::musttail) - #error missing gnu::musttail attribute - #endif --#if !__has_cpp_attribute (clang::musttail) --#error missing clang::musttail attribute --#endif - #else - #if !__has_c_attribute (gnu::musttail) - #error missing gnu::musttail attribute - #endif --#if !__has_c_attribute (clang::musttail) --#error missing clang::musttail attribute --#endif - #endif -diff --git a/gcc/testsuite/c-c++-common/musttail3.c b/gcc/testsuite/c-c++-common/musttail3.c -index 7499fd6460b4..daedca28852a 100644 ---- a/gcc/testsuite/c-c++-common/musttail3.c -+++ b/gcc/testsuite/c-c++-common/musttail3.c -@@ -11,7 +11,7 @@ struct str - cstruct (int x) - { - if (x < 10) -- [[clang::musttail]] return cstruct (x + 1); -+ [[gnu::musttail]] return cstruct (x + 1); - return ((struct str){ x, 0 }); - } - -@@ -19,11 +19,11 @@ int - foo (int x) - { - if (x < 10) -- [[clang::musttail]] return foo2 (x, 29); -+ [[gnu::musttail]] return foo2 (x, 29); - if (x < 100) - { - int k = foo (x + 1); -- [[clang::musttail]] return k; /* { dg-error "cannot tail-call: " } */ -+ [[gnu::musttail]] return k; /* { dg-error "cannot tail-call: " } */ - } - return x; - } -diff --git a/gcc/testsuite/g++.dg/musttail14.C b/gcc/testsuite/g++.dg/musttail14.C -index 810b45546d61..e4764a3bc03b 100644 ---- a/gcc/testsuite/g++.dg/musttail14.C -+++ b/gcc/testsuite/g++.dg/musttail14.C -@@ -58,8 +58,8 @@ garply (int x) - case 3: - __attribute__(()) [[gnu::musttail]] __attribute__(()) [[]] __attribute__(()) return qux (45); - case 4: -- [[]] __attribute__(()) [[clang::musttail]] __attribute__(()) [[]] return corge (46); -+ [[]] __attribute__(()) [[gnu::musttail]] __attribute__(()) [[]] return corge (46); - default: -- __attribute__(()) [[clang::musttail]] __attribute__(()) [[]] __attribute__(()) return freddy (47); -+ __attribute__(()) [[gnu::musttail]] __attribute__(()) [[]] __attribute__(()) return freddy (47); - } - } --- -2.49.0 diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch deleted file mode 100644 index 5619bd5ef5a4..000000000000 --- a/sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch +++ /dev/null @@ -1,112 +0,0 @@ -https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=584b346a4c7a6e6e77da6dc80968401a3c08161d - -From 584b346a4c7a6e6e77da6dc80968401a3c08161d Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Tue, 25 Mar 2025 16:55:24 +0100 -Subject: [PATCH] i386: Fix up combination of -2 r<<= (x & 7) into btr - [PR119428] - -The following patch is miscompiled from r15-8478 but latently already -since my r11-5756 and r11-6631 changes. -The r11-5756 change was -https://gcc.gnu.org/pipermail/gcc-patches/2020-December/561164.html -which changed the splitters to immediately throw away the masking. -And the r11-6631 change was an optimization to recognize -(set (zero_extract:HI (...) (const_int 1) (...)) (const_int 1) -as btr. - -The problem is their interaction. x86 is not a SHIFT_COUNT_TRUNCATED -target, so the masking needs to be explicit in the IL. -And combine.cc (make_field_assignment) has since 1992 optimizations -which try to optimize x &= (-2 r<< y) into zero_extract (x) = 0. -Now, such an optimization is fine if y has not been masked or if the -chosen zero_extract has the same mode as the rotate (or it recognizes -something with a left shift too). IMHO such optimization is invalid -for SHIFT_COUNT_TRUNCATED targets because we explicitly say that -the masking of the shift/rotate counts are redundant there and don't -need to be part of the IL (I have a patch for that, but because it -is just latent, I'm not sure it needs to be posted for gcc 15 (and -also am not sure if it should punt or add operand masking just in case)). -x86 is not SHIFT_COUNT_TRUNCATED though and so even fixing combine -not to do that for SHIFT_COUNT_TRUNCATED targets doesn't help, and we don't -have QImode insv, so it is optimized into HImode insertions. Now, -if the y in x &= (-2 r<< y) wasn't masked in any way, turning it into -HImode btr is just fine, but if it was x &= (-2 r<< (y & 7)) and we just -decided to throw away the masking, using btr changes the behavior on it -and causes e2fsprogs and sqlite miscompilations. - -So IMHO on !SHIFT_COUNT_TRUNCATED targets, we need to keep the maskings -explicit in the IL, either at least for the duration of the combine pass -as does the following patch (where combine is the only known pass to have -such transformation), or even keep it until final pass in case there are -some later optimizations that would also need to know whether there was -explicit masking or not and with what mask. The latter change would be -much larger. - -The following patch just reverts the r11-5756 change and adds a testcase. - -2025-03-25 Jakub Jelinek - - PR target/96226 - PR target/119428 - * config/i386/i386.md (splitter after *3_mask, - splitter after *3_mask_1): Revert 2020-12-05 - changes. - - * gcc.c-torture/execute/pr119428.c: New test. ---- - gcc/config/i386/i386.md | 6 ++++-- - gcc/testsuite/gcc.c-torture/execute/pr119428.c | 18 ++++++++++++++++++ - 2 files changed, 22 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/gcc.c-torture/execute/pr119428.c - -diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md -index 2b3cffc1f350..9d1b34e55959 100644 ---- a/gcc/config/i386/i386.md -+++ b/gcc/config/i386/i386.md -@@ -18168,7 +18168,8 @@ - [(set (match_dup 4) (match_dup 1)) - (set (match_dup 0) - (any_rotate:SWI (match_dup 4) -- (subreg:QI (match_dup 2) 0)))] -+ (subreg:QI -+ (and:SI (match_dup 2) (match_dup 3)) 0)))] - "operands[4] = gen_reg_rtx (mode);") - - (define_insn_and_split "*3_mask_1" -@@ -18202,7 +18203,8 @@ - == GET_MODE_BITSIZE (mode) - 1" - [(set (match_dup 4) (match_dup 1)) - (set (match_dup 0) -- (any_rotate:SWI (match_dup 4) (match_dup 2)))] -+ (any_rotate:SWI (match_dup 4) -+ (and:QI (match_dup 2) (match_dup 3))))] - "operands[4] = gen_reg_rtx (mode);") - - (define_insn_and_split "*3_add" -diff --git a/gcc/testsuite/gcc.c-torture/execute/pr119428.c b/gcc/testsuite/gcc.c-torture/execute/pr119428.c -new file mode 100644 -index 000000000000..33a93f46b3bd ---- /dev/null -+++ b/gcc/testsuite/gcc.c-torture/execute/pr119428.c -@@ -0,0 +1,18 @@ -+/* PR target/119428 */ -+ -+__attribute__((noipa)) void -+foo (unsigned int x, unsigned char *y) -+{ -+ y += x >> 3; -+ *y &= (unsigned char) ~(1 << (x & 0x07)); -+} -+ -+int -+main () -+{ -+ unsigned char buf[8]; -+ __builtin_memset (buf, 0xff, 8); -+ foo (8, buf); -+ if (buf[1] != 0xfe) -+ __builtin_abort (); -+} --- -2.43.5 diff --git a/sys-devel/gcc/files/gcc-15.0.1_pre20250330-lifetime-extension.patch b/sys-devel/gcc/files/gcc-15.0.1_pre20250330-lifetime-extension.patch deleted file mode 100644 index 42eed3f6bb86..000000000000 --- a/sys-devel/gcc/files/gcc-15.0.1_pre20250330-lifetime-extension.patch +++ /dev/null @@ -1,168 +0,0 @@ -https://inbox.sourceware.org/gcc-patches/Z-sCHDjucrcWTs2f@redhat.com/ - -From d1ddf83b25fbe6c7c247007c754b7858cfaea916 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Marek Polacek -Date: Mon, 31 Mar 2025 16:59:08 -0400 -Subject: [PATCH] c++: fix missing lifetime extension [PR119383] - -Since r15-8011 cp_build_indirect_ref_1 won't do the *&TARGET_EXPR -> -TARGET_EXPR folding not to change its value category. That fix seems -correct but it made us stop extending the lifetime in this testcase, -causing a wrong-code issue -- extend_ref_init_temps_1 did not see -through the extra *& because it doesn't use a tree walk. - -This patch reverts r15-8011 and instead handles the problem in -build_over_call by calling force_lvalue in the is_really_empty_class -case as well as in the general case. - - PR c++/119383 - -gcc/cp/ChangeLog: - - * call.cc (build_over_call): Use force_lvalue to ensure op= returns - an lvalue. - * cp-tree.h (force_lvalue): Declare. - * cvt.cc (force_lvalue): New. - * typeck.cc (cp_build_indirect_ref_1): Revert r15-8011. - -gcc/testsuite/ChangeLog: - -* g++.dg/cpp0x/temp-extend3.C: New test. ---- - gcc/cp/call.cc | 9 ++++--- - gcc/cp/cp-tree.h | 1 + - gcc/cp/cvt.cc | 13 +++++++++ - gcc/cp/typeck.cc | 10 +++---- - gcc/testsuite/g++.dg/cpp0x/temp-extend3.C | 32 +++++++++++++++++++++++ - 5 files changed, 55 insertions(+), 10 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/cpp0x/temp-extend3.C - -diff --git a/gcc/cp/call.cc b/gcc/cp/call.cc -index c1c8987ec8b1..b1469cb5a4c9 100644 ---- a/gcc/cp/call.cc -+++ b/gcc/cp/call.cc -@@ -10828,10 +10828,8 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) - if (is_really_empty_class (type, /*ignore_vptr*/true)) - { - /* Avoid copying empty classes, but ensure op= returns an lvalue even -- if the object argument isn't one. This isn't needed in other cases -- since MODIFY_EXPR is always considered an lvalue. */ -- to = cp_build_addr_expr (to, tf_none); -- to = cp_build_indirect_ref (input_location, to, RO_ARROW, complain); -+ if the object argument isn't one. */ -+ to = force_lvalue (to, complain); - val = build2 (COMPOUND_EXPR, type, arg, to); - suppress_warning (val, OPT_Wunused); - } -@@ -10852,6 +10850,9 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) - tree array_type, alias_set; - - arg2 = TYPE_SIZE_UNIT (as_base); -+ /* Ensure op= returns an lvalue even if the object argument isn't -+ one. */ -+ to = force_lvalue (to, complain); - to = cp_stabilize_reference (to); - arg0 = cp_build_addr_expr (to, complain); - -diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h -index 2f2122dcf241..927f51b116b3 100644 ---- a/gcc/cp/cp-tree.h -+++ b/gcc/cp/cp-tree.h -@@ -7079,6 +7079,7 @@ extern tree convert_to_reference (tree, tree, int, int, tree, - tsubst_flags_t); - extern tree convert_from_reference (tree); - extern tree force_rvalue (tree, tsubst_flags_t); -+extern tree force_lvalue (tree, tsubst_flags_t); - extern tree ocp_convert (tree, tree, int, int, - tsubst_flags_t); - extern tree cp_convert (tree, tree, tsubst_flags_t); -diff --git a/gcc/cp/cvt.cc b/gcc/cp/cvt.cc -index bd1f147f2c56..f663a6d08c89 100644 ---- a/gcc/cp/cvt.cc -+++ b/gcc/cp/cvt.cc -@@ -575,6 +575,19 @@ force_rvalue (tree expr, tsubst_flags_t complain) - return expr; - } - -+/* Force EXPR to be an lvalue, if it isn't already. */ -+ -+tree -+force_lvalue (tree expr, tsubst_flags_t complain) -+{ -+ if (!lvalue_p (expr)) -+ { -+ expr = cp_build_addr_expr (expr, complain); -+ expr = cp_build_indirect_ref (input_location, expr, RO_ARROW, complain); -+ } -+ return expr; -+} -+ - - /* If EXPR and ORIG are INTEGER_CSTs, return a version of EXPR that has - TREE_OVERFLOW set only if it is set in ORIG. Otherwise, return EXPR -diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc -index c8e4441fb8b4..4f4dc683b5a0 100644 ---- a/gcc/cp/typeck.cc -+++ b/gcc/cp/typeck.cc -@@ -3870,13 +3870,11 @@ cp_build_indirect_ref_1 (location_t loc, tree ptr, ref_operator errorstring, - return error_mark_node; - } - else if (do_fold && TREE_CODE (pointer) == ADDR_EXPR -- && same_type_p (t, TREE_TYPE (TREE_OPERAND (pointer, 0))) -- /* Don't let this change the value category. '*&TARGET_EXPR' -- is an lvalue, but folding it into 'TARGET_EXPR' would turn -- it into a prvalue of class type. */ -- && lvalue_p (TREE_OPERAND (pointer, 0))) -+ && same_type_p (t, TREE_TYPE (TREE_OPERAND (pointer, 0)))) - /* The POINTER was something like `&x'. We simplify `*&x' to -- `x'. */ -+ `x'. This change the value category: '*&TARGET_EXPR' -+ is an lvalue and folding it into 'TARGET_EXPR' turns it into -+ a prvalue of class type. */ - return TREE_OPERAND (pointer, 0); - else - { -diff --git a/gcc/testsuite/g++.dg/cpp0x/temp-extend3.C b/gcc/testsuite/g++.dg/cpp0x/temp-extend3.C -new file mode 100644 -index 000000000000..3eab88d0076e ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/temp-extend3.C -@@ -0,0 +1,32 @@ -+// PR c++/119383 -+// { dg-do run { target c++11 } } -+ -+int g; -+ -+struct base { -+ virtual base *clone() const = 0; -+ ~base() { } -+}; -+ -+struct impl : virtual base { -+ base *clone() const { return new impl; } // #1 -+ impl() { ++g; } -+ ~impl() { --g; } -+}; -+ -+const base * -+make_a_clone () -+{ -+ const base &base = impl{}; // #2 -+ return base.clone(); -+} -+ -+int -+main () -+{ -+ make_a_clone (); -+ // impl::impl() is called twice (#1 and #2), impl::~impl() once, -+ // at the end of make_a_clone. -+ if (g != 1) -+ __builtin_abort (); -+} - -base-commit: aa3aaf2bfb8fcc17076993df4297597b68bc5f60 --- -2.49.0 - diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild deleted file mode 100644 index 2a59abeeb80c..000000000000 --- a/sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# 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.0.0" -PATCH_VER="48" -MUSL_VER="2" -MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..13} ) - -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}"/${P}-e2fsprogs.patch - eapply "${FILESDIR}"/${P}-disable-musttail.patch - eapply_user -} diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250330-r1.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250330-r1.ebuild deleted file mode 100644 index f51cba8957f7..000000000000 --- a/sys-devel/gcc/gcc-15.0.1_pre20250330-r1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# 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.0.0" -PATCH_VER="50" -MUSL_VER="2" -MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..13} ) - -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 - 80_all_PR119376-tailc-Don-t-fail-musttail-calls-if-they-use-or-could.patch - ) - for p in "${upstreamed_patches[@]}"; do - rm -v "${WORKDIR}/patch/${p}" || die - done - - toolchain_src_prepare - eapply "${FILESDIR}"/${P}-lifetime-extension.patch - eapply "${FILESDIR}"/${PN}-15.0.1_pre20250323-disable-musttail.patch - eapply_user -} diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250330-r2.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250330-r2.ebuild deleted file mode 100644 index 6baa03cc8933..000000000000 --- a/sys-devel/gcc/gcc-15.0.1_pre20250330-r2.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# 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.0.0" -PATCH_VER="51" -MUSL_VER="2" -MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..13} ) - -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 - -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz" - -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 "${WORKDIR}"/gcc-15.0.1_pre20250330-patches - eapply_user -} diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250330-r3.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250330-r3.ebuild deleted file mode 100644 index de71eb2d85e3..000000000000 --- a/sys-devel/gcc/gcc-15.0.1_pre20250330-r3.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# 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.0.0" -PATCH_VER="52" -MUSL_VER="2" -MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..13} ) - -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 - -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-2.tar.xz" - -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 "${WORKDIR}"/gcc-15.0.1_pre20250330-patches-2 - eapply_user -} diff --git a/sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild b/sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild deleted file mode 100644 index 8a87e0ec2f08..000000000000 --- a/sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# 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.0.0" -PATCH_VER="50" -MUSL_VER="2" -MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..13} ) - -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_user -}