diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest index d5a642cf7d..d7f3714af6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest @@ -6,32 +6,32 @@ DIST gcc-11.5.0-patches-1.tar.xz 13664 BLAKE2B 64fd9c2d074aca58ecd8c0035ccf2d2b8 DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e2cac92a13cc7e285d08191dd4a117f41a8faac2359c0e2a16f954c7fef354dda9df8c63bff1c5cefda82602c SHA512 88f17d5a5e69eeb53aaf0a9bc9daab1c4e501d145b388c5485ebeb2cc36178fbb2d3e49ebef4a8c007a05e88471a06b97cf9b08870478249f77fbfa3d4abd9a8 DIST gcc-12-20241219.tar.xz 79920016 BLAKE2B 71044352515f33eaf0bcc64cc6eacdecb8b7b1dbca6d8836b629f76e60320f5090178ff37b6804fbda0913c0f55afca37588647974fd72e9961edd338ccf6ffb SHA512 e0c08366f392083feb1ae242242e9bd335681234808ed44d4e75afe157be2814bef321d2327186d217f38bbb6176706e1258228904d31fdb3bb37c8e245dacb0 DIST gcc-12-20250227.tar.xz 79915940 BLAKE2B 0adb19847cb3f317316549f657434654b9923806366a4b95e496effea9c07995b7d3de65c40cc2f62ba1e87cfb0f8cd8a1a833284042fdc5e6fce2bd7e7e9543 SHA512 d01cad1771762f5b56c783d6a3b39415be1c7619229b5ff056fe40ef0bf821c67a2d1a2272c2227a44f92825582579625352d19e2342d11f76a079556dae0ae8 -DIST gcc-12-20250306.tar.xz 79914120 BLAKE2B 52744beac63301b3e0f2564efc82384f6452cd05bb2543f3c421d14fdfc4eed107d25d24183e9d7045d33f1e9f14741b8cb8580bb0c7e8cda8b3e5b4dd5e0d4e SHA512 585aeab071fda880a6ad5c9e0e766164683faf4e84ad63764ad7dc0420fe5e355452338234f76f6f2cb2b25f4b39b059658323f53594c2c7da3db6631c69a14c -DIST gcc-12-20250313.tar.xz 79917528 BLAKE2B 2ce76d12f0d90d5728df2e14ece3c13e781005eac43dd10357602efc1dd3a9c939fee7640c1baae643df88354905bdbcd314d6bb7c7f384df9148074d8448afc SHA512 465a9923c8ebef98cf4590096afd44468993116cf38ba1e5bbbc70dfb57ec1716ad55a544dc12444011663dc8cd3c9a7c19326d69dfcea181d07783a0aceb73f +DIST gcc-12-20250320.tar.xz 79921688 BLAKE2B cafdd710d1bf04083f8db4cce873667caded67961b701760f95e95f76ad98924582b51752061fe404e2e7f6dbab4215e0fe5c4436826ac320d9bd224ae7a061c SHA512 1dc331f1a942c4a10ae56fc234bcc37c72dd720df1cb9e1aa1802092307378abffd83b887b718a8f8d11c16296c0a7aa53011a7358aea86c8e60522d8f50e76d +DIST gcc-12-20250327.tar.xz 79923680 BLAKE2B 7bbe5a736f42ad9e04740b6c8adcb06ae8bd405e32b4f45897c76c15eb24428a55827f2ba715456c48a906d02693b42b280f8b73e61926d05c4c99316de4a4b3 SHA512 8cf3aced94a42635b68f7a0f57e831d09718d1674272ee9134c1419a81a2b6f7d056f156ff3b0c5565c098eb62334d318a1320a268e6713a3c64ac59c5ad910a 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-patches-2.tar.xz 14876 BLAKE2B 6bf5abbb2abba4b9fe9fa153ac4112fe5f563e97cd4e1b885ccd0d88abf1124fa91f20d6be972e2242410447be73bca60014785f8551b8087ed0d4cc3e868225 SHA512 dfd5f02d4c1076fad4ee998b2f620171dd3eb65a1160312def9dae89b18327a06db853f569e0e3c049e5ab06c61488bb6faecec52bafe737fddeb43628c54a1f DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853 DIST gcc-13-20241220.tar.xz 84504500 BLAKE2B 60d6dcdcafa36399a0c0de7fef3a4eb4ca8e0b6780cd31c9eace2965c53115205bf64e8247b833a4375c1e3ad2d94820b5bdc97a4689be95d8ab55a676afa689 SHA512 10fe009dc3b8872b24350e4fb999f71b848bd5a03e48e8292f76e6eca3dbdef8383a3b13b813aada983ebdbe3ecab1642961b3210cd1e0063a86655a44493017 DIST gcc-13-20250301.tar.xz 84525780 BLAKE2B c366f4de63b7956abb1bf2d1039acdf90c7a801adbb2793e4c199b0f743d143327aac9c2b078991f802da758ed4326dd913d9f60aec4fc471eff9af72f781a8e SHA512 075bfb3c5aeaf1c9bf7ab69ef117fcc1fd3ce1042edc9442d95df717e622c2ea9cfabbabf8be5eda32b3cf115d7d3e73907fd577a69f0beb6895f7ec2c5fc813 -DIST gcc-13-20250307.tar.xz 84518416 BLAKE2B 2afe5b57ab2d6af1800c3c74ab629e9033ec4368471d103377958d5225912ffa259f1fbb9d04804f817df9527b7659913ff762b40147a40f65eaa1caaef2c4f5 SHA512 c2a63fcab70db6a5123347897a47a60d7423723e3e202e4c56c77f50caeb460b629d7fa3af9102467c73271273e7018fc431f2254993b039d5270ba093c7a865 -DIST gcc-13-20250314.tar.xz 84540844 BLAKE2B 7e032e0fafeb9eb47f8acb387d49d024fb44ba54d782c0afce26b0751b099208212a5a977d3c027a9c5c0efc3d3a5ed99ad98e56b16f2cabf234cc8bca89e6de SHA512 51320889e0e959b763bdcb1334d38aff48ba6099e6bcc75055633d81a17e1f59c71e81597ec391eab95f86614b7b62cff37aa00827c61d949d6596f9ba36fb9c +DIST gcc-13-20250321.tar.xz 84515248 BLAKE2B b07d6f518bf2d32ad17b3c169ddb782dfe4de5efb157e2d4b8b2eb00f68f50b9250ba9e873b4dee269506740330176d98b1160d754ca6c714e1d6c76358c6493 SHA512 16a2acce5b2900749b7100a445ae387b03504a6e2319f76cd0a8a1d67eae8c04493f845f63e4e040d8fecba9123105d8b9fed433220e1fa6abc87448180dccd8 +DIST gcc-13-20250328.tar.xz 84532580 BLAKE2B e518053fd44461632560334c536ca29a3510493147bffba3906c3a9f2f08f4a124bd50132a0f2b82eb8a783fa3de58c5a41507c4558fd701d0cb9e2667526ad5 SHA512 277348fff14e1c44d32ffa717c9b2496fbf2975b95a237256a2c8585bbdba6b833b7212b0d9c59c3b430ebc98fe2866fe07e6acc429b09c0087e72da631f5ad3 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.3.0-patches-2.tar.xz 44440 BLAKE2B ebde73f6c3cd1a5fdc5bbce36414a59dda0925cba9d422d3689fc9c14fece44ee2391982a674411aa99bf47ffd49200f3ce51cc908beb8298adfff78e709a84c SHA512 eb56e0d7e69b5c3cca21f4cbff21c1204cf64ede7e66d689f45cf5ff37de8a59f24eb1f4b30d9c4222fd4126654fe4ffc146851f504761014995553c1202e8fd DIST gcc-14-20241221.tar.xz 88198252 BLAKE2B 7491c2e1c8885e201859143bdf5cae95af4c0db77709ec7d761ad535df30042f5deb8488ba7c508de3673e4b0f2af1de8d17476f39cd47b745ddccec6a9e4470 SHA512 91fe1e1d1f8e8fad64930a2eadf942a542bd42f841fceb49f475bccac00f04692b8cd38821ea9ee05f78b5c51001d8bd39df5f71f3a3d89aab8980019cea9be8 DIST gcc-14-20250301.tar.xz 88230928 BLAKE2B 2b65e7cccbf431a74df73adac53995873e78240d7abd97e9c9c576806c389b3c1abb6d47710a25a26f2ee399de750a07c3fb7916a580875d08a3a83354d89c1c SHA512 6b2afe19ce95a595307ae10b89054927116d33b499f1ef8233936d719271c04cb8f66890068ef2252c59ab0276dd0e6210990cb88abdfb4965818c25949f431e -DIST gcc-14-20250308.tar.xz 88224372 BLAKE2B d5b76b553cc48aa16a4d00fb1ba232856a52deef32049a10b9d2ffe7a010a5afbc782ad1ebec0a2546ec74703e0afabea936d81180b19ce8c4786d07b0495bf2 SHA512 900a43be42471e6d9484dbfdc972065fcd342908d0115f28edb35ff371e3f4ae0e219e99a4ecd52bcd23a156b3df2da80d508e2236cbb7495ae3df655154dc9c -DIST gcc-14-20250315.tar.xz 88211476 BLAKE2B e99ef61416fc5fdec4e2c65257bf36e8d2e8f8a61e558dd989682e53c9d33253aca897834f0fd7060b1055f0cb7accd88a41db96e03d7f924d76cbd51dd8c1a8 SHA512 2c288ff52d730e2a8bb4600519cc2ddb1de140377c7dccefa7f268032b86c4f51b87f563abc0d6393bb7a2d7de5d0d2d6f7105869e9c998ae33479dcec7b0f39 +DIST gcc-14-20250322.tar.xz 88221060 BLAKE2B c8ec3dcbaaed1ee9a8d35f866a21879192a10707600a9ffa10c9a958de84e0fec3f8bd93950a5cdd53f2e4d9fcc74b45c4416a357eb271e70b314bd339da4818 SHA512 860049792547bfc21c4f61f1648056510495f16e97ea47444d02a740e60bfea1870d3ff437548854681e94fb2e7099a186526a6acecb02df7753e0f5661f6d30 +DIST gcc-14-20250329.tar.xz 88223376 BLAKE2B 024343e0307d8cc18efe326a137f599c25304346e23ba2a501e7a414c7c96891cd339ac5f82c9b6b1f8bfa0101734aafc3580d8577405d8f18d0c809f5d1b2d2 SHA512 ae86076dee09826ef3bed6ae927c757205ea48c9fcef59c61a74a3ca31117797a958ba2307cdee785f2c2bbccd87dd93316a0e3415f0e81bf2712d6abebcdef3 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-20250309.tar.xz 90853908 BLAKE2B 403b9b3a2eb1ed5d23558eff000784b8b6345c419b9050d68e38343a30ceb58c7ddaebb44c345668c98e19f66c1dd1edcc22a3a911754cb85f8fbfc6559ba3f1 SHA512 b20760997cf8111429524ca1400e1a23c328e303a8b4652cd859dcc3dc3e2dd11c72cf9e1b744c88374ebdb9fbb90f217ffe892eca24e581b781e2741b177d04 -DIST gcc-15-20250316.tar.xz 91424124 BLAKE2B 4a33b98d04961a8dd2bdc2890d0e1547902fc6bba63cea1b995bc82c6ef1b384a0843792961cd77162cae948808d41c2d5758f526371bbc501143c575e683a10 SHA512 5bd5a524b76a523a1979054bebc10ddbe3dce4c1f905b123dc8da983506c4cefb34cc035234845c021d4f7b3110dd5a8383da9c134af0bc54a154a0cdac8eea5 +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.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de -DIST gcc-15.0.0-patches-46.tar.xz 22212 BLAKE2B 159b2693ded0b1dbddd271ca56d7f6db3569a8f79155521737b968ad131eee2730d3441dacef821b9dcd31b17ca0bf16a7b24001e7cb4ae1b36c55750184a3f6 SHA512 26d293ee368c75570e606949480feed18a69baad4687beaf2f50629bfc72d542bbce4b1cb6580fe7e578409a108891dc9762bb15c53b611434c83db5dd83d695 -DIST gcc-15.0.0-patches-47.tar.xz 16456 BLAKE2B c1b60eb5b0717f74ca528462e7cddfc6c2386cc122e8d0394152e974e092ae7c29bcfd96e7dbfde85aaa9194950dd867aef59fea17f1be1bb0f9f30eb192cd3f SHA512 c2f74c561eaa5b158de44b251116a923f3e81e5c5b6126d7cb387211c83697813fc22695ae36d245844e3e0dd2a6076fd710fbbed39965a151209a34812ba752 +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-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/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch deleted file mode 100644 index 04cf198fb6..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250223-c-Fix-range-for-with-PMFs-PR118923.patch +++ /dev/null @@ -1,231 +0,0 @@ -From a41b3f54c13890b1327bb3d4fbae8f7feb37d00b Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jakub Jelinek -Date: Tue, 25 Feb 2025 09:26:46 +0100 -Subject: [PATCH] c++: Fix range for with PMFs [PR118923] - -The following testcases segfault because the new range for -frange-for-ext-temps -temporary extension extends even the internal TARGET_EXPRs created by -get_member_function_from_ptrfunc. - -The following patch fixes that by using get_internal_target_expr for those -instead of force_target_expr (similarly in cp_finish_decl and -build_comparison_op) and using force_target_expr inside of -get_internal_target_expr. - -2025-02-25 Jakub Jelinek - - PR c++/118923 - * tree.cc (get_internal_target_expr): Use force_target_expr - instead of build_target_expr_with_type. - * typeck.cc (get_member_function_from_ptrfunc): Use - get_internal_target_expr instead of force_target_expr. - * decl.cc (cp_finish_decl): Likewise. - * method.cc (build_comparison_op): Likewise. - - * g++.dg/cpp0x/pr118923.C: New test. - * g++.dg/cpp1y/pr118923.C: New test. ---- - gcc/cp/decl.cc | 6 +-- - gcc/cp/method.cc | 2 +- - gcc/cp/tree.cc | 3 +- - gcc/cp/typeck.cc | 6 +-- - gcc/testsuite/g++.dg/cpp0x/pr118923.C | 66 +++++++++++++++++++++++++++ - gcc/testsuite/g++.dg/cpp1y/pr118923.C | 38 +++++++++++++++ - 6 files changed, 110 insertions(+), 11 deletions(-) - create mode 100644 gcc/testsuite/g++.dg/cpp0x/pr118923.C - create mode 100644 gcc/testsuite/g++.dg/cpp1y/pr118923.C - -diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc -index 05ad9bb24d59..936e48e907e2 100644 ---- a/gcc/cp/decl.cc -+++ b/gcc/cp/decl.cc -@@ -9377,8 +9377,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p, - tree guard = NULL_TREE; - if (cleanups || cleanup) - { -- guard = force_target_expr (boolean_type_node, -- boolean_false_node, tf_none); -+ guard = get_internal_target_expr (boolean_false_node); - add_stmt (guard); - guard = TARGET_EXPR_SLOT (guard); - } -@@ -9407,8 +9406,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p, - popped that all, so push those extra cleanups around - the whole sequence with a guard variable. */ - gcc_assert (TREE_CODE (sl) == STATEMENT_LIST); -- guard = force_target_expr (integer_type_node, -- integer_zero_node, tf_none); -+ guard = get_internal_target_expr (integer_zero_node); - add_stmt (guard); - guard = TARGET_EXPR_SLOT (guard); - for (unsigned i = 0; i < n_extra_cleanups; ++i) -diff --git a/gcc/cp/method.cc b/gcc/cp/method.cc -index 3914bbb1ef23..05c19cf0661e 100644 ---- a/gcc/cp/method.cc -+++ b/gcc/cp/method.cc -@@ -1597,7 +1597,7 @@ build_comparison_op (tree fndecl, bool defining, tsubst_flags_t complain) - /* Some other array, will need runtime loop. */ - else - { -- idx = force_target_expr (sizetype, maxval, complain); -+ idx = get_internal_target_expr (maxval); - loop_indexes = tree_cons (idx, NULL_TREE, loop_indexes); - } - expr_type = TREE_TYPE (expr_type); -diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc -index 5628a576f01b..5863b6878f02 100644 ---- a/gcc/cp/tree.cc -+++ b/gcc/cp/tree.cc -@@ -982,8 +982,7 @@ tree - get_internal_target_expr (tree init) - { - init = convert_bitfield_to_declared_type (init); -- tree t = build_target_expr_with_type (init, TREE_TYPE (init), -- tf_warning_or_error); -+ tree t = force_target_expr (TREE_TYPE (init), init, tf_warning_or_error); - TARGET_EXPR_INTERNAL_P (t) = true; - return t; - } -diff --git a/gcc/cp/typeck.cc b/gcc/cp/typeck.cc -index a9c32ff930d5..bbaca960bd7c 100644 ---- a/gcc/cp/typeck.cc -+++ b/gcc/cp/typeck.cc -@@ -4219,16 +4219,14 @@ get_member_function_from_ptrfunc (tree *instance_ptrptr, tree function, - && !DECL_P (instance_ptr) - && !TREE_CONSTANT (instance_ptr))) - instance_ptr = instance_save_expr -- = force_target_expr (TREE_TYPE (instance_ptr), instance_ptr, -- complain); -+ = get_internal_target_expr (instance_ptr); - - /* See above comment. */ - if (TREE_SIDE_EFFECTS (function) - || (!nonvirtual - && !DECL_P (function) - && !TREE_CONSTANT (function))) -- function -- = force_target_expr (TREE_TYPE (function), function, complain); -+ function = get_internal_target_expr (function); - - /* Start by extracting all the information from the PMF itself. */ - e3 = pfn_from_ptrmemfunc (function); -diff --git a/gcc/testsuite/g++.dg/cpp0x/pr118923.C b/gcc/testsuite/g++.dg/cpp0x/pr118923.C -new file mode 100644 -index 000000000000..55d3052b61f3 ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp0x/pr118923.C -@@ -0,0 +1,66 @@ -+// PR c++/118923 -+// { dg-do run { target c++11 } } -+// { dg-additional-options "-frange-for-ext-temps" { target c++23 } } -+// { dg-additional-options "-fno-range-for-ext-temps" { target c++20_down } } -+ -+int g; -+ -+struct A { -+ int a[3]; -+ A (int x, int y, int z) : a{x, y, z} { if ((g++ & 7) != 4) __builtin_abort (); } -+ A (const A &x) = delete; -+ ~A () { if ((g++ & 7) != 7 - 2 * (__cpp_range_based_for >= 202211)) __builtin_abort (); } -+ int *begin () { return a; } -+ int *end () { return a + 3; } -+}; -+ -+struct B { -+ B () { if ((g++ & 7) != 3) __builtin_abort (); } -+ B (const B &) = delete; -+ ~B () { if ((g++ & 7) != 5 + (__cpp_range_based_for >= 202211)) __builtin_abort (); } -+}; -+ -+struct C { -+ A foo (const B &) { return { 1, 2, 3 }; } -+ A bar (const B &) { return { 4, 5, 6 }; } -+ bool baz () { return b; } -+ bool b = false; -+ static C c; -+}; -+ -+C C::c; -+ -+struct D { -+ D () { if ((g++ & 5) != 0) __builtin_abort (); } -+ D (const D &) = delete; -+ ~D () { if ((g & 7) != 1 && (g & 7) != 6 + (__cpp_range_based_for >= 202211)) __builtin_abort (); g++; } -+}; -+ -+inline C * -+qux (const D &) -+{ -+ return &C::c; -+} -+ -+void -+foo () -+{ -+ int z = 1; -+ auto d = qux (D {})->baz () ? &C::bar : &C::foo; -+ for (const int &r : (qux (D {})->*d) (B {})) -+ if (z++ != r) -+ __builtin_abort (); -+ C::c.b = true; -+ d = qux (D {})->baz () ? &C::bar : &C::foo; -+ for (const int &r : (qux (D {})->*d) (B {})) -+ if (z++ != r) -+ __builtin_abort (); -+} -+ -+int -+main () -+{ -+ foo (); -+ if (g != 16) -+ __builtin_abort (); -+} -diff --git a/gcc/testsuite/g++.dg/cpp1y/pr118923.C b/gcc/testsuite/g++.dg/cpp1y/pr118923.C -new file mode 100644 -index 000000000000..b375f47a7d0f ---- /dev/null -+++ b/gcc/testsuite/g++.dg/cpp1y/pr118923.C -@@ -0,0 +1,38 @@ -+// PR c++/118923 -+// { dg-do run { target c++14 } } -+ -+struct A { -+ int a[3] = { 0, 0, 0 }; -+ int *begin () { return a; } -+ int *end () { return a + 3; } -+}; -+ -+struct B { -+ A foo () { return { 1, 2, 3 }; } -+ A bar () { return { 1, 2, 3 }; } -+ bool baz () { return b; } -+ bool b = false; -+ static B c; -+}; -+ -+B B::c; -+ -+inline B * -+qux () -+{ -+ return &B::c; -+} -+ -+void -+foo () -+{ -+ auto d = qux ()->baz () ? &B::foo : &B::bar; -+ for (const int &r : (qux ()->*d) ()) -+ ; -+} -+ -+int -+main () -+{ -+ foo (); -+} --- -2.48.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch deleted file mode 100644 index 6fbc91e926..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-ice.patch +++ /dev/null @@ -1,99 +0,0 @@ -https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=f22e89167b3abfbf6d67f42fc4d689d8ffdc1810 -https://gcc.gnu.org/PR119067 - -From f22e89167b3abfbf6d67f42fc4d689d8ffdc1810 Mon Sep 17 00:00:00 2001 -From: Richard Biener -Date: Mon, 3 Mar 2025 09:54:15 +0100 -Subject: [PATCH] ipa/119067 - bogus TYPE_PRECISION check on VECTOR_TYPE - -odr_types_equivalent_p can end up using TYPE_PRECISION on vector -types which is a no-go. The following instead uses TYPE_VECTOR_SUBPARTS -for vector types so we also end up comparing the number of vector elements. - - PR ipa/119067 - * ipa-devirt.cc (odr_types_equivalent_p): Check - TYPE_VECTOR_SUBPARTS for vectors. - - * g++.dg/lto/pr119067_0.C: New testcase. - * g++.dg/lto/pr119067_1.C: Likewise. ---- - gcc/ipa-devirt.cc | 10 +++++++++- - gcc/testsuite/g++.dg/lto/pr119067_0.C | 22 ++++++++++++++++++++++ - gcc/testsuite/g++.dg/lto/pr119067_1.C | 10 ++++++++++ - 3 files changed, 41 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/g++.dg/lto/pr119067_0.C - create mode 100644 gcc/testsuite/g++.dg/lto/pr119067_1.C - -diff --git a/gcc/ipa-devirt.cc b/gcc/ipa-devirt.cc -index c31658f57ef2..532e25e87c60 100644 ---- a/gcc/ipa-devirt.cc -+++ b/gcc/ipa-devirt.cc -@@ -1259,13 +1259,21 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, bool *warned, - || TREE_CODE (t1) == OFFSET_TYPE - || POINTER_TYPE_P (t1)) - { -- if (TYPE_PRECISION (t1) != TYPE_PRECISION (t2)) -+ if (!VECTOR_TYPE_P (t1) && TYPE_PRECISION (t1) != TYPE_PRECISION (t2)) - { - warn_odr (t1, t2, NULL, NULL, warn, warned, - G_("a type with different precision is defined " - "in another translation unit")); - return false; - } -+ if (VECTOR_TYPE_P (t1) -+ && maybe_ne (TYPE_VECTOR_SUBPARTS (t1), TYPE_VECTOR_SUBPARTS (t2))) -+ { -+ warn_odr (t1, t2, NULL, NULL, warn, warned, -+ G_("a vector type with different number of elements " -+ "is defined in another translation unit")); -+ return false; -+ } - if (TYPE_UNSIGNED (t1) != TYPE_UNSIGNED (t2)) - { - warn_odr (t1, t2, NULL, NULL, warn, warned, -diff --git a/gcc/testsuite/g++.dg/lto/pr119067_0.C b/gcc/testsuite/g++.dg/lto/pr119067_0.C -new file mode 100644 -index 000000000000..e0f813ceffed ---- /dev/null -+++ b/gcc/testsuite/g++.dg/lto/pr119067_0.C -@@ -0,0 +1,22 @@ -+/* { dg-lto-do link } */ -+/* { dg-skip-if "" { ! { x86_64-*-* i?86-*-* } } } */ -+/* { dg-require-effective-target avx2 } */ -+/* { dg-require-effective-target shared } */ -+/* { dg-lto-options { { -O2 -fPIC -flto } } } */ -+/* { dg-extra-ld-options { -shared } } */ -+ -+#pragma GCC push_options -+#pragma GCC target("avx2") -+typedef char __v32qi __attribute__ ((__vector_size__ (32))); -+struct ff -+{ -+ __v32qi t; -+}; -+__v32qi g(struct ff a); -+ -+__v32qi h(__v32qi a) -+{ -+ struct ff t = {a}; -+ return g(t); -+} -+#pragma GCC pop_options -diff --git a/gcc/testsuite/g++.dg/lto/pr119067_1.C b/gcc/testsuite/g++.dg/lto/pr119067_1.C -new file mode 100644 -index 000000000000..d8e2935fa24d ---- /dev/null -+++ b/gcc/testsuite/g++.dg/lto/pr119067_1.C -@@ -0,0 +1,10 @@ -+/* { dg-options "-mavx2" } */ -+ -+typedef char __v32qi __attribute__ ((__vector_size__ (32))); -+struct ff -+{ -+ __v32qi t; -+}; -+__v32qi g(struct ff a) { -+ return a.t; -+} --- -2.43.5 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch deleted file mode 100644 index 9486b69147..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250302-firefox-pgo-ice.patch +++ /dev/null @@ -1,58 +0,0 @@ -https://inbox.sourceware.org/gcc-patches/ri6bjui45il.fsf@virgil.suse.cz/ - -From 833d679c3c071b78dfb22015fe03d2cecfd650ec Mon Sep 17 00:00:00 2001 -Message-ID: <833d679c3c071b78dfb22015fe03d2cecfd650ec.1741019831.git.sam@gentoo.org> -From: Martin Jambor -Date: Mon, 3 Mar 2025 14:18:10 +0100 -Subject: [PATCH] ipa-cp: Avoid ICE when redistributing nodes among edges to - recursive clones (PR 118318) - -Hi, - -PR 118318 reported an ICE during PGO build of Firefox when IPA-CP, in -the final stages of update_counts_for_self_gen_clones where it -attempts to guess how to distribute profile count among clones created -for recursive edges and the various edges that are created in the -process. If one such edge has profile count of kind GUESSED_GLOBAL0, -the compatibility check in the operator+ will lead to an ICE. After -discussing the situation with Honza, we concluded that there is little -more we can do other than check for this situation before touching the -edge count, so this is what this patch does. - -Bootstrapped and LTO-profile-bootstrapped and tested on x86_64. OK for -master? (Should I then backport this to active release branches? I -guess it would make sense.) - -Thanks, - -Martin - -gcc/ChangeLog: - -2025-02-28 Martin Jambor - -PR ipa/118318 - * ipa-cp.cc (adjust_clone_incoming_counts): Add a compatible_p check. ---- - gcc/ipa-cp.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc -index 3c994f24f540..264568989a96 100644 ---- a/gcc/ipa-cp.cc -+++ b/gcc/ipa-cp.cc -@@ -4638,7 +4638,8 @@ adjust_clone_incoming_counts (cgraph_node *node, - cs->count = cs->count.combine_with_ipa_count (sum); - } - else if (!desc->processed_edges->contains (cs) -- && cs->caller->clone_of == desc->orig) -+ && cs->caller->clone_of == desc->orig -+ && cs->count.compatible_p (desc->count)) - { - cs->count += desc->count; - if (dump_file) - -base-commit: f1c30c6213fb228f1e8b5973d10c868b834a4acd --- -2.48.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250323-disable-musttail.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250323-disable-musttail.patch new file mode 100644 index 0000000000..537496f9a2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250323-disable-musttail.patch @@ -0,0 +1,199 @@ +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/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch new file mode 100644 index 0000000000..5619bd5ef5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15.0.1_pre20250323-e2fsprogs.patch @@ -0,0 +1,112 @@ +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/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-10.5.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-10.5.0.ebuild index 0f2205413c..99bf372fe1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-10.5.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-10.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ PATCH_GCC_VER="10.5.0" PATCH_VER="6" MUSL_VER="2" MUSL_GCC_VER="10.5.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.0.ebuild index b378f2ea94..5ba99978c4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-11.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ PATCH_GCC_VER="11.5.0" PATCH_VER="1" MUSL_VER="2" MUSL_GCC_VER="11.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild index e3066d7135..0be214e9c0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ PATCH_GCC_VER="12.4.0" PATCH_VER="1" MUSL_VER="1" MUSL_GCC_VER="12.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241219.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241219.ebuild index 0e2516dfa3..95cfd10b5c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241219.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20241219.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ PATCH_GCC_VER="12.4.0" PATCH_VER="2" MUSL_VER="1" MUSL_GCC_VER="12.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild index 2ea8273862..fd30643c8d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250227.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="12.4.0" PATCH_VER="2" MUSL_VER="1" MUSL_GCC_VER="12.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250313.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250320.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250313.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250320.ebuild index 83011b194d..76bdbb1760 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250313.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250320.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="12.4.0" PATCH_VER="2" MUSL_VER="1" MUSL_GCC_VER="12.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250306.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250327.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250306.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250327.ebuild index 83011b194d..76bdbb1760 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250306.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.4.1_p20250327.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="12.4.0" PATCH_VER="2" MUSL_VER="1" MUSL_GCC_VER="12.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild index 0043f4a8e8..d85e065cd1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-12.5.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="12.4.0" MUSL_GCC_VER="12.4.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild index dc739761db..d72c2588ff 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.2.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="13.2.0" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241220.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241220.ebuild index fe5ff279c9..edfef15506 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241220.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20241220.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ PATCH_GCC_VER="13.3.0" MUSL_GCC_VER="13.2.0" PATCH_VER="2" MUSL_VER="2" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild index 4ffc7cf0e2..4029cad2d0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250301.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="13.3.0" MUSL_GCC_VER="13.2.0" PATCH_VER="2" MUSL_VER="2" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250307.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250321.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250307.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250321.ebuild index ac245b9b41..38de5cbe64 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250307.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250321.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="13.3.0" MUSL_GCC_VER="13.2.0" PATCH_VER="2" MUSL_VER="2" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250314.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250328.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250314.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250328.ebuild index ac245b9b41..38de5cbe64 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250314.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.3.1_p20250328.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="13.3.0" MUSL_GCC_VER="13.2.0" PATCH_VER="2" MUSL_VER="2" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild index 63dafe8c1a..2c63f6165e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="13.3.0" MUSL_GCC_VER="13.3.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241221.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241221.ebuild index 24c331b6c9..df1147fa0b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241221.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20241221.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ PATCH_GCC_VER="14.2.0" PATCH_VER="7" MUSL_VER="1" MUSL_GCC_VER="14.1.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild index ec135f5bd0..47a10f1ede 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250301.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="14.2.0" PATCH_VER="8" MUSL_VER="1" MUSL_GCC_VER="14.1.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250308.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250322.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250308.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250322.ebuild index 8797a7ea31..b5ae50b50a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250308.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250322.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="14.2.0" PATCH_VER="8" MUSL_VER="1" MUSL_GCC_VER="14.1.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250315.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250329.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250315.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250329.ebuild index 8797a7ea31..b5ae50b50a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250315.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.2.1_p20250329.ebuild @@ -9,7 +9,7 @@ PATCH_GCC_VER="14.2.0" PATCH_VER="8" MUSL_VER="1" MUSL_GCC_VER="14.1.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.9999.ebuild index 84d9971ffb..fb406bea1f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="14.2.0" MUSL_GCC_VER="14.2.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild similarity index 90% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild index 2b8242c47e..ca63b7ee17 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250316.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250323-r1.ebuild @@ -6,10 +6,10 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="47" +PATCH_VER="48" MUSL_VER="2" MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs @@ -48,5 +48,7 @@ src_prepare() { done toolchain_src_prepare + eapply "${FILESDIR}"/${P}-e2fsprogs.patch + eapply "${FILESDIR}"/${P}-disable-musttail.patch eapply_user } diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild index 729c8b2482..9b27f5b51d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250309.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.1_pre20250330.ebuild @@ -6,10 +6,10 @@ EAPI=8 TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" -PATCH_VER="46" +PATCH_VER="50" MUSL_VER="2" MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild index 01eae230d7..62a72284c2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.0.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="15.0.0" MUSL_GCC_VER="15.0.0" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then # Cheesy hack for RCs diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild index bb2c7eb73a..9ea771d35d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-8.5.0-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_SUFFIX="xz" TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_VER="4" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit toolchain diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.5.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.5.0.ebuild index db195459e4..2123f87727 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.5.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-9.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ TOOLCHAIN_PATCH_DEV="sam" TOOLCHAIN_HAS_TESTS=1 PATCH_GCC_VER="9.5.0" PATCH_VER="2" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) if [[ ${PV} == *.9999 ]] ; then MY_PV_2=$(ver_cut 2)