sys-devel/gcc: Sync with Gentoo

It's from Gentoo commit 2f2e4869481af74d1920c4f81cbbe1011a0c1703.
This commit is contained in:
Flatcar Buildbot 2024-10-21 07:08:39 +00:00
parent ae38312b3d
commit 7d18ad876b
10 changed files with 473 additions and 88 deletions

View File

@ -7,6 +7,7 @@ DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e
DIST gcc-12-20240919.tar.xz 79901284 BLAKE2B cac209e466ccdffd84610e22961bfbdcd70f6bdd838fe595aa5157670f2a3b9d7db688ffe700e4e7f643a1d3dd806686531e519b2a750b942be63a7dbd7dcb42 SHA512 b032e85be5720ea66b6183f3a5d9f2cc8505c21a0fbdb44d292d8143e37b3ec6e8c3417cb8fc7a18e7cbc961d61c51f681b3ea724086d325c05e7918f7949063
DIST gcc-12-20240926.tar.xz 79903576 BLAKE2B 704ee10a6e0c358ab4e5ebf9849c2c77f0576ddfc7698f3a5ceab5ada41b201bff3b0ea3f476c3fac7e16dbc606a1885d5042335ef207250f21106286b2587d9 SHA512 259ade01b6d8583bb7bca28b883c9bb1a6929ab7f16d67c14e264dd6118d791ea3bf29c07afa72856cd0612b5e1c1a4ae9224b0e332519956a3642115cb2d592
DIST gcc-12-20241003.tar.xz 79908436 BLAKE2B 8a07f081c0497d011fe14e9a56eaee2397dabab342b39fb7ca1144006be05ab5fcc599343cf14d7b235a5e3769d0e0883d7678fa263963041012fe4a5814eb14 SHA512 d13f43c85057b5f1f01f26255531675ebb98744e6ca2f3de81924976d3a67f5ce2e462751e1b830da2218e7947d1c8da5e736fc5527b9aa204b497a237e9f9f3
DIST gcc-12-20241010.tar.xz 79917636 BLAKE2B 514fa1370c1fcacce5afd9ee50278915976346aa2ae102679ebf27f28d752eca67d93d0a637a38b010100dd6cc909584d179edd98b42199fdf059b1d9c094fe2 SHA512 33b8133cf686cf72fd468df2fd55b6ec92e740feb21ae29cf5b451e13faf73687b871bb7092140b87925780c77cf227738d10e799b43da91f62ca7b863e6779d
DIST gcc-12.4.0-musl-patches-1.tar.xz 3068 BLAKE2B e5e39c24934072ea89e4467d0dc5196f3dadfb5ffba0c856d051648a2fbf57d434a57e95227cdf2b8cea45f0f5555aec2bc372d2f6cb0b69efd87831d248d364 SHA512 b9db204845a25be043d76cae826d42eebeeb4f9be7c3049af6fe7601a552bedfd24731156a6a36b4b5e2e2af656a589a5c556d2b0b3ded33ba290a773ee87c62
DIST gcc-12.4.0-patches-1.tar.xz 15576 BLAKE2B 98c29888de7701b365be7ac9062f0cee3340d58c85485e26f0d02f1483ec64cc9c10651488a4fd937551afe30f4e19777e6766871a724ae3ba6c290c16f4fdf1 SHA512 3f7c5d36e56e07ea9dd143a5d13342a6c1ccbf0643abd1c0bcbfb46bb7c7b1308aef6e3e882031c9c191610f01af906b19be5aa2b139cf617614f46e97463aec
DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853
@ -14,6 +15,8 @@ DIST gcc-13-20240614.tar.xz 84463660 BLAKE2B a1b551ff633c31d6972fed173f248ba5f66
DIST gcc-13-20240920.tar.xz 84477260 BLAKE2B f9f0c376d2849a55a61ac5bbbdb456d160e861e8f0acb34651960aa680ec5e8e6d6bdbdeab94c02e51ad1766bd24e5f2dba3a386f6735ea103181dbc1348a943 SHA512 5b7304ea0032a3bd6f111c8da0a9f12958f45e9f117d408e02e8b4892157462c5643891bcedbded7386f5f9987d16a922bd21bd05ad33167379e1579b7baf1aa
DIST gcc-13-20240927.tar.xz 84487900 BLAKE2B 7b04a3749f4f34cb4b25cce2e02e16422d143f214618468a571f7c0d505ae69928b3dc5b9c95696750a03247934e69816731445613abb9333d7b6b0e65ad5cdc SHA512 532f094e416c151fe80dcd61c64c78398cadea785bf6bd05428d39ff3da5472323cf1c8199ac6aad87abd2893996d18c29b1a2e50dc94286821564e888730d32
DIST gcc-13-20241004.tar.xz 84474832 BLAKE2B 641d14af692557d47f182d6f53254afcfb4d15181e013b7f720ce9305b79f1969f69a4fda567f369ef49b8d5d8d77d870fbfb82a1d47cb479056b931a08a22be SHA512 5d8fe656965d2af442524d5247ef4f803f3da36f46edfca6a6b1ad66d2f3007a0e71104ef0beae08af10c7c7b060dfc60b3e4fc9117de3bbe107ae2b0869367e
DIST gcc-13-20241011.tar.xz 84503108 BLAKE2B fb00747f513cbde2bef9d5d2ca9e863b6aa84231204f91dbe44e6aa780a335b5773ff3d70a377e86a0a342a8b30c52f52d7636c33f8410cae7112b35d45efb89 SHA512 ef881e7f8625e1c23bb053061495f00f021db7c963655a10eaef8de097d97befcfb6bd7caf37673026ac56240a4ee335323c7da4aa564e111ba32e4f34a0ba0b
DIST gcc-13-20241018.tar.xz 84511076 BLAKE2B e1efcaac11ef1abf705c06d5fba724726e9d251859b00bc182f263a1dca5ecdefb1a867e9932dd3ee724be4f109eda0c5ce1a5e542762b2a4cc1d4af7c517bde SHA512 c24b374b97bbcabea9aa5fc81a0fac95a67c6f3739392d8fcf45f5663e4564134a8dcc88574b14262a53face24a2f2e3c1c488efce993bcbc67b28fc2f969476
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
@ -23,14 +26,20 @@ DIST gcc-14-20240817.tar.xz 88024252 BLAKE2B 994b3e263246e344c6898943a17feb63f07
DIST gcc-14-20240921.tar.xz 88149220 BLAKE2B d92a5a92f24a6f4ace3d1e321e7c9149e8a25222669998c8de010be596a18cc161f288e78ce358ce44fd29f28e56bc678a7c8c775a66ffb71a57c642a7f5af75 SHA512 6a50a6af4a5e661d636b6a7b13b0fe36a66e3be3e20ce97b62c4e9878c974396b9066dfccc108f0bf7f3b28b19e57535a415528b0f0ede1de13a4007625012db
DIST gcc-14-20240928.tar.xz 88163000 BLAKE2B 1340373a6b0a47ad11d4d09153df432e70a7ae57600db5da32f962790962e252b4b81e74122d8f50a7457a339cae5d713fd75b8ed2637b5c3bf3cf57dbb8573b SHA512 5120b9c42c0f2a44703aac9891bd729f979768689c666f1b208c23604597dd5f0e2062f261a1fe4b69b3dce6ccb3de90a1e3e9af78df6fd543756de507beefa5
DIST gcc-14-20241005.tar.xz 88173364 BLAKE2B 2aec7ce7aaee879be2ce0758e6eeaf664989e0257f5f0b1b94ef05f455729d9a6f5fb6710f4ac88320d0ecba68d12e0e46a074cb233984fd733d10b952bba6bd SHA512 f7d6302126a20906dab90a0b00d3c8bbec4948aec8024103578bb62f1dcad49d6a44f6b18792d18e32837d4aa764052d08a73bd4df546fa719c28fcdb9024f55
DIST gcc-14-20241012.tar.xz 88156512 BLAKE2B a5a7bbf8da73fa579f2550be3c9b2ba47509f2719cb7c61404128c52aef03cde7efe8ebe8d631fd1e1970bca1148cc4b434fe20be36281c49d26aed0cfd6726a SHA512 fe51c51f460fea522c8ffdbfe4a4fd66652da1d25b3a40246207a794a6f376bdc7c27622a68fcbad02ad4023646dc53cf2daf6ca97e886b6e988174626cc39f0
DIST gcc-14-20241019.tar.xz 88165700 BLAKE2B 88dafbb9e6f86cf5e0909d4db3def6126841c0e7917fe59ebf12738d47e00e704a0181cb1f5d6ccbcbbceb5b5932cf02c95027c60a7731bd57a4b86ea4e50fb5 SHA512 2d54423d48b7759be5551f39b697e3f459dc10eebf62a8184dec7c140555be72a49436f2f795e377235ef9bb664e66d1e73fe6f3fa58394cf23bbbaa51c3fdb5
DIST gcc-14.1.0-musl-patches-1.tar.xz 3600 BLAKE2B 4cd920b7ca1f122cae806707564d8e45bfd48e78c88788a12a301f6068b5a5f335d8885e67479ac536c66aeaa81f2ecb7240ae56e9fc821a7246ab66b453711f SHA512 61c48d90a55dfc2129d96aee69d939d6a89f6407f69f7bd12c1a619f28989f471fd219d731958f8e62b0fd650c32300f0ad8dc06d5df23d9fc8c1a77fe210c25
DIST gcc-14.2.0-patches-1.tar.xz 13208 BLAKE2B 17247d5b8871d60a33175302b9657c70f161ae49cb1fea0f217c54d3644151c9cae705b6f88e440fc872597447dabe8c12d9f6c40cbc91fb5e161015e614b3ea SHA512 b7a6939894f48bb046e407bac50db15c9301552afa7d300794243dd139837fdb3a293e4d95259247dd3622e01affcc086393ee5422331bb3d796450a72d6d0fa
DIST gcc-15-20240929.tar.xz 89549712 BLAKE2B 90b22ddf10f3c7f36f8a19e3a4436fed73b89f84b3f0c837cc12ba8585da1a2e38fc46801213dd6f8e61b115cf0a9f3952caeae268a9f6814c97f7ad08507358 SHA512 f082b945639db38125019f923856874b7f2a937168853c6339d0d9fbc5f0aa146879f4147b06759653c374c4e063fd02585a0fe942e666bcbb07851a308a652c
DIST gcc-15-20241006.tar.xz 89582908 BLAKE2B d107d960db81e8e92c072ed5a25313b36b9e169575da00bc6bd4a0bfb74741ec162bbee0651db2b4e0d862bc87df0c53f5328863c082a32d29a7b786e93c11ef SHA512 5d220e95db5aff2e5a3c9487ae847e1c57224d9e4bcca3667b0e1f1e722766997348ed121837f099d177456d006adee9392fee3e10127b1b336b17f29aa84211
DIST gcc-15-20241013.tar.xz 89662068 BLAKE2B 953c44723905b94cc3d2022d31e200e0463c49ebdf052f91f3acf7128a9cd37184e75a367b7af8a563a72585229f2891005fa94ed3197fa986cc436a94cea1b8 SHA512 d8d572c26477919327817404a23d9d8deeb3816018f5a1baeb327cb59ec43ee1a90067158b9e7d5087eeb280853890073fd6449c41e3483237108d038d7a9f26
DIST gcc-15-20241020.tar.xz 89726776 BLAKE2B cee5a928ab98f3d9873f1a75c2f6b9e5f3818049c85251b91186ed2ea015cc24d72802a71d4c8cfe9f90008450f2cf5bdf90a8afb9ca36417cc1efc798c23f67 SHA512 31f869a6a556437cf0e24e0a51e09c068e4b71d23b552420282e81c628e32b7bad6792f38bb5381bfad54a2e8986aba783dbf77783b967e37b00cda24ba414b6
DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de
DIST gcc-15.0.0-patches-13.tar.xz 16480 BLAKE2B b3d9637972ac3644ba0191cb26aa2c9f624ead14816a6358db81745ef984af9de3c0c1f5576edc3045d877b3907a97566b468734baa2e6b2a351187d3e9ff80e SHA512 da368e83643fe2312655654be2de4824c3b5e7efaafbf2dcf63aafa48580cfe74e5394707c577d82e22336dbadd52414e31a597dc3565d0378f3ead5323b9b3c
DIST gcc-15.0.0-patches-14.tar.xz 14764 BLAKE2B 3da7b4d81ea45ca1254ab9f290ca0c94cacb2d168aa0b3f6b0ef18193f911e204148b1790df9ddf7d1f6955777b3470030e73751fc7d1c0fd23bccfdee10fcbf SHA512 7133b5df5f07307f85a07b05fdc5f8166920aa93b13c1465812be572c7185b7fcf174cc36ddb2bc9fd2323dd010db9a42d35df9871f185794cd22bff57c43eb9
DIST gcc-15.0.0-patches-15.tar.xz 13116 BLAKE2B ec558b7ddf5907f63c4cde12a5a2b2d563d4db127b6da55682d066db12c5556ab2e70ef62cf019f20479cfd3d6c76a0f7da17dd5e729506b1abc0fad55ed82c4 SHA512 9fcf9f3e5f9d070061b9c636147f8b43fc8254314b51dce52a7a59d525309160da9fc950b64cac04644027a2b66b675bcc741c5883ade2d630cf2d4286b35d5b
DIST gcc-15.0.0-patches-16.tar.xz 16392 BLAKE2B 1f97157c41a56fb0458711bdf9963ad2cc52373e2f8f2bf35eb1ecfd915aef92384ca4a5d2f7b35bfb51b76f372c4f94dbddb9271ce56ed66a288586b0d09563 SHA512 cf2e0929dd6595d7619f12289b2d50571bcc84bf1051fe9d7c57c18a2e2c076644c673758e258411c6542e53519fdf4bcb2112be98cb44e4c4806355a147f9ed
DIST gcc-15.0.0-patches-17.tar.xz 19144 BLAKE2B b66b93a4de5013870941a76bb271dc773f87c7929d50cdf30517dae59bea52be6640d4ebccfb9aa686c5993ec1bd9d1c1f913b85b0b651fc8fa79cdd5d10a58f SHA512 538442ec20f030bf1332dbda2943d408cd3febe2f8860caad73a0910ee39621e30263b3ece22dcd5e71a7e74b439380c80dc4c0bad27d874463666d20dc6ae5b
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

View File

@ -1,88 +0,0 @@
https://inbox.sourceware.org/gcc-patches/patch-18806-tamar@arm.com/T/#u
https://gcc.gnu.org/PR116817
From 9a5d1eb943dcaf26551b534eb62cbf1dd8443335 Mon Sep 17 00:00:00 2001
Message-ID: <9a5d1eb943dcaf26551b534eb62cbf1dd8443335.1727104663.git.sam@gentoo.org>
From: Tamar Christina <tamar.christina@arm.com>
Date: Mon, 23 Sep 2024 15:29:52 +0100
Subject: [PATCH] middle-end: check explicitly for external or constants when
checking for loop invariant [PR116817]
Hi All,
The previous check if a value was external was checking
!vect_get_internal_def (vinfo, var) but this of course isn't completely right
as they could reductions etc.
This changes the check to just explicitly look at externals and constants.
Note that reductions remain unhandled here, but we don't support codegen of
boolean reductions today anyway.
So at the time we do then this would have the be handled as well in lowering.
Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.
Ok for master?
Thanks,
Tamar
gcc/ChangeLog:
PR tree-optimization/116817
* tree-vect-patterns.cc (vect_recog_bool_pattern): Check for const or
externals.
gcc/testsuite/ChangeLog:
PR tree-optimization/116817
* g++.dg/vect/pr116817.cc: New test.
---
gcc/testsuite/g++.dg/vect/pr116817.cc | 16 ++++++++++++++++
gcc/tree-vect-patterns.cc | 5 ++++-
2 files changed, 20 insertions(+), 1 deletion(-)
create mode 100644 gcc/testsuite/g++.dg/vect/pr116817.cc
diff --git a/gcc/testsuite/g++.dg/vect/pr116817.cc b/gcc/testsuite/g++.dg/vect/pr116817.cc
new file mode 100644
index 00000000000..7e28982fb13
--- /dev/null
+++ b/gcc/testsuite/g++.dg/vect/pr116817.cc
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-O3" } */
+
+int main_ulData0;
+unsigned *main_pSrcBuffer;
+int main(void) {
+ int iSrc = 0;
+ bool bData0;
+ for (; iSrc < 4; iSrc++) {
+ if (bData0)
+ main_pSrcBuffer[iSrc] = main_ulData0;
+ else
+ main_pSrcBuffer[iSrc] = 0;
+ bData0 = !bData0;
+ }
+}
diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc
index e7e877dd2adb55262822f1660f8d92b42d44e6d0..f0298b2ab97a1e7dd0d943340e1389c3c0fa796e 100644
--- a/gcc/tree-vect-patterns.cc
+++ b/gcc/tree-vect-patterns.cc
@@ -6062,12 +6062,15 @@ vect_recog_bool_pattern (vec_info *vinfo,
if (get_vectype_for_scalar_type (vinfo, type) == NULL_TREE)
return NULL;
+ stmt_vec_info var_def_info = vinfo->lookup_def (var);
if (check_bool_pattern (var, vinfo, bool_stmts))
var = adjust_bool_stmts (vinfo, bool_stmts, type, stmt_vinfo);
else if (integer_type_for_mask (var, vinfo))
return NULL;
else if (TREE_CODE (TREE_TYPE (var)) == BOOLEAN_TYPE
- && !vect_get_internal_def (vinfo, var))
+ && (!var_def_info
+ || STMT_VINFO_DEF_TYPE (var_def_info) == vect_external_def
+ || STMT_VINFO_DEF_TYPE (var_def_info) == vect_constant_def))
{
/* If the condition is already a boolean then manually convert it to a
mask of the given integer type but don't set a vectype. */

View File

@ -0,0 +1,65 @@
# 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="12.4.0"
PATCH_VER="1"
MUSL_VER="1"
MUSL_GCC_VER="12.4.0"
PYTHON_COMPAT=( python3_{10..12} )
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=releases/gcc-$(ver_cut 1)
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# Don't keyword live ebuilds
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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
}

View File

@ -0,0 +1,66 @@
# 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.3.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="1"
MUSL_VER="2"
PYTHON_COMPAT=( python3_{10..12} )
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=releases/gcc-$(ver_cut 1)
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
}

View File

@ -0,0 +1,66 @@
# 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.3.0"
MUSL_GCC_VER="13.2.0"
PATCH_VER="1"
MUSL_VER="2"
PYTHON_COMPAT=( python3_{10..12} )
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=releases/gcc-$(ver_cut 1)
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
}

View File

@ -0,0 +1,54 @@
# 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="14.2.0"
PATCH_VER="1"
MUSL_VER="1"
MUSL_GCC_VER="14.1.0"
PYTHON_COMPAT=( python3_{10..12} )
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=releases/gcc-$(ver_cut 1)
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# m68k doesnt build (ICE, bug 932733)
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~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
}

View File

@ -0,0 +1,54 @@
# 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="14.2.0"
PATCH_VER="1"
MUSL_VER="1"
MUSL_GCC_VER="14.1.0"
PYTHON_COMPAT=( python3_{10..12} )
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=releases/gcc-$(ver_cut 1)
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# m68k doesnt build (ICE, bug 932733)
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~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
}

View File

@ -0,0 +1,53 @@
# 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="15.0.0"
PATCH_VER="16"
MUSL_VER="2"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
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
}

View File

@ -0,0 +1,53 @@
# 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="15.0.0"
PATCH_VER="15"
MUSL_VER="2"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
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
}

View File

@ -0,0 +1,53 @@
# 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="15.0.0"
PATCH_VER="17"
MUSL_VER="2"
MUSL_GCC_VER="15.0.0"
PYTHON_COMPAT=( python3_{10..12} )
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
}