summaryrefslogtreecommitdiff
path: root/sys-devel/gcc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-devel/gcc
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/Manifest99
-rw-r--r--sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch22
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch40
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch40
-rw-r--r--sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch63
-rw-r--r--sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch40
-rw-r--r--sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch64
-rw-r--r--sys-devel/gcc/files/awk/fixlafiles.awk313
-rw-r--r--sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la334
-rw-r--r--sys-devel/gcc/files/c8920
-rw-r--r--sys-devel/gcc/files/c9921
-rw-r--r--sys-devel/gcc/files/fix_libtool_files.sh66
-rw-r--r--sys-devel/gcc/files/gcc-configure-LANG.patch64
-rw-r--r--sys-devel/gcc/files/gcc-configure-texinfo.patch16
-rw-r--r--sys-devel/gcc/files/gcc-spec-env-r1.patch87
-rw-r--r--sys-devel/gcc/files/gcc-spec-env.patch42
-rw-r--r--sys-devel/gcc/gcc-2.95.3-r10.ebuild34
-rw-r--r--sys-devel/gcc/gcc-3.3.6-r1.ebuild37
-rw-r--r--sys-devel/gcc/gcc-3.4.6-r2.ebuild48
-rw-r--r--sys-devel/gcc/gcc-4.0.4.ebuild15
-rw-r--r--sys-devel/gcc/gcc-4.1.2.ebuild29
-rw-r--r--sys-devel/gcc/gcc-4.2.4-r1.ebuild17
-rw-r--r--sys-devel/gcc/gcc-4.3.6-r1.ebuild28
-rw-r--r--sys-devel/gcc/gcc-4.4.7.ebuild28
-rw-r--r--sys-devel/gcc/gcc-4.5.4.ebuild29
-rw-r--r--sys-devel/gcc/gcc-4.6.4.ebuild30
-rw-r--r--sys-devel/gcc/gcc-4.7.4.ebuild47
-rw-r--r--sys-devel/gcc/gcc-4.8.5.ebuild47
-rw-r--r--sys-devel/gcc/gcc-4.9.4-r1.ebuild47
-rw-r--r--sys-devel/gcc/gcc-4.9.4.ebuild47
-rw-r--r--sys-devel/gcc/gcc-5.4.0-r3.ebuild44
-rw-r--r--sys-devel/gcc/gcc-5.4.0.ebuild44
-rw-r--r--sys-devel/gcc/gcc-6.3.0.ebuild24
-rw-r--r--sys-devel/gcc/gcc-6.4.0.ebuild24
-rw-r--r--sys-devel/gcc/gcc-7.1.0-r1.ebuild24
-rw-r--r--sys-devel/gcc/gcc-7.2.0.ebuild25
-rw-r--r--sys-devel/gcc/metadata.xml40
37 files changed, 2039 insertions, 0 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
new file mode 100644
index 000000000000..d5726f886159
--- /dev/null
+++ b/sys-devel/gcc/Manifest
@@ -0,0 +1,99 @@
+AUX 3.3.4/libffi-without-libgcj.patch 890 SHA256 a422ebf05e279bdcb15627363af8101e4d6a54ca037d6da11c13b4768799d974 SHA512 6204588808a37a13dffc8c6bdf70eb453107413d0c8fffddeb360444e3e605f1ceb42c41905cfa1c4f9cbb1b22dc290e68d2728dbddb0f4d0406dd8dca6789a0 WHIRLPOOL 7260ba32fc7d60f1fa4d8667c929e16f3bdf9fe953c823c5b6876d4fea4d4fed52e67aec92cbb599d6327eac009bc4fbbc06ba85acf9848bf346384af0523363
+AUX 3.4.3/libffi-nogcj-lib-path-fix.patch 1691 SHA256 030e2c9f31b325ea975792bdfee88272d1065b8794511410dc30bd2caf8b3451 SHA512 001e3c1c585c3ab641a540eb5502788dd1151cb66fc9f0196ae79e3ad7f01a291812511bd19114fdffc9d8b71987623f1dcccefed3546cb9e0f0e6abd55f093c WHIRLPOOL ffda82e69885c7691f7746188f3565dd90fa9a33be1426155ccf8f5cc40f910ac8bdac14accef120c379bbddc589732028cff94377a6bfffc080789d7a825d15
+AUX 3.4.3/libffi-without-libgcj.patch 1658 SHA256 41fd051cc16b61da4abf4f696f13b8b574fce76c65d1a731de3dd0d39f335037 SHA512 f277f4dff390ead308b897bf06ad53584f11d8234f49f5c41c6966204652113d015c1c6a240d8e9d121af285d4491cfd15a3934c37588b66007423b9050cb42f WHIRLPOOL 82350dd81e502b037d767f066abc1277ed69a2b0d404973e001b7af126aa4c03ddba04ff094fb8ae3b29b9690e78ee0fd71ede2c29bd1c944fc9516199d547a5
+AUX 3.4.4/gcc-3.4.4-cross-compile.patch 1912 SHA256 f8bc4cb8cc012f40f9a988ed8344e9e75df5cb3714d98a2eb19e5320e32c7724 SHA512 c31cc4c77bb9a5f01a7a7969dad862fc5d7f9916adf67e039a71714e0eca02b13a576bdfbab50c069cc8020ef4dc335ed20bb10214f714a089b8daa02e849d2c WHIRLPOOL a96f689f8b97f960e7e33c6bb0fe13e502bf1a180ba8c0f49a9538f842bbb9c736e3162643e2401bccb8ff2f98622e9b1d0e1959ad5728d18130d4b5b927dfa1
+AUX 4.1.0/gcc-4.1.0-cross-compile.patch 1134 SHA256 8ee57285151659793df88e025f1225b401a0c805bfc8d1685e04ef75393a24ab SHA512 84d0ab9bcfdd18148392a7219ec0ad4a1e63d43bda3f45a13e22f551f2f119822fed700570bd659f9260b09b0958d4c49e339ad4f135740e5b60e46462de7f20 WHIRLPOOL 1252a62c809523fb0669cf1c4f056d98c6fa4d24a3f97339be828fea8fcd66254b2e1112d6c4c628deddf71418dcf8e6a8846013bf6683efbe4cc3bfdd8f6cb4
+AUX 4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch 1686 SHA256 7547293b945808f63b70aafed644a43c99e19f82aaf1d2f2df8502d87ab3f01d SHA512 cb0268c64d8d50ee3c95e9c6ca9242be1cb08382c7b081c129045a4852a7b3ed5c48124b33aa51816d80f5c930929bdc097644e817d77b5e186442248a609f2f WHIRLPOOL 7c152c59e7cffe1730bfb20e9ac97aba8a2bad583d9b6daff0ea0be90ca0d4a153bc40c169e1f4831c87c88b4ac5b41bef0cb019e8bbe69a72b702916770a765
+AUX awk/fixlafiles.awk 7693 SHA256 036ec4daa8f11752fdca9288ac504dfa8299d4261d7cf651953b6a6aa4aedb93 SHA512 3b7b06d4f82a67b642e8d74fa32c211ae597bea0e65a4a1992c10a3e7aa93ddf1aa210bfba1b5e34df87f8bea1d628a9a6c900579572433cd6d0fb9a34f6ddf4 WHIRLPOOL c10311a8b81a3e96b2ed64d4a47fe639eff013ff0c2f004d7a5e9431ae1a4c7efd0a710ead3b0e6d49f648c2eefa90a7b1f7c88182510e272cd383e7e6752fbe
+AUX awk/fixlafiles.awk-no_gcc_la 8473 SHA256 e5593dbf7785b42bbbc536ffb488d08ce045d88660864f617770d970ec457b3b SHA512 bea5e047e8bf4dd5d6e877e84225b7efd79dedaad0a35713b3b6887b82aac215dde8f07b9bdfc8a75874248faf4cb7c73d01303e22476e6160e7398db1497b94 WHIRLPOOL 13b49a41531aa6daa29c10c2c9676436c3cf8aad925c8d0ec1fe79befaea0250d4f1661434736f1b052b147ec6e694933ade2ae539a18ca4648397c9ca61f3ff
+AUX c89 412 SHA256 29ad5dd697135c2892067e780447894dc1cd071708157e46d21773ab99c5022c SHA512 71d33a147339d8d70a62aa22a95d3e70e445d8435d6ac05893f7da19ae851b89bea851f6ce213fbd22470f13572ae13b83cf02f0621333f07d7b0c68a79b7924 WHIRLPOOL d9707a2be8da7a709b54fcb1154cfa05e479f8c3bdd6173822ee1f1bc265b2a0d04741c0685bfb0db68e1e4297fb032d2f8ff94da88014575d947054474d8295
+AUX c99 446 SHA256 057b348cf5be9b4fb9db99a4549f6433c89d21e5f91dc5e46b0b4dc6b70432f5 SHA512 bf3b0eb1125d5e89b433954fcbf805cd86dec5a6eeb23df685ebf3ff83a610573f2ffcec65d893244c845936a73918387cba026710c65c854b2c94a78b007989 WHIRLPOOL b888038b96615c7a0363555b407a3de2c1f17e34428fa16dfbf56fcf68875d6bcdecbc61b545d7f71842ff1909a3ffeff17165fa7f56b48f95adae22f5f8bff1
+AUX fix_libtool_files.sh 1547 SHA256 5eda4347c1e7068dbee7e260726ada06f6f49d7452f4110db80d59dddfd8ed97 SHA512 ca39921a04ce9f0888e6aac3240ee71c8259734457a3ac5b910da3c57e04abab7550ae77ed3de6233533569009b17540300cdca32fabf5f3be004f3f8917fd83 WHIRLPOOL 0ae50f8ccc8654d06cca3bae6ba1185e1240811c2150969367c3c19615cc145b0da480b251ced33d397ef0406d7672d6af3d8fd51713e3ba58164c14db8b82da
+AUX gcc-configure-LANG.patch 2052 SHA256 63de6d2dcfe14f21d147abeb1390405b9220c03f8e968f482d4b4c1cf279c88b SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129 WHIRLPOOL 3cc1ec912fb192ff1058de5b93e49a994ba30d1501a932290dd5b3df1cd783875621cda56edeb41894cd5fa10c04917e693a40a60be8d742ddd7992bf5d8afeb
+AUX gcc-configure-texinfo.patch 337 SHA256 74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98 SHA512 a15fba8bf2ff02bdeca54d6f186bfa08c1079c6a8ba0a3beef154483ce5c1b8c497e7ffeec32371968f0037e0ff8384609eb0c367d0155a4e5a7eef8aad084d5 WHIRLPOOL 39d008aad06f7621e4e5db15f5e85a59e583b43f8d247029bd4944466bb60a9795bda157d185c45c329294078e282703a243aad5c468d90c77665dd6336870d4
+AUX gcc-spec-env-r1.patch 3148 SHA256 da0a6442eb42bce58cbdc7858b110a2e65fc5bd5b4b780b9b491033de6e302fa SHA512 ecae71577543772cfe1711f1b4a8815c0b5d706ebd01edacd1f07586637d4805e25771f970a6e6d1bb696d4b1b5ef3e0036088a96a9f6beff7ddaee704175d16 WHIRLPOOL 3535605998eabccdee71ba396ed5cefbb8b0a8cb073101f6444c7d01233f3b3904c1b29f4daf0a3417c68de8dbd62a0b7dc367cacfcbfa0c4ee1b69b7df8c6fb
+AUX gcc-spec-env.patch 1544 SHA256 64b01f29fb853fee5ecda998b66eeaa7ec86ff1fc3b21432bfd69eb543c93e6a SHA512 ce9c1f923e2c6d17347ec2d3d8482351a9644194b2753627389294d43bb4f11b9c2ef41eda1b46ad83d09901a0bedebd5b6b8a57a198646030ab61e8d2d8cb48 WHIRLPOOL b88c9c18e20868b3ff535c3390408ebe8f1304bcec6e70b6472781f684671265860dff4335f2301d3b4d3b73395283b29673f0f5da62414e1094cfcb8130e8d8
+DIST bounds-checking-gcc-3.3.6-1.00-r2.patch.bz2 829688 SHA256 eacdaecd9c07b6573a6522ac776d8daad7658c4214a7fb0ff950cd47ff811ae6 SHA512 d4533d02289dcd2ee11952f83dc687d82624d6e31ddb548e4f54cde4ef9cced5a1aac5b64086441f8930274e31f20d0ee82850fe1257f96c08b05d406d3b2e26 WHIRLPOOL c9d39cef9408472634a689a61e914ea01e6f67294162d16fcd5b451d1b33aed86f842adca8e4995c863ca1ed7a4e5fc0ce68d99a78f1e765cc3caad06ecbf6e9
+DIST bounds-checking-gcc-3.4.4-1.00.1.patch.bz2 815566 SHA256 6568f904eb26ff4bc90e23792b3346aaf98c0ffe38a1abe853d823b3c2157e96 SHA512 da11cb354d5ec95c74081c2cbb29bcb49817a1f9d6875587b4a27f1c9fdea8f07eec8147b739bd18a4fa2365e5da50e4bca7d7531612fbf2514c50516d225ac2 WHIRLPOOL fedeb8ca85af5bcc924243cafde3a96f0ddf69df13a1e2c68a207c0dda3d598af59b49a92c35e104a16f70af86a0027a7630306d23aaf873f48149a64e86347f
+DIST ecj-4.3.jar 1377431 SHA256 9de193ea393ed50d868b730bad6916f7a8ef4ba80216f8606d3e1a0dd886e74b SHA512 c4be72186d81747f1adce5a50de303c24bd6ed9f401bfa8871b1b864fe7591392218b1937b10d0e76014de8e0b6a1d5c4280475976218141cd1878c4a35217ff WHIRLPOOL 9137d6aa5b0e34a596e8d3de8843b5478cec8cdd4113303d554120ba8c6d467e802414f861ff0d7ef1d85dbcb09d4ccc10668385460d1a476345e2de86798bce
+DIST ecj-4.5.jar 1470676 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e WHIRLPOOL db54206cfd5eba935e707b8d36ebac40f3c4ed3c1f06ede794288cbdd9c7da9d90c0898e8c98b383af276ea4c1b40c861ebd9e1fc1dce712946184321339d3ad
+DIST gcc-2.95.3-patches-1.4.tar.bz2 125654 SHA256 dbbefc926fb07b17eb18d4c8bfa8b8d1d956f4484c19e8afecb0ecb995232886 SHA512 7cc79439162ddf6f5dea4fd88e172e815684a34ed70e67f33c6acf4e1a687a748a78dee232d462adb5858cc3f9609e34cf1b8a75707947f4fcdf3d33251738e5 WHIRLPOOL d10f43b3081eaac83b6e22cb9aa863380415fe73da9e167b9b961b37419161d385e70b4f0fa9bb03399ecf77ff289b58cafd804a510d7366c21496c82ec416f3
+DIST gcc-2.95.3.tar.bz2 9848842 SHA256 cf91a6b4f41248895f06bcd0570a62d2417ee99d32e6e2c5f70490e0eb6af5e4 SHA512 683eafd1788a0021867797796444868100d244f72749dd8f014eb04495554ca43eba852179554710d516ff4b94527f40ff9c9189e007ef6fd958ec7293f17e4d WHIRLPOOL 7605984ae8bd948f116e319a47b668327d0e83c301e4391abb66a72a58868fc90e5c8d3298d9444d4852a0073f71a9f36389add96bc5b54364d7943b397bd027
+DIST gcc-3.3.6-patches-1.9.tar.bz2 51760 SHA256 9759a4dc139c9c739a179fdabff484c8b2d036707f0be03ca54fdb7f7d4ffdb4 SHA512 306220c537c5cd90af7638431e6547ee9a80199c384629b5fbda06c28b2d6168fcf1dd448c0e178b104f41e03a8ebda4f389489d205b9e66ade6637e4747196c WHIRLPOOL 0a49ae8fe42f24c8c0e1a9d7671c462219e501bbe2fb27c78a723889cb084632899403d78230e7618899d2cb639bdeada0d5c577949a87c1d249891cd22a5b01
+DIST gcc-3.3.6-uclibc-patches-1.0.tar.bz2 28882 SHA256 c007f38cb0c57291adf0b367f31e14c84dd1d6f48a388896eb63b6cd4328e418 SHA512 d060c1552d4f21b8b1cd6a6e56b9af4f62f61ce8ef4362afb1982b2ad9defe6a9648705cf780103d4f2061737553b6737c276d79b803b6b75ae94035bc881f0e WHIRLPOOL 524204cc41097f13e0de2ad8e99ff80d449c490d602625d24ddda6b874cf63194d62c22f98469f5ee89c8283df82a25fbc989db32a52f31f2a31928b5a522f2f
+DIST gcc-3.3.6.tar.bz2 23972413 SHA256 1c1aa533c67e9da5e55ed4f5736258dc753466bd716bdae3fb88fb66e6ff1d7f SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed WHIRLPOOL 27372f9d12cdedaad38e75c3efea3430d6873d92f85ec0024e2cc5ad986c710ed940edecc926a4c25ce14d14cddc1aec3eb35ac2c29e8c85309685d525a99cf1
+DIST gcc-3.4.5-uclibc-patches-1.1.tar.bz2 70923 SHA256 5b92fac2afe835a127976fdb6602fb5628cf28e67dd19e8289768a3bb8631ec2 SHA512 c0534a374e2e0416d0792373f9d11526226f9ce1a98e771469efa68388b709c72672b8db8fe77901144a96a23e4fd9f9a99f1d278f1e8fffda8a6b01e3b770fa WHIRLPOOL 79a7bb14e220dad7ea818afae12839ff7cc624f128bbf7a29c8005478f6da9742ff08100088baeaf36c038f7ddadc4ec64e78d5283ed19efb4d3625916a3b00a
+DIST gcc-3.4.6-patches-1.8.tar.bz2 61940 SHA256 69822a3b93d8288a1e2c2536c738f0af5ccd286143000c43fecbf62c90861655 SHA512 14c12628e0ccdc47492890a46d45f9ef1df3970d1103116c3c3be76ecf1b3560088232819891662f44d621877b59ed38dab48053885bd34e6516d7de514f42d6 WHIRLPOOL 74e2046a4f04fe1127ae67f29ffdfcd5ff5e0ac27c62e03252a8e754a74bd8f9771d43a53818272f165bcbb38bdc5c15729910f63616fb8494e09dde15f8fd86
+DIST gcc-3.4.6.tar.bz2 28193401 SHA256 7791a601878b765669022b8b3409fba33cc72f9e39340fec8af6d0e6f72dec39 SHA512 d235e1223d5faf8f37f2d73db35edeff44c88974b09dfcf325f4b181b16d7124710d93b1b65b60206ce3525f062236ea0f338b3a5341d7ecbe196d8e90c3ff18 WHIRLPOOL 19fc447592f1feee56da74ee6d9436e0813e5a29ced37f8bf91836bbf0b1b9023fe2f717f8c3cf6dc84f11d2029cd87b65e9176b19727996420b589716cdfa45
+DIST gcc-4.0.4-patches-1.3.tar.bz2 41994 SHA256 2995b5c8f29f9f6c0a8d5039d24c3af62fd8a707ea81a7ffd978ca5f336bca75 SHA512 34999c783b0b2af782ae316c7a874a40a3e98faa8eb48409f951fc167ad4fb56c4fec93dc5cb6831b89f2dd90c80e3c89778fd73b9f176cb4470d8f5d1537b03 WHIRLPOOL 5f56b4ac0ef4df6a34c099b505a8cce01d277ee7d17dd79e542f1b9513cb24a0c23f1191e3933b6a0782d3c181c1c6d72a72837e9c9da1c1685c10103b8a37f5
+DIST gcc-4.0.4-uclibc-patches-1.0.tar.bz2 20164 SHA256 2f4386f423de421b1171c6312d82be3f646fa249df9672687bf8c37a72d8d1ab SHA512 67bdb8be3b7d173795ae3692f8f76fb6c236bfe3054112db30e3f0a56982685fe0b15e2c37f7d9e15e6198e4a41e47e1434a2befeee4e9e460e7bc9e0fa9d235 WHIRLPOOL f7cc0a984272187e88683683e7c484d6d40cf70efce4ded1ad5cae2849a6a51214280453eb60400d3b43a310a319b39dc8f7f88a5857d69ea91d73e0bfe6b663
+DIST gcc-4.0.4.tar.bz2 32642939 SHA256 f3fde051c96d2fc084f6f4d6114ce4c1a079fcd1247d947d50a3d1641acafc47 SHA512 194c12b5a1bc50c003f6fc849a4c0032388a960fb4b769bdb6e76cf330f04f880a0723661c991ec03742443c21ccba9af8599ae648a0777e0a5875c5fe7f6abd WHIRLPOOL 58749231707c5007f5907ef3916c9f2941bb42e0890d754c9e62692f5e049955a766bae502f233fa1ac084279432b15effa4b632a87c2c50db4f24c070ae9762
+DIST gcc-4.1.2-patches-1.6.tar.bz2 54513 SHA256 ce3653368abca2cde342cc68dc1288a8a4e2a884e28ad2a8c6e8198ecffe1bac SHA512 0f225b66851c1e70afe19f59c8527631c8b42f0580922d979d2dbf367b4591a59e7047bcb52b36695bf24fcfd71ea814b0001e001fe0e39482dec7327bb74259 WHIRLPOOL 89743a6ed97aebfb0d4e07ffce7cf1dd39b065a9f5d10342536e579ec6eaa81cfc186413051f754efa870ad12812d0425d4c41ecdf9a263b636da5d66c666d3b
+DIST gcc-4.1.2-uclibc-patches-1.0.tar.bz2 20980 SHA256 c6ed88711a727ed11847c9b9f1cef7023037bc80c0840eda5fca6d60fa02e35a SHA512 57789f4236a3085136afa83be3cef677bd813afd258d67bfdbecd2058f497cd459366d5515044c0208ab753946dc951dac6a3889752ca6dae836d837c22ce33b WHIRLPOOL 6a0eee923be11ad415eed56f4acc11480747aff92d97baf083526866d3c7eb63ca1fe51375fa70b9223f863a25e4487ebe9ce9da2acf1bbf6b55c6ad2d1a7010
+DIST gcc-4.1.2.tar.bz2 39707720 SHA256 cfc0efbcc6fcde0d416a32dfb246c9df022515a312683fac412578c4fd09a9bc SHA512 b97d3b72a3b0355611d5090b2c715b7a774f0e466a89326a0226c2809d12dfafb2d7c5a7af54bd5e00c135bbb6596f535e1a484740f7f1f691e8a57e6f0425cc WHIRLPOOL 5822040f7e96919bb906ce55e0bd19c4c85b3a47ce73f0a4b6d0da62ce9d7651b6cbeb6199dafc38582b206a98126e3efec8d54cc58c7f303ca708c9261bec57
+DIST gcc-4.2.4-patches-1.4.tar.bz2 25768 SHA256 425b423a1ed8f0eefcf244f1d4462cb1e11699befc2a1d2b3f908ea5d123668d SHA512 dacd9d13f29e1e7baf136dee564fd0d128c20f77a8f7ab745263ad9dea8c694c006b89baf93f9aab7a0f93b48c2a54d80c4196f83f0f27c0fe17f7fba9a4fcfd WHIRLPOOL 69cb826a6a7914e121732208b95450bc0fc1b9dc9ad08d67c87fb7643b7777ee51fea5a699a8dc94b5abe570d6a1b47d95027764fd695e5572ba3c32c27f59ea
+DIST gcc-4.2.4-uclibc-patches-1.0.tar.bz2 19167 SHA256 45fe49c144db3c23f928f0303a80071145361242566671afc96b6dfea5ece221 SHA512 5545cfe6bfa7ab9a69a474cc051cc8744380077dcc193afefeb455e959e408a5e4dfd1adde5357886c7f598835400273ef80ad5c14976c0552b44f5cd48704ed WHIRLPOOL baa4c6bc76deff38d3f85e7b91f53e6f3785e2d315cd835aa8d4a80b580f43c2fa21046df85f17d8c81f95a91c0fa782078963a2849ee1604f3202c9790b9d27
+DIST gcc-4.2.4.tar.bz2 44025458 SHA256 afba845e2d38547a63bd3976e90245c81ea176786f9e6966339c6d3761f1133a SHA512 c6e3e4fce1d27d0c56ab24f4809367d9329b620b7c124e88de190f2ea2ae57b5e06d0bda85c5a74237a4f94ddba53dc91faea0611fff7b19ad720edc312cb0d9 WHIRLPOOL 242177c7adc1538dfbf0b5519132902479c9a8f21158ed04bcf29a3616bbf98d0cf4def13e602ad0226e745875c327d33e8f45eae1b1e6de6d61e2a0ca1b0b90
+DIST gcc-4.3.6-patches-1.2.tar.bz2 76826 SHA256 55fd71e268afd1bdbc799a4dfb69c86ff6e08019159ff94d9cea5512a5f29af7 SHA512 229692a6026ebadc4d87342fd11695338c0fb2a13c43ed6288710fbdca4d7330c74a2c8a46f60637be9c4c38365076f068d35c5a91faa1c69a55e5e7aeac79f8 WHIRLPOOL b0f282a8579261af35609e3e4b5a3998067e16e8b75a65da866893052be023032e3108f2500681ab9e30e4ed673f6eb6a61dd51de17476e831a1f8dd11db2ca3
+DIST gcc-4.3.6-uclibc-patches-1.0.tar.bz2 3021 SHA256 6ad4c3a5f6c359eaa2b6d1996cb2098c4265d00b7d3a33e9db880301b1166e69 SHA512 6b85bf4caf5662ae114e472199c2f77d1fef63c485c073643968b6e0575c13bfa4ce9a32191908f34e70d41fd9fb5b9bc2b527542d82dac881a0462bfe89b120 WHIRLPOOL a2855f10474da54173930eccdcd9a6afe8bfd54d2d612c4ee1060e0bd68d83cbaa7aef9efc5ec2c329ebdbe903c2bbd7ea589b2b391f896409b8f04df46617a0
+DIST gcc-4.3.6.tar.bz2 59756702 SHA256 f3765cd4dcceb4d42d46f0d53471d7cedbad50f2112f0312c1dcc9c41eea9810 SHA512 0cb43f523135c6d54b3b5e26de7044fe096c16e7c3af8e400b2b48c5e52b4b5aa56615b1eca5e326b0202cf34870daa6ac44ec9633762acafa4425552b4029ee WHIRLPOOL 43694948728163150276be24b386a6ba5c12ade91a3836059f2665e7670ed011216fb144e73fc79de8a16988f77a3d789f781ff595ea241a7f2ba88e4f624306
+DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2 SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 WHIRLPOOL 8a1e45aad9d306cb19de93c63b5854a97e629d90852feb6861dcfca042b6257705304fc13ad65655a4cb227d36b83fc6063648c94f270821574ee0e85307094e
+DIST gcc-4.4.7-patches-1.3.tar.bz2 25866 SHA256 26daf24267edc8d1b9974d18df770652fa90d3a2062ddff2933997646f93b3bd SHA512 cb59c8bb72a5414a9930f63e55a175bdc57d51dc518ec7d1245684f4576daa139e10dbe050a75ac960607cb0a5ed52c49ed7139d74398278bb7012ecda7be09d WHIRLPOOL b9e79660977ca3d82fea5f957270003ac27c3fab7f4da72d7bc169c3a7158b95084ceb8c537b86f9f67a3bb966533d1fbfd1f40463d8fa4daf1c20033048d256
+DIST gcc-4.4.7-uclibc-patches-1.0.tar.bz2 3016 SHA256 f68c52de7aa8b172f7b43c3b576902c3d02ceafdef954cbb76f4fa2e02dd66f2 SHA512 46a69cb8e2e3b97116d012b95a515953b2629be04228a2ac90fe628705e6bc3bdf05ee22e3ed7d5fd0fe6e60aad8f1f96f36e8dd3b231bdfd048e61c6cc15beb WHIRLPOOL f28c1d2b7ede7315e60eef0651580b716ed89f0cfbeac59705537f3cb70ee748eeb3913e0344a40421e27d2aebf3162466178acbc7c8a555e06bd4b3818fa43a
+DIST gcc-4.4.7.tar.bz2 63179340 SHA256 5ff75116b8f763fa0fb5621af80fc6fb3ea0f1b1a57520874982f03f26cd607f SHA512 5562a7319cfd8cc7c5261de9170f2cda86cbd3a231a444a5ec0ad3d8fd60af6f8bd86af8f201cebb7bddcd083d761834d1cbd652c68af0f5607d22a63439ed0e WHIRLPOOL 588dc683b0526d0d9f0b178cab54e30340741a49752097ad4fbbe2da4d7fef5e6d17e321a078726e2797604de280f8ad39309e05eaf6b4cfb0d1e7167c2a0aeb
+DIST gcc-4.5.4-patches-1.3.tar.bz2 20108 SHA256 4859c23ff400061d8bf3fb961f025b321700ad49f27badd9bd6ed204ea3bb49c SHA512 ba5781da360b5049ba07aa46dd45b8405540dadd717ceb88c07d8803ba91a90b9ee32147932d3dddf1ae1ece148589cc2b0e709a3fbec7fe56266f6e925fa8a5 WHIRLPOOL d2b82ac67bf0a574c7fc9976831cce175af78f08cbbffc1b0fb95ce9748d65906c70fc681ea4390bc76222f1042c9d6fe7a879700aeb0b0f60ac89328643c64d
+DIST gcc-4.5.4-uclibc-patches-1.0.tar.bz2 3019 SHA256 bcfaac58ee057ca9fdbee9295100379051b3b7df8abdf33f24da6cb3c75b4d20 SHA512 b6aa0a7d029a2a00b36fe8906d76b434fcdfc7191cbc8fffbcb8b89a66eba61ba6cd0cfdba94a79929487fbbad2163083b085476498f8be77ad473d078b0095a WHIRLPOOL f3cae558649cdbce9a7dbf0d006845d88349926d1e3d7a4717f2df5c413a1da236b9e35fe0618844578408825b6130533570146c525525a0df18223b3ebf479f
+DIST gcc-4.5.4.tar.bz2 66426133 SHA256 eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc SHA512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1dfaa5807617fc5248719f50b39c37ade0173ea5b9fec2091f4656115 WHIRLPOOL 1d3aa5f344171a75144118101bf475536940eeb80f73849827ee4103c52dfb6504d9b26e21fa0984c65c5e6267e02fa6e7f8ef539c44f45470790781080aadca
+DIST gcc-4.6.4-patches-1.3.tar.bz2 16443 SHA256 0ff58a1142164ccbcc172470945812343d467da3ba0cdfa338deef75252316b8 SHA512 ed904bb8438a23a2e1ec3aff28c4451128421426305ff07de50edbad51a066bee9d1a9042a9b26c36dbd57e1eb044a474088945d6d780c6e98d7563947fb9b9a WHIRLPOOL 0fbcb26fdde71415e492f86d5bdf4605ebea283192426f121f6d34c2401b093a06ef0eae61c64abee653621efb1611ef39902d535ee8742061af8459131632d5
+DIST gcc-4.6.4-uclibc-patches-1.0.tar.bz2 3010 SHA256 946334cc62c0afa2f50a435dffbed12fd32c170f0850bbdce47df188a1eb8918 SHA512 fd289089a30c768b0ec4e3459cf494bc5e9d4ecf87056dc183277c712f7d69ac4cf900950270d8eacfe686b4aa906e1ece87cae52f2cb00642e96c0b95dcf133 WHIRLPOOL 2ce7f308a21fb5072d08a640390eb3f453ad8d811df897b0f9d3e917eef4680fce6cce231159ffe96e371f3c299264eaa51cd110124a3a126f04fb6d8531639e
+DIST gcc-4.6.4.tar.bz2 72006076 SHA256 35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8 SHA512 b5a5395782e0b9e61cda052f6e00c8575d1aa0b7e8db9e34c06e4e45f12ff37b436018536b7fa69a04a4235b5b368895652e3ed8fab2fe11763f9782ed9161dc WHIRLPOOL ab1b035f43aec669640b36037e65ae0edceb3b13b1ce4f7900aeff5ee06686dc2d66c3dd81156f53c4e9a9a806e4becd4462f72a6c4ad7e646b632c10c23356c
+DIST gcc-4.7.4-patches-1.4.tar.bz2 18072 SHA256 cef0f9d5624fd583eddffe060fb882e2e3b7ed43e517e03df7b3472189237327 SHA512 9f5d68ba62aee909023542dcece81e4e448ea750254258107d4f70291d8ae99469c4518e42ffddbe6b622b258f463127be6e6ef7eaaeeeb0f59b3b719f3eadca WHIRLPOOL a5d76b577615de7a472f591bc031552f7b3e4dec7fb58385709235d763d416f47c2fa8ff4c73531ad023ee50dfd25b1e0c1752dbdca4ae19f736cc79428d63bd
+DIST gcc-4.7.4-piepatches-v0.5.5.tar.bz2 15358 SHA256 6b568bd204e3ffb177df1830e5a888be3987491b4183bdb6ad75ad83c642a348 SHA512 f5e078bf4c17f7b5be102f1e3358d91c72e80363b5e055a92461f78399a1bf27bf6cb690d41900719bb260b6529f5d1aac999e613fda6ac5e4efa27f622510e6 WHIRLPOOL 42e348d5925cf4d43697a6dc06c911cc617f89037949ce1d8f7aa0fa93405f460e7416d6cd00e8fb2aac54c6f26fcae00691917f1517fcfb6891925efa3d3400
+DIST gcc-4.7.4-uclibc-patches-1.0.tar.bz2 3019 SHA256 cbdfe2947f653e11ac391dded461416e5cef1ff8900cf8fe92672de797b4018b SHA512 c2e6c96b74365f8233f6106fa03d94075b60f6f77c683aa2e27aceb007da723243f8e3ddea8b178e6a0f7939b8e35615165534dc74e5050f87680ab261a31c52 WHIRLPOOL 53c8bd64336eb55d8e3d62a33267d3d99c0239d5c818985a9830fd776d766aabf4b0bce630949c5b522580566e2eeba1b59bfc1b8388dee7ec6c990512d2c499
+DIST gcc-4.7.4.tar.bz2 82935453 SHA256 92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282 SHA512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 WHIRLPOOL df8408e80634ce28f105f9abcdcf38fba5c130795cbe48428527a68819abebc3bc7152bb6ad714e40c71450a08986b48ddd630c887e1b2faf07c3babfe720969
+DIST gcc-4.8.5-patches-1.3.tar.bz2 26025 SHA256 4a165e6a387421f581f49c742243bf013c9fb7c91f44514be7b38292178ebbb4 SHA512 8d190f81ca0d25281250dbf0a670fcf12334b0811a5bf664e6450942a2996d02b979c6e8f8760b287edad06df3d1f8e2fe5cb0c3dcf9677c3420457d841d9506 WHIRLPOOL d31b3f48e13e5a9292b704afc745cbea038e61eedc4dba0d659558b56feeafec118043f3430457f71dc938760d72860e4318b2238b3bee9fba069c740327b78a
+DIST gcc-4.8.5-piepatches-v0.6.2.tar.bz2 14265 SHA256 3a823af1b4c590076b95790614d49448dc0ee6ff0ace221f2dacd9033b58eac7 SHA512 cd6af4047d4719dae9dbe86ce5342c7d8ddec38aad032486713b08e1b0cb711f5ca017e08d583137d51b8d4ef673366ba310e71bca7b49b82e9314781d6e9d99 WHIRLPOOL ca1d0a9cb9abdfddd95d433b2f0424fd7cc9d514cf4c91fb266af4c43e26e0b3084adfae0eb5c998dbee83551e916dba3cf438b338f7e4ac1a133f06018e398d
+DIST gcc-4.8.5-uclibc-patches-1.0.tar.bz2 2976 SHA256 3654cc2bb47173b9d40650374c465a0798faab53be5ee4446389af1acd610a27 SHA512 5469128eab06525915c75241797ad9ec4b63072ebfd5e110319bf810633cf3fbed39bbda4f6a0c74e537b248e7642780ecbe2086ad10be6e66b7dd289fa6534f WHIRLPOOL d5e11a7d83d11455d84deaa464b8cde0865c730cc140daa5d7b0e700a79f188c6efba88b1c5704b20ede2dca701fb88cf581bada2f4352fbd0e0a5571c436612
+DIST gcc-4.8.5.tar.bz2 86165587 SHA256 22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23 SHA512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea WHIRLPOOL 026253cd2f3706871dfe2525c0302b38b3f513f6a62666d0ba0ca2e62d6513f09ad5c1177f2a63ae3bad660fe60e7909b6930d26df2b367b9ec68e14552c6e11
+DIST gcc-4.9.4-patches-1.0.tar.bz2 22266 SHA256 1a394abb77c75e2212896ad3a62ae1f6bfd3660b1c176c608298733c740a00e4 SHA512 cc2407221f858bad38b57d31f635314f91794293695e23d255685d8bec20b9db19c7dc76bbf5e8184c2ba0ccb530958b09bae4d8a402ca27cadf463f46bfb995 WHIRLPOOL c74e5273c718020b591911d589d8eff5e366c902c479e566f966577efcbf424b19669a54843b2ddd60c51c81fd2851bc86aec1c647482b4789a518f01dd62561
+DIST gcc-4.9.4-patches-1.1.tar.bz2 21544 SHA256 9cf94727f98055f03e7ea240529f07a785fdab9dd353dd029113c53be75d9e5d SHA512 37ee209e03db97237e853ce33937c8f085ddcfcb44223d9299d493d0f3c2b275cb6048c5268a693a738fe6e2aa01435741809d8c45385b4917b41b6604e8e8b0 WHIRLPOOL 212cdb217c29469679f834a534b8b4ef80724c5515d12ebe32c2777e3840ed26a7dde3e88575a6815b45a537937e82973856170fd0e2274edf5da4e98c2ae8c2
+DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 SHA256 c67b56f04c653e6a19e36abed8391f8b6bed426bfcfc907237cc37f02dbb5015 SHA512 243fa272ea0e49f700a76508bab3e03bbb353bcb930581b2f87f9a47df5cd3880e29f20b71612b21190adc463849e1e6ac2a38a49c0002b562d93d436f538285 WHIRLPOOL 1e5959441210af6f690398efab96444ab11d136238a9428912e8441eaf0509fe6db359a8aca92a446fce0c75777385475af73b20165a8593f9969e3a25fd0b0f
+DIST gcc-4.9.4-uclibc-patches-1.0.tar.bz2 2618 SHA256 95f290d0b68114d835515afc424d6096476a45665671784aa71a7a506296e465 SHA512 5a1f44caa9261f4947101379628143869b31dec67fa28605e8e1f3894d4b7120c3f68ba6deb59da7a74fa906e27ab32cd3767761837dc3dfebc37865d349d6db WHIRLPOOL e46b08737cfdc235bfb80117e0389f3969167adf59bcba2a0a1094a20eab2b62f0c952dac44781e43957cb1507cd4e80f37bd8aecbc55dbda6382d93b3a4cf94
+DIST gcc-4.9.4.tar.bz2 90097606 SHA256 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 SHA512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe WHIRLPOOL e20045126c21a3edea1fa4a2185ec2bc5feec77ddf967ab9d1e8c33322ad4eafe013bfcaab1ed4e35971d3b70ef373ea3585ebb089c9bbf91bbfca1f1da71236
+DIST gcc-5.4.0-patches-1.0.tar.bz2 28227 SHA256 ff600369f150129754108322338c3f4f0064d222843a2d82778537f94a22ecbb SHA512 70cd83b142abaa3c22d67d5d58185da2cfa178737ec963e230cc03ea8dc6dc757665c711fae91af4cd91062d3136c6f31a5ee3c4c7440ed9485c6f3632731940 WHIRLPOOL 84a69d2dde582fd486f6c60f78ce9f8c7cc5b480c2989cc1804617eb6526a4a17d20d2ed010bd9fc78019d69caa665428970234090b21f9d4b97217011d4fcd6
+DIST gcc-5.4.0-patches-1.4.tar.bz2 28425 SHA256 039b88a939c3b90777fb94c58980cbcfffcdca4365db044dae0677302a4365d1 SHA512 c4922cf0f83cd3b6ed9c50ffb39847a03beb95031865d36d86ae48fdd912c0bd6842ad71a3b0d18a91786ed58e2e529630c6ccd2a0414a48892415051c70246e WHIRLPOOL 6d0a73cfb4ea387811bcd81b2de98a11e2f656a4df7ee5a887cd15d0a744662d85b22fcff86a6953f7c6bcc6d822333528de91b793191e72fe5ff2354deb7a97
+DIST gcc-5.4.0-piepatches-v0.6.5.tar.bz2 14551 SHA256 495eb9110244dac17408cd0eb6977a593577eeb0437e72b60339b8ec394f2fb0 SHA512 4890f0713d261982ab81a20f93c5f65193aa1dfa171e3f9e5867f0b80ec7c1e76c5a997b1a4e6f47f8ce36af54ac91125c5bff8bf6d971b7d77c65a57a40a3c0 WHIRLPOOL 13b74b1ca75cc94f9624fe1b52221a953962c918c2cb932302a3078b6deba4f3e501647ad8a2915edef6301e64c820ed612a6fbb9e1178cf1711fe0045686969
+DIST gcc-5.4.0-uclibc-patches-1.0.tar.bz2 3731 SHA256 a3145faa6c81c0753ba754b735834c38987c356dadaa7c4a625c738e374604b5 SHA512 009f34197e79c5e8c6497a0db01ac45cc657e92e56a663b4f3281661d108b2a129cd977fab5f0064f225d6812ae91e82bab22a2b10ae02c486881eeed85ec7a3 WHIRLPOOL a3598ce0aad7e9110db156005190739abc5b4ceea3c327cb9c747c4cf1b99589c1a9fac170aea346eae030b09ee563f9f990e031ad7dfa1aa19b895898bf2608
+DIST gcc-5.4.0.tar.bz2 95661481 SHA256 608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a SHA512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b WHIRLPOOL ec81c8143e48bc8d9d0bbdc0fa3ca553c805193f53ac46c86127b54565894780dd97281485e396a130567464c753f043458c8e450018c957813f50ff90a40708
+DIST gcc-6.3.0-patches-1.0.tar.bz2 7596 SHA256 6c880468ffa4ad2b324fd18c762dbdf10646089c8ab865c228e166f99a0e049c SHA512 8fc96086bd3da3726687ee9d180d3b5d0a7d5814141d44eac8eb01566a783ec780c8fb8f55f75d6e9c9006b2e407e20cdb5835d541b0b66a47dd60642861734c WHIRLPOOL b1bce94d6134db6c9aff4298c6c7af003e39d0411aa40cd027d2c7d6a256971c81fb557e85b25f1107e9a474cb7d772c3bc62a7a4ab7ff7fca5eeae5b2ca0c94
+DIST gcc-6.3.0.tar.bz2 99903185 SHA256 f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f SHA512 234dd9b1bdc9a9c6e352216a7ef4ccadc6c07f156006a59759c5e0e6a69f0abcdc14630eff11e3826dd6ba5933a8faa43043f3d1d62df6bd5ab1e82862f9bf78 WHIRLPOOL e79a2d6ad199396b6efd835c1129d049a367174ea33dd3b6247d72461f117c2dd81e5a66f3dd6427ce500e768d3a4453efd0debcb56966d00c7df79d05d54b7d
+DIST gcc-6.4.0-patches-1.0.tar.bz2 7577 SHA256 9c9b68c28e67be281c9bcec5d944b2a3439bab953dce08fd35a65b10f9dae3cd SHA512 e649e334eec4deb7c261d808ed460413d78a2a4a672823d214c1e173a13bc314ce898fbf3674a7c7fe3151a089384ee0a7dee479bc8d005a06b65b39216bdf75 WHIRLPOOL d7d9a80038fb939c26605d91eda9bc23070179bdf6ce597255c44f9d83f2603aae91d9890d2a445bce8c682708743021485f1415cea0b9b8f02dd9d982e36d3b
+DIST gcc-6.4.0.tar.xz 76156220 SHA256 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4 SHA512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 WHIRLPOOL 136b282c6957877d2f463d83740fa65a4e7a346ac94e4baabea25cec41ae307f34409b1e518a22927821d564b8634a48978dc8e1d0b988999e924adcbf3f5cc9
+DIST gcc-7.1.0-patches-1.1.tar.bz2 6746 SHA256 39d4a0c659cc361bd3c71fdc9b793bccfa2bce06ede65ac49b805d1e236fcc8e SHA512 1bf95a505dc6c37bf6924bb69fd0670c8f3355b6690c94edf4a4248649accbd426575b40cb7a473dfb0ae09a924b05619e5c633384bae0293edb670cfd0d3a30 WHIRLPOOL 9682649fff62b56683637d25a58d11928342d99e52b2269f42369fd1d691208a7645802cb0d609ac30e20593ecdceb8cb1ab9b216963afe14db1b17ed43d5eb7
+DIST gcc-7.1.0.tar.bz2 84303533 SHA256 8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17 SHA512 b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec WHIRLPOOL 1dce5f89d4110bacd7f65140a1dee7b1a4898682e2ae8621832bda6f101354d226743acf77974b5e97d861c6eb6c47637138987dfb6ba222ad81b751e80ff6e6
+DIST gcc-7.2.0.tar.xz 62312628 SHA256 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a SHA512 f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 WHIRLPOOL 9503fb08731d94b5d79b182579f41992e9db16dba8a034cbfa8a2703a975185859e79c1e3f6094d14d08c7f5d7135c2ca5ffd8d6f7ae7820c20d4076fe5e9f65
+DIST gdc-0.24-src.tar.bz2 1012099 SHA256 cc6a97c76c9e6db31e76ff97014d24b3d43e21f018a3c6218e3fb2a4500fc79a SHA512 9aec7e4b102e602dfb61cd09ea4b4a96af637ceb3d726235261d09ebd35dbd416abcbfe0e46918e48474bd241fe9bb29abc145a65aa834669295aaee4fca0686 WHIRLPOOL 22322b0c3e2d67b3b37bd7fa92a29c593688f934d4ffd62b9cc87eb63a44a4f8bbc9d75cadf11209c73bdc9942c9b4430036629d0eefcd04de9055c502b85f12
+EBUILD gcc-2.95.3-r10.ebuild 752 SHA256 8d9196b3fc56a9e77030990c66eec2e30b8b91139467763335e2349372068c19 SHA512 88e3a89474f1b46077b74a7c9931cdb7275bedc72d2be4ebb0272f45ae7a64b533fc80263275839a6c67fd2ce5cfde6580d28b613a37608db26b3c62590dbd82 WHIRLPOOL 49aff012c4c5c924b481e03f30e57d74dd3d74639939a00551d81c81e15b3f6873636a656c773f8729db3f3eeab3540871babd8e6662976454205484f2405937
+EBUILD gcc-3.3.6-r1.ebuild 1249 SHA256 9a65400f7629ca6f5ab1febe9aabe9c191e295676c3e6342912e7cf1cbd7ddb9 SHA512 a18cabe5c02f3ba85b28292ce6fd0e3973ef15f5ffa847fc67d57ed2d04d96e1a6910f36a9ec08a4833eac3e247df5a7893bfc19ca6354233352d38651809092 WHIRLPOOL 192d37cfa7aa5409e1acf7221ac00c7701264ed73b4d9c2a6d90b7411ffd64ecb5801022ff851a396c0139d380f1ad9e3baa624050f604f0f45e22f7c96cec72
+EBUILD gcc-3.4.6-r2.ebuild 1374 SHA256 2e5a3e1e0eb19784c02369ec8a6163c306af196943529bf79f99941b5d1f36e3 SHA512 5c31bf85dab53b0670ca7606c29e5fcdc9cdade9596b02320d95e2ab215952de4dc2f4fc4ce17bf4826c26bb76e820135a9317198753cb071b3ff7e39f1069ad WHIRLPOOL a3438af25a2abba897f7095a53c6255bdf915b078500e96bf618940a17696401878ba056c7f57ef953f1f32a78a536807fec34e6ad931e4b58e3ef2a7b89d3ab
+EBUILD gcc-4.0.4.ebuild 247 SHA256 67038002feaa027f0f55bd29dee9633eac3300bf3b315f1e711ee559fcd56222 SHA512 6f988f06da4516223bc9862eaf9bd082f26713a8aba4564d809d9daba6ffffd97e623804982062f421e733434b95ef02c76b230e0cc2322eeccaef616b6e98d1 WHIRLPOOL ff5d4d9602096cf291b617fc9034accac66237cbf1cf9e400d4cb18727cad687b238423b8e632f157095e21ab9222fadfb832408ea69580b05d728599da89668
+EBUILD gcc-4.1.2.ebuild 661 SHA256 add68006513b97cef5ade66a301b4300787cf7db00a1587f23155f61b4c572eb SHA512 370ca5af2b116c464b0a949f643b5152b543e04a4ce7b793b8059ea6c74768ad8d8d8441de600d98b81e7cd4b8f2407152c09a532b3f96cd224e4473f2865757 WHIRLPOOL a04277f514712c3d4eb5f9db73c1cfddb1021321cf92cd4c6d65af689dc1072729e97b494dd2c4819f3898d38ce515b266a1829fae82ad9545d89223fcbd734b
+EBUILD gcc-4.2.4-r1.ebuild 406 SHA256 79e44e66bfc21bd437640b031e361e9b66b20cca51003553f8fec935a2a41d8d SHA512 2df1a4a124f89a7f3112e6966b0fa8fd3d25e1d9567b064c3327d5e6496ea012e032342ce48ce25d6cdc0168c182981210b546b5dc6f0ea814b46661dc70dd7e WHIRLPOOL 578fbc4d23bde3a3e8ea9ba6963e040388a392171c0c97c0424fae3aaf0ba83189ec74be2de9411ad621ff941a236be3d528d144d49f69b1df0b94357f38c2f4
+EBUILD gcc-4.3.6-r1.ebuild 630 SHA256 6e688977cde0c4e4b351c4383e4ee20319879a62f0e85ccea86d63e10672aa93 SHA512 d381b460bd995fa8e5f8ee7464f04030510f21d569ab539a0bb6afbe2f5f4266af25ea8df052004bfb56155fd3f6cdb82fed7431c36da0f658549a26449d1e55 WHIRLPOOL 6646b25af49d42ffd6e345982e495d4cac3f2012e3b982c6e5b073635f6621a20e4f4fa669f69b69801ab6ca4987fd056b47c1888a0c4e20fc3d2d400fdb39de
+EBUILD gcc-4.4.7.ebuild 674 SHA256 a32abd414f64b8354e8951b3514b0467d36f661131382ce5ccb5e3a2bafe17da SHA512 72e2eb8e125e1dd8ff095a989a739978562e77432a949839eb012bf915af4e989c79759230583b80580d25b2659cee937359f05f96cd7dbe5084d4f7bd3f96d5 WHIRLPOOL 4b225c10a8a519e85e2b0b4a169455562c794ae906949d52ca2c3278e287edb041eb9c45e5dfaf7ec3bc29dbfbe1bd8f859f44d7659bce33d33e5e62a9b99cea
+EBUILD gcc-4.5.4.ebuild 687 SHA256 fa26996cdec3b8155e1ecd7329c6dd1e2f2094befba109675189abff8c1a7849 SHA512 2f4ac3fdea111450adbbde5b3021b97db273baa1d2ae9188ab95baa772a696843c2685ce51adb8dc408ebf0924670eaf7b17c42bf1f798bb23d3037ff951e456 WHIRLPOOL f2a43e7207b69a2262d67877565559f5a464ae1060b94189cf668bf80c5bf19050ebbf4fb46d9ada3923130a1064b7b65387da07a9ff9fc630a2755fa4d21764
+EBUILD gcc-4.6.4.ebuild 768 SHA256 56a6a8c5a255751a41c2efbeba9b7f9fb144b68a257f0a7f136a769a840b5e00 SHA512 a9d6fab6be0914a0ece96f42da9e2c84ef9d64cb480d9374b01ea16679c65129b49e9439a17d2c898d1e1bd33b7c03513df5b7172e91e3e682d6c475e9972fd5 WHIRLPOOL 58e87d6d2f94e054163cd69acefe5727c17f2c04fcd47bb135fd6b62700270504f9969f2ed6ff574fc28e5ce0efda3b385d0bee9e8260dc1aa3e0401dec74752
+EBUILD gcc-4.7.4.ebuild 1291 SHA256 499c89b374e2fa9f4b205151cbf0e97f34d3d0d60577e2a1c685cedff7cd519e SHA512 ad60bbe91d92bde8b42c9c10d10d2ff9c36677b60da6447c4fde3205bd3e2bbdb3194c52b6e51e740a9af93b0d05dd8446f8f0fadbe6f8dbc9fadaee8dd5dfeb WHIRLPOOL ead07b80aea133bcace26288fd4ef1b656469caa8d23d6e0171bf994bb175d4709647a7eda380de3f1070760bdeaba5411e96e52ee4cf5b3cce17a3da7633b01
+EBUILD gcc-4.8.5.ebuild 1401 SHA256 222441bfaa3d89c48ca2ee4f61b9025b1a598a0de38f1a88707e7696ea9ff350 SHA512 d0a47534b4e2e35ad3296c87887307f3446421f4cdcb2d2aa9c3a3b5570af6c1597101e61a486994135577f1f693bb4db4ef91ec639ee6f274b843600029667c WHIRLPOOL b9efe4b12eff49c823d9056f9615670a42a759ce6ee44f0134c0d5d95de6c128682e118dcbdd242cb4434819eb48f312e5794966957d3c7a271595ae6ffe17df
+EBUILD gcc-4.9.4-r1.ebuild 1403 SHA256 8a245c1a153d11344b969988fe1d7ee60509214d0c503c24a44ca7cb5879885e SHA512 ed12b3bceb48d3ffbaabf78b1a8105fd12a8befcbdf7f53cac29d5b649b6634b8075e346ab0a8f57334612df3e9c9a16f02a2c5d73576bc7e1d77e3012e491f0 WHIRLPOOL 2815a24735cd7ce4b11c6f78af64b0f279fd3575d43bc64d9e8bc0aa87796dd51b1d6c592ce7931412839d47f43a19b7befbbf84219751c8559ff2c6f03af1ff
+EBUILD gcc-4.9.4.ebuild 1401 SHA256 e0e1fb3649a316acc5d923f574eff78cf0ce845150b7f6f909a8b88b05b9caf6 SHA512 7ab54058e656517bb9f35e52d71e46a30014efac3cbe338bc711d747dfd1eac863cc663f5ee750acbbaebafd43ac2a7eccaab45b59a622e349c7b23dd3f68ef8 WHIRLPOOL 25c1a602b93ee0baac613687dadc788a62caff176d8639be84deb3ec60e50ee937fccd6a4ae500a5ca30fd38ba67010988644e8c75be0b61f971f7ba1c1f3e13
+EBUILD gcc-5.4.0-r3.ebuild 1278 SHA256 4af47de7247fb1026c534c74343a89c8c3b1278ddfdbafb0b638782c3c6902c1 SHA512 8d12478fb764b7344e06e51a1d9ef805d9f0dcd39e372d328d30d915a1c85ea782270a17a2e9661c2ad6774783e3e0562345c6898339f0be3bd9aeaf8647b671 WHIRLPOOL e079881f85097da452290e5b4bdeb768c540c5b92885dea7d24b2f498480586e9ce8e21e67e909fbb85df134ffd2369472029ea2d5f81bfd1af68c6c808a7bbc
+EBUILD gcc-5.4.0.ebuild 1288 SHA256 cb4fa063c2289f850664f69d8f5d43806a462f6d2fa3b05eb2ef4f9d80d3c4ad SHA512 ab1e20e5bf90e89fe77cc5b764483913fd5add047ea02a8e8f12466733b1753820551ffd9332a89e1004a97ca40ef534b37464dd67f4f501480c4be9e0e730f2 WHIRLPOOL 2d6f3131b5ae5f9df712337e8cd7331cc33038be97be6cfb13eb5c526771044bb8c6c07462f183e97816a2da7759911dd221c518c53438fc9a915d49b4b20c9c
+EBUILD gcc-6.3.0.ebuild 536 SHA256 5af5aa7557154763ce558bfbc14e282d87a850583f82ad2ca5d482e51c3e279b SHA512 a01f1d52b881a6e87124a3de3cd062562ba4a561f54d3ec3f68d0732958f9c7d12df38bbe18b98bd4c77e005410f2065146dae83d2ff76018c381935f9b932f1 WHIRLPOOL 5c7cc0f33710a4ccdecd00213c40d10ecde1423fc03c8740aa0ca0f06ae83431ba81ee8e1da3e8f61dc3df3b892db9a7e02e5853d19670d2bf1a273ab9649c58
+EBUILD gcc-6.4.0.ebuild 536 SHA256 a986108b392d395ad7221265268b90429ac83a5372a299649889653583bda2e7 SHA512 65bfc8ec638ea5aeb02ea965e6d56ac86c14c09bdb32262ee7662564a13ddef52eb69a879f95ac53497b6164dd48885aefe8bfd77a793456b766016de985d6b6 WHIRLPOOL 7d06f130d074abee9a87c785f583812ae73db8a707ff0f82b2d3876e9e0f44c4fd2f7d80818b265eaecf9a464a4f8ca66a0555cfbdac800c1e1eccecdd64cd23
+EBUILD gcc-7.1.0-r1.ebuild 431 SHA256 2d02cb39924f325eacb9a7e3eed1f83f8d605720ea184f38dec214fffb045d1b SHA512 d7081aeafa29f5dd89cfeab4f596bc639c4e383d9c2e4d5a4e5ebcee7849fc0d3b3aa5f32d48f445d876efcea4f0751eca780d22482958c8670fff6a38e172fc WHIRLPOOL 3ffbb4975beb5f9a9251ebf7063211c399e194de474b5ea0cf38cfa2c173b612f69cfebf597165afb7a620133b16b275223ba5a9af6b531790d24448b04b851c
+EBUILD gcc-7.2.0.ebuild 453 SHA256 e738480b135ab3c4552370f47524dea701e39bbe4979fd001e2c8ef5c4e5c294 SHA512 9103d3b9ccb0366247bf1bfae187ae1170c5df2513c1008cfcdfd30880f0e71f0c4ed53f843ef630332378e22a66126042ae58d4d3a71c3aaa731a8aad446520 WHIRLPOOL 537c89fb244d6b12da043ec5ad57f45d95474d16c6bdee47a2dadd44b37f79f3d4c34dae6276f85d1d0349f5cc1f5159372cc3c157cf680301cfb8613d27f406
+MISC ChangeLog 12968 SHA256 a5bfaa87cea2ee1db7c9d2063bafd106abd89290d47c32cacebac76ce42aeead SHA512 67579e419cc3740201dea77ef46dd2dfc9c7109b9c44a220f36093a18f03f338d91496fd02a55715c66ca9dbc24b3125d866f2dc97226ca611356cb25b22c8be WHIRLPOOL 9b58f80d70b5971697f2d7dde838d25d8e24f4920abc55b3b1765adc42937b13059e52fb5233eedf19d47b4ab66671c0adae7b81f4e3dd0e3292ca87d4e4f14a
+MISC ChangeLog-2006 112483 SHA256 108a7803efc91b08dd27ca4a83468637222a0685760f63bce724cb486fbc4022 SHA512 2887a66d03f4e1a9c60c743d7aa22147bdd95900b9e759c760a63f1a60c90008585b10b4f46ecc26e0149427bbdb8b83a9de4546d75e9ad935dd8e5377bf8870 WHIRLPOOL a2e1df0a7cead4373b5aeda333d952407049e1945f0a4e7774e1249e9f08ee33faafe0e74adec28b641bf037b8d6a350f45760a25c15e769b23eadb84b7ea48e
+MISC ChangeLog-2015 73367 SHA256 77c0651f80b2d52ca970b933945e41414e84feb5db7559abac0eb9b69278e408 SHA512 c0de93d6277b780731761642beb78c89117ec59874277c2869419c6f9f99ca8c411a22d414d8c0a6e34ced845c359192bb6a57788ac777021985e9e1732d9cf6 WHIRLPOOL c9a060d46c14f2791d5369b20a53fa5a3f318670e0d56b0f8e4e16a971bc6ac15f56bcbf3970f2fc2f56eab52788e595bdd0658e6bdc0ad9d1b6376456f35cbe
+MISC metadata.xml 2520 SHA256 d7a51018dfc5a0f58f7d1c27dd6d17e9d3986f2bd3cc806df76426c6c9c449e7 SHA512 ffb6644c39848805fdc8571747be210a3057a6189e9007c6a0371d5448fc37d45615d4293fff0ddcf599c6369146b5a54bbbb091d250548a486456ed89806128 WHIRLPOOL 58d9ecaec6d4a8dd91aeb84ba7ef8623b5d58f76293d56c6858f64d04799bcefff6ef3d15d9c3d94b861572a873122260ebfe2a33a4c9b546ebbb0d9189f104a
diff --git a/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch
new file mode 100644
index 000000000000..507d42f00e90
--- /dev/null
+++ b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch
@@ -0,0 +1,22 @@
+--- configure.in.old 2004-06-26 07:01:06.000000000 +0200
++++ configure.in 2004-06-26 07:02:55.000000000 +0200
+@@ -52,8 +52,7 @@
+ host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
+
+ # libgcj represents the runtime libraries only used by gcj.
+-libgcj="target-libffi \
+- target-boehm-gc \
++libgcj="target-boehm-gc \
+ target-zlib \
+ target-qthreads \
+ target-libjava"
+@@ -66,7 +65,8 @@
+ target-newlib \
+ ${libstdcxx_version} \
+ target-libf2c \
+- ${libgcj}
++ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libs, and are intended to run only
diff --git a/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch b/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
new file mode 100644
index 000000000000..b5195e4e9112
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
@@ -0,0 +1,40 @@
+diff -ur gcc-3.4.3/libffi/Makefile.in gcc-3.4.3-ffi-fixes/libffi/Makefile.in
+--- gcc-3.4.3/libffi/Makefile.in 2003-11-22 08:41:32.000000000 -0500
++++ gcc-3.4.3-ffi-fixes/libffi/Makefile.in 2004-11-28 17:31:50.000000000 -0500
+@@ -89,7 +89,7 @@
+ libffi_basedir = @libffi_basedir@
+ tool_include_dir = @tool_include_dir@
+ toolexecdir = @toolexecdir@
+-toolexeclibdir = @toolexeclibdir@
++toolexeclibdir = @toolexeclibdir@/@gcc_version@
+
+ AUTOMAKE_OPTIONS = cygnus
+
+diff -ur gcc-3.4.3/libffi/configure gcc-3.4.3-ffi-fixes/libffi/configure
+--- gcc-3.4.3/libffi/configure 2004-05-18 05:08:39.000000000 -0400
++++ gcc-3.4.3-ffi-fixes/libffi/configure 2004-11-28 17:48:19.000000000 -0500
+@@ -3800,8 +3800,8 @@
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+ else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
++ toolexecdir='$(libdir)/gcc/$(target_alias)'
++ toolexeclibdir='$(libdir)/gcc/$(target_alias)/$(gcc-version)'
+ fi
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+diff -ur gcc-3.4.3/libffi/configure.in gcc-3.4.3-ffi-fixes/libffi/configure.in
+--- gcc-3.4.3/libffi/configure.in 2004-04-27 01:10:19.000000000 -0400
++++ gcc-3.4.3-ffi-fixes/libffi/configure.in 2004-11-28 17:40:30.000000000 -0500
+@@ -225,8 +225,8 @@
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ toolexeclibdir='$(toolexecdir)/lib'
+ else
+- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+- toolexeclibdir='$(libdir)'
++ toolexecdir='$(libdir)/gcc/$(target_alias)'
++ toolexeclibdir='$(libdir)/gcc/$(target_alias)/$(gcc_version)'
+ fi
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
diff --git a/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
new file mode 100644
index 000000000000..b270a06ad80d
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
@@ -0,0 +1,40 @@
+--- configure.in.orig 2004-08-03 00:53:36.000000000 +0200
++++ configure.in 2004-08-03 00:52:35.000000000 +0200
+@@ -136,8 +136,7 @@
+ host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
+
+ # libgcj represents the runtime libraries only used by gcj.
+-libgcj="target-libffi \
+- target-boehm-gc \
++libgcj="target-boehm-gc \
+ target-zlib \
+ target-qthreads \
+ target-libjava"
+@@ -150,6 +150,7 @@
+ target-libstdc++-v3 \
+ target-libf2c \
+ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libraries, and are intended to
+--- configure~ 2004-08-28 02:31:04.000000000 +0200
++++ configure 2004-08-28 10:55:28.000000000 +0200
+@@ -876,8 +876,7 @@
+ host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
+
+ # libgcj represents the runtime libraries only used by gcj.
+-libgcj="target-libffi \
+- target-boehm-gc \
++libgcj="target-boehm-gc \
+ target-zlib \
+ target-qthreads \
+ target-libjava"
+@@ -891,6 +890,7 @@
+ target-libstdc++-v3 \
+ target-libf2c \
+ ${libgcj} \
++ target-libffi \
+ target-libobjc"
+
+ # these tools are built using the target libraries, and are intended to
diff --git a/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch b/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
new file mode 100644
index 000000000000..03895434d9ba
--- /dev/null
+++ b/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
@@ -0,0 +1,63 @@
+Some notes on the 'bootstrap with or without libc headers' debate:
+http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
+http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
+
+--- gcc/config/sh/linux.h
++++ gcc/config/sh/linux.h
+@@ -145,6 +145,7 @@
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ #include <signal.h>
+ #include <sys/ucontext.h>
+@@ -295,6 +296,7 @@
+
+ #endif /* defined (__SH5__) */
+ #endif /* IN_LIBGCC2 */
++#endif /* inhibit_libc */
+
+ /* For SH3 and SH4, we use a slot of the unwind frame which correspond
+ to a fake register number 16 as a placeholder for the return address
+--- gcc/config/i386/linux.h
++++ gcc/config/i386/linux.h
+@@ -208,6 +208,7 @@
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ /* There's no sys/ucontext.h for some (all?) libc1, so no
+ signal-turned-exceptions for them. There's also no configure-run for
+@@ -272,3 +273,4 @@
+ } while (0)
+ #endif /* not USE_GNULIBC_1 */
+ #endif /* IN_LIBGCC2 */
++#endif /* inhibit_libc */
+--- gcc/config/alpha/linux.h
++++ gcc/config/alpha/linux.h
+@@ -73,6 +73,7 @@
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #ifdef IN_LIBGCC2
+ #include <signal.h>
+ #include <sys/ucontext.h>
+@@ -122,3 +123,4 @@
+ (FS)->retaddr_column = 64; \
+ goto SUCCESS; \
+ } while (0)
++#endif /* inhibit_libc */
+--- gcc/config.gcc
++++ gcc/config.gcc
+@@ -321,7 +321,7 @@
+ need_64bit_hwint=yes
+ ;;
+ # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
+-sh[123456789l]*-*-*)
++sh[123456789lbe]*-*-*)
+ cpu_type=sh
+ need_64bit_hwint=yes
+ ;;
diff --git a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
new file mode 100644
index 000000000000..523caa48a3c8
--- /dev/null
+++ b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
@@ -0,0 +1,40 @@
+Some notes on the 'bootstrap with or without libc headers' debate:
+http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
+http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
+
+--- gcc/unwind-dw2.c
++++ gcc/unwind-dw2.c
+@@ -253,9 +253,11 @@
+ }
+ #endif
+
++#ifndef inhibit_libc
+ #ifdef MD_UNWIND_SUPPORT
+ #include MD_UNWIND_SUPPORT
+ #endif
++#endif
+
+ /* Extract any interesting information from the CIE for the translation
+ unit F belongs to. Return a pointer to the byte after the augmentation,
+--- gcc/configure
++++ gcc/configure
+@@ -12857,7 +12857,7 @@ then
+ | powerpc*-*-*,powerpc64*-*-*)
+ CROSS="$CROSS -DNATIVE_CROSS" ;;
+ esac
+-elif test "x$TARGET_SYSTEM_ROOT" != x; then
++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
+ SYSTEM_HEADER_DIR=$build_system_header_dir
+ fi
+
+--- gcc/configure.ac
++++ gcc/configure.ac
+@@ -1717,7 +1717,7 @@ then
+ | powerpc*-*-*,powerpc64*-*-*)
+ CROSS="$CROSS -DNATIVE_CROSS" ;;
+ esac
+-elif test "x$TARGET_SYSTEM_ROOT" != x; then
++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
+ SYSTEM_HEADER_DIR=$build_system_header_dir
+ fi
+
diff --git a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
new file mode 100644
index 000000000000..6090d66d132d
--- /dev/null
+++ b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
@@ -0,0 +1,64 @@
+workaround for lame stack packing on i386 ...
+
+ - build gcc with -Os (crtfastmath.o to be specific)
+ - crtfastmath.o is installed into gcc libdir
+ - run gcc with -ffast-math and get crtfastmath.o linked in
+ - resulting compiled app segfaults due to init code in
+ crtfastmath.o that has mis-aligned structure on stack
+
+http://bugs.gentoo.org/147020
+http://gcc.gnu.org/PR28621
+
+this is supposed to be fixed in current 4.1 branch, but i'm unable to get
+the fix to work so until i can figure out what i'm doing wrong, we'll use
+this workaround for now.
+
+--- gcc-4.1.1/gcc/config/i386/crtfastmath.c
++++ gcc-4.1.1/gcc/config/i386/crtfastmath.c
+@@ -37,6 +37,23 @@
+ #define FXSAVE (1 << 24)
+ #define SSE (1 << 25)
+
++struct
++{
++ unsigned short int cwd;
++ unsigned short int swd;
++ unsigned short int twd;
++ unsigned short int fop;
++ long int fip;
++ long int fcs;
++ long int foo;
++ long int fos;
++ long int mxcsr;
++ long int mxcsr_mask;
++ long int st_space[32];
++ long int xmm_space[32];
++ long int padding[56];
++} __attribute__ ((aligned (16))) fxsave;
++
+ static void __attribute__((constructor))
+ set_fast_math (void)
+ {
+@@ -75,22 +92,6 @@
+ if (edx & FXSAVE)
+ {
+ /* Check if DAZ is available. */
+- struct
+- {
+- unsigned short int cwd;
+- unsigned short int swd;
+- unsigned short int twd;
+- unsigned short int fop;
+- long int fip;
+- long int fcs;
+- long int foo;
+- long int fos;
+- long int mxcsr;
+- long int mxcsr_mask;
+- long int st_space[32];
+- long int xmm_space[32];
+- long int padding[56];
+- } __attribute__ ((aligned (16))) fxsave;
+
+ __builtin_memset (&fxsave, 0, sizeof (fxsave));
+
diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk b/sys-devel/gcc/files/awk/fixlafiles.awk
new file mode 100644
index 000000000000..aa2ecb60266e
--- /dev/null
+++ b/sys-devel/gcc/files/awk/fixlafiles.awk
@@ -0,0 +1,313 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+#
+# Helper functions
+#
+function printn(string) {
+ printf("%s", string)
+}
+function einfo(string) {
+ printf(" \033[32;01m*\033[0m %s\n", string)
+}
+function einfon(string) {
+ printf(" \033[32;01m*\033[0m %s", string)
+}
+function ewarn(string) {
+ printf(" \033[33;01m*\033[0m %s\n", string)
+}
+function ewarnn(string) {
+ printf(" \033[33;01m*\033[0m %s", string)
+}
+function eerror(string) {
+ printf(" \033[31;01m*\033[0m %s\n", string)
+}
+
+#
+# assert(condition, errmsg)
+# assert that a condition is true. Otherwise exit.
+#
+function assert(condition, string) {
+ if (! condition) {
+ printf("%s:%d: assertion failed: %s\n",
+ FILENAME, FNR, string) > "/dev/stderr"
+ _assert_exit = 1
+ exit 1
+ }
+}
+
+#
+# system(command, return)
+# wrapper that normalizes return codes ...
+#
+function dosystem(command, ret) {
+ ret = 0
+ ret = system(command)
+ if (ret == 0)
+ return 1
+ else
+ return 0
+}
+
+BEGIN {
+ #
+ # Get our variables from environment
+ #
+ OLDVER = ENVIRON["OLDVER"]
+ OLDCHOST = ENVIRON["OLDCHOST"]
+
+ if (OLDVER == "") {
+ eerror("Could not get OLDVER!");
+ exit 1
+ }
+
+ # Setup some sane defaults
+ LIBCOUNT = 2
+ HAVE_GCC34 = 0
+ DIRLIST[1] = "/lib"
+ DIRLIST[2] = "/usr/lib"
+
+ #
+ # Walk /etc/ld.so.conf to discover all our library paths
+ #
+ pipe = "cat /etc/ld.so.conf | sort 2>/dev/null"
+ while(((pipe) | getline ldsoconf_data) > 0) {
+ if (ldsoconf_data !~ /^[[:space:]]*#/) {
+ if (ldsoconf_data == "") continue
+
+ # Remove any trailing comments
+ sub(/#.*$/, "", ldsoconf_data)
+ # Remove any trailing spaces
+ sub(/[[:space:]]+$/, "", ldsoconf_data)
+
+ # If there's more than one path per line, split
+ # it up as if they were sep lines
+ split(ldsoconf_data, nodes, /[:,[:space:]]/)
+
+ # Now add the rest from ld.so.conf
+ for (x in nodes) {
+ # wtf does this line do ?
+ sub(/=.*/, "", nodes[x])
+ # Prune trailing /
+ sub(/\/$/, "", nodes[x])
+
+ if (nodes[x] == "") continue
+
+ #
+ # Drop the directory if its a child directory of
+ # one that was already added ...
+ # For example, if we have:
+ # /usr/lib /usr/libexec /usr/lib/mozilla /usr/lib/nss
+ # We really just want to save /usr/lib /usr/libexec
+ #
+ CHILD = 0
+ for (y in DIRLIST) {
+ if (nodes[x] ~ "^" DIRLIST[y] "(/|$)") {
+ CHILD = 1
+ break
+ }
+ }
+ if (CHILD) continue
+
+ DIRLIST[++LIBCOUNT] = nodes[x]
+ }
+ }
+ }
+ close(pipe)
+
+ #
+ # Get line from gcc's output containing CHOST
+ #
+ pipe = "gcc -print-file-name=libgcc.a 2>/dev/null"
+ if ((!((pipe) | getline TMP_CHOST)) || (TMP_CHOST == "")) {
+ close(pipe)
+
+ # If we fail to get the CHOST, see if we can get the CHOST
+ # portage thinks we are using ...
+ pipe = "/usr/bin/portageq envvar 'CHOST'"
+ assert(((pipe) | getline CHOST), "(" pipe ") | getline CHOST")
+ } else {
+ # Check pre gcc-3.4.x versions
+ CHOST = gensub("^.+lib/gcc-lib/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST)
+
+ if (CHOST == TMP_CHOST || CHOST == "") {
+ # Check gcc-3.4.x or later
+ CHOST = gensub("^.+lib/gcc/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST);
+
+ if (CHOST == TMP_CHOST || CHOST == "")
+ CHOST = ""
+ else
+ HAVE_GCC34 = 1
+ }
+ }
+ close(pipe)
+
+ if (CHOST == "") {
+ eerror("Could not get gcc's CHOST!")
+ exit 1
+ }
+
+ if (OLDCHOST != "")
+ if (OLDCHOST == CHOST)
+ OLDCHOST = ""
+
+ GCCLIBPREFIX_OLD = "/usr/lib/gcc-lib/"
+ GCCLIBPREFIX_NEW = "/usr/lib/gcc/"
+
+ if (HAVE_GCC34)
+ GCCLIBPREFIX = GCCLIBPREFIX_NEW
+ else
+ GCCLIBPREFIX = GCCLIBPREFIX_OLD
+
+ GCCLIB = GCCLIBPREFIX CHOST
+
+ if (OLDCHOST != "") {
+ OLDGCCLIB1 = GCCLIBPREFIX_OLD OLDCHOST
+ OLDGCCLIB2 = GCCLIBPREFIX_NEW OLDCHOST
+ }
+
+ # Get current gcc's version
+ pipe = "gcc -dumpversion"
+ assert(((pipe) | getline NEWVER), "(" pipe ") | getline NEWVER)")
+ close(pipe)
+
+ if (NEWVER == "") {
+ eerror("Could not get gcc's version!")
+ exit 1
+ }
+
+ # Nothing to do ?
+ if ((OLDVER == NEWVER) && (OLDCHOST == ""))
+ exit 0
+
+ #
+ # Ok, now let's scan for the .la files and actually fix them up
+ #
+ for (x = 1; x <= LIBCOUNT; x++) {
+ # Do nothing if the target dir is gcc's internal library path
+ if (DIRLIST[x] ~ GCCLIBPREFIX_OLD ||
+ DIRLIST[x] ~ GCCLIBPREFIX_NEW)
+ continue
+
+ einfo(" [" x "/" LIBCOUNT "] Scanning " DIRLIST[x] " ...")
+
+ pipe = "find " DIRLIST[x] "/ -name '*.la' 2>/dev/null"
+ while (((pipe) | getline la_files) > 0) {
+
+ # Do nothing if the .la file is located in gcc's internal lib path
+ if (la_files ~ GCCLIBPREFIX_OLD ||
+ la_files ~ GCCLIBPREFIX_NEW)
+ continue
+
+ CHANGED = 0
+ CHOST_CHANGED = 0
+
+ # See if we need to fix the .la file
+ while ((getline la_data < (la_files)) > 0) {
+ if (OLDCHOST != "") {
+ if ((gsub(OLDGCCLIB1 "[/[:space:]]+",
+ GCCLIB, la_data) > 0) ||
+ (gsub(OLDGCCLIB2 "[/[:space:]]+",
+ GCCLIB, la_data) > 0)) {
+ CHANGED = 1
+ CHOST_CHANGED = 1
+ }
+ }
+ if (OLDVER != NEWVER) {
+ if ((gsub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "[/[:space:]]*",
+ GCCLIB "/" NEWVER, la_data) > 0) ||
+ (gsub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "[/[:space:]]*",
+ GCCLIB "/" NEWVER, la_data) > 0))
+ CHANGED = 1
+ }
+ }
+ close(la_files)
+
+ # Do the actual changes in a second loop, as we can then
+ # verify that CHOST_CHANGED among things is correct ...
+ if (CHANGED) {
+ ewarnn(" FIXING: " la_files " ...")
+
+ if (CHANGED)
+ printn("[")
+
+ # Clear the temp file (removing rather than '>foo' is better
+ # out of a security point of view?)
+ dosystem("rm -f " la_files ".new")
+
+ while ((getline la_data < (la_files)) > 0) {
+ if (OLDCHOST != "") {
+ tmpstr = gensub(OLDGCCLIB1 "([/[:space:]]+)",
+ GCCLIB "\\1", "g", la_data)
+ tmpstr = gensub(OLDGCCLIB2 "([/[:space:]]+)",
+ GCCLIB "\\1", "g", tmpstr)
+
+ if (la_data != tmpstr) {
+ printn("c")
+ la_data = tmpstr
+ }
+
+ if (CHOST_CHANGED > 0) {
+ # We try to be careful about CHOST changes outside
+ # the gcc library path (meaning we cannot match it
+ # via /GCCLIBPREFIX CHOST/) ...
+
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/CHOST/{bin,lib}'
+ #
+ gsub("-L/usr/" OLDCHOST "/",
+ "-L/usr/" CHOST "/", la_data)
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/lib/gcc-lib/CHOST/VER/../../../../CHOST/lib'
+ #
+ la_data = gensub("(" GCCLIB "/[^[:space:]]+)/" OLDCHOST "/",
+ "\\1/" CHOST "/", "g", la_data)
+ }
+ }
+
+ if (OLDVER != NEWVER) {
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/lib/gcc/CHOST/VER'
+ #
+ tmpstr = gensub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "([/[:space:]]+)",
+ GCCLIB "/" NEWVER "\\1", "g", la_data)
+ tmpstr = gensub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "([/[:space:]]+)",
+ GCCLIB "/" NEWVER "\\1", "g", tmpstr)
+
+ if (la_data != tmpstr) {
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/lib/gcc-lib/../../CHOST/lib'
+ #
+ # in cases where we have gcc34
+ tmpstr = gensub(GCCLIBPREFIX_OLD "(../../" CHOST "/lib)",
+ GCCLIBPREFIX "\\1", "g", tmpstr)
+ tmpstr = gensub(GCCLIBPREFIX_NEW "(../../" CHOST "/lib)",
+ GCCLIBPREFIX "\\1", "g", tmpstr)
+ printn("v")
+ la_data = tmpstr
+ }
+ }
+
+ print la_data >> (la_files ".new")
+ }
+
+ if (CHANGED)
+ print "]"
+
+ close(la_files)
+ close(la_files ".new")
+
+ assert(dosystem("mv -f " la_files ".new " la_files),
+ "dosystem(\"mv -f " la_files ".new " la_files "\")")
+ }
+ }
+
+ close(pipe)
+ }
+}
+
+# vim:ts=4
diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la b/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
new file mode 100644
index 000000000000..d95a3c06e780
--- /dev/null
+++ b/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
@@ -0,0 +1,334 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+#
+# Helper functions
+#
+function printn(string) {
+ printf("%s", string)
+}
+function einfo(string) {
+ printf(" \033[32;01m*\033[0m %s\n", string)
+}
+function einfon(string) {
+ printf(" \033[32;01m*\033[0m %s", string)
+}
+function ewarn(string) {
+ printf(" \033[33;01m*\033[0m %s\n", string)
+}
+function ewarnn(string) {
+ printf(" \033[33;01m*\033[0m %s", string)
+}
+function eerror(string) {
+ printf(" \033[31;01m*\033[0m %s\n", string)
+}
+
+#
+# assert(condition, errmsg)
+# assert that a condition is true. Otherwise exit.
+#
+function assert(condition, string) {
+ if (! condition) {
+ printf("%s:%d: assertion failed: %s\n",
+ FILENAME, FNR, string) > "/dev/stderr"
+ _assert_exit = 1
+ exit 1
+ }
+}
+
+#
+# system(command, return)
+# wrapper that normalizes return codes ...
+#
+function dosystem(command, ret) {
+ ret = 0
+ ret = system(command)
+ if (ret == 0)
+ return 1
+ else
+ return 0
+}
+
+#
+# parse_ld_conf(config_file)
+#
+function parse_ld_conf(conf, pipe, ldsoconf_data, CHILD, y) {
+ pipe = "cd /etc; cat " conf " | sort 2>/dev/null"
+ while(((pipe) | getline ldsoconf_data) > 0) {
+ if (ldsoconf_data ~ /^[[:space:]]*#/)
+ continue
+ if (ldsoconf_data == "")
+ continue
+
+ # Handle the "include" keyword
+ if (ldsoconf_data ~ /^include /) {
+ sub(/^include /, "", ldsoconf_data)
+ parse_ld_conf(ldsoconf_data)
+ continue
+ }
+
+ # Remove any trailing comments
+ sub(/#.*$/, "", ldsoconf_data)
+ # Remove any trailing spaces
+ sub(/[[:space:]]+$/, "", ldsoconf_data)
+ # Eat duplicate slashes
+ sub(/\/\//, "/", ldsoconf_data)
+ # Prune trailing /
+ sub(/\/$/, "", ldsoconf_data)
+
+ #
+ # Drop the directory if its a child directory of
+ # one that was already added ...
+ # For example, if we have:
+ # /usr/lib /usr/libexec /usr/lib/mozilla /usr/lib/nss
+ # We really just want to save /usr/lib /usr/libexec
+ #
+ CHILD = 0
+ for (y in DIRLIST) {
+ if (ldsoconf_data ~ "^" DIRLIST[y] "(/|$)") {
+ CHILD = 1
+ break
+ }
+ }
+ if (CHILD) continue
+
+ DIRLIST[++LIBCOUNT] = ldsoconf_data
+ }
+ close(pipe)
+}
+
+BEGIN {
+ #
+ # Get our variables from environment
+ #
+ OLDVER = ENVIRON["OLDVER"]
+ OLDCHOST = ENVIRON["OLDCHOST"]
+
+ if (OLDVER == "") {
+ eerror("Could not get OLDVER!");
+ exit 1
+ }
+
+ # Setup some sane defaults
+ LIBCOUNT = 2
+ HAVE_GCC34 = 0
+ DIRLIST[1] = "/lib"
+ DIRLIST[2] = "/usr/lib"
+
+ #
+ # Walk /etc/ld.so.conf to discover all our library paths
+ #
+ parse_ld_conf("/etc/ld.so.conf")
+
+ #
+ # Get line from gcc's output containing CHOST
+ #
+ pipe = "gcc -print-file-name=libgcc.a 2>/dev/null"
+ if ((!((pipe) | getline TMP_CHOST)) || (TMP_CHOST == "")) {
+ close(pipe)
+
+ # If we fail to get the CHOST, see if we can get the CHOST
+ # portage thinks we are using ...
+ pipe = "/usr/bin/portageq envvar 'CHOST'"
+ assert(((pipe) | getline CHOST), "(" pipe ") | getline CHOST")
+ } else {
+ # Check pre gcc-3.4.x versions
+ CHOST = gensub("^.+lib/gcc-lib/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST)
+
+ if (CHOST == TMP_CHOST || CHOST == "") {
+ # Check gcc-3.4.x or later
+ CHOST = gensub("^.+lib/gcc/([^/]+)/[0-9]+.+$", "\\1", 1, TMP_CHOST);
+
+ if (CHOST == TMP_CHOST || CHOST == "")
+ CHOST = ""
+ else
+ HAVE_GCC34 = 1
+ }
+ }
+ close(pipe)
+
+ if (CHOST == "") {
+ eerror("Could not get gcc's CHOST!")
+ exit 1
+ }
+
+ if (OLDCHOST != "")
+ if (OLDCHOST == CHOST)
+ OLDCHOST = ""
+
+ GCCLIBPREFIX_OLD = "/usr/lib/gcc-lib/"
+ GCCLIBPREFIX_NEW = "/usr/lib/gcc/"
+
+ if (HAVE_GCC34)
+ GCCLIBPREFIX = GCCLIBPREFIX_NEW
+ else
+ GCCLIBPREFIX = GCCLIBPREFIX_OLD
+
+ GCCLIB = GCCLIBPREFIX CHOST
+
+ if (OLDCHOST != "") {
+ OLDGCCLIB1 = GCCLIBPREFIX_OLD OLDCHOST
+ OLDGCCLIB2 = GCCLIBPREFIX_NEW OLDCHOST
+ }
+
+ # Get current gcc's version
+ pipe = "gcc -dumpversion"
+ assert(((pipe) | getline NEWVER), "(" pipe ") | getline NEWVER)")
+ close(pipe)
+
+ if (NEWVER == "") {
+ eerror("Could not get gcc's version!")
+ exit 1
+ }
+
+ # Nothing to do ?
+ # NB: Do not check for (OLDVER == NEWVER) anymore, as we might need to
+ # replace libstdc++.la ....
+ if ((OLDVER == "") && (OLDCHOST == ""))
+ exit 0
+
+ #
+ # Ok, now let's scan for the .la files and actually fix them up
+ #
+ for (x = 1; x <= LIBCOUNT; x++) {
+ # Do nothing if the target dir is gcc's internal library path
+ if (DIRLIST[x] ~ GCCLIBPREFIX_OLD ||
+ DIRLIST[x] ~ GCCLIBPREFIX_NEW)
+ continue
+
+ einfo(" [" x "/" LIBCOUNT "] Scanning " DIRLIST[x] " ...")
+
+ pipe = "find " DIRLIST[x] "/ -name '*.la' 2>/dev/null"
+ while (((pipe) | getline la_files) > 0) {
+
+ # Do nothing if the .la file is located in gcc's internal lib path
+ if (la_files ~ GCCLIBPREFIX_OLD ||
+ la_files ~ GCCLIBPREFIX_NEW)
+ continue
+
+ CHANGED = 0
+ CHOST_CHANGED = 0
+
+ # See if we need to fix the .la file
+ while ((getline la_data < (la_files)) > 0) {
+ if (OLDCHOST != "") {
+ if ((gsub(OLDGCCLIB1 "[/[:space:]]+",
+ GCCLIB, la_data) > 0) ||
+ (gsub(OLDGCCLIB2 "[/[:space:]]+",
+ GCCLIB, la_data) > 0)) {
+ CHANGED = 1
+ CHOST_CHANGED = 1
+ }
+ }
+ if (OLDVER != NEWVER) {
+ if ((gsub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "[/[:space:]]*",
+ GCCLIB "/" NEWVER, la_data) > 0) ||
+ (gsub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "[/[:space:]]*",
+ GCCLIB "/" NEWVER, la_data) > 0))
+ CHANGED = 1
+ }
+ # We now check if we have libstdc++.la, as we remove the
+ # libtool linker scripts for gcc ...
+ # We do this last, as we only match the new paths
+ if (gsub(GCCLIB "/" NEWVER "/libstdc\\+\\+\\.la",
+ "-lstdc++", la_data) > 0)
+ CHANGED = 1
+ }
+ close(la_files)
+
+ # Do the actual changes in a second loop, as we can then
+ # verify that CHOST_CHANGED among things is correct ...
+ if (CHANGED) {
+ ewarnn(" FIXING: " la_files " ...[")
+
+ # Clear the temp file (removing rather than '>foo' is better
+ # out of a security point of view?)
+ dosystem("rm -f " la_files ".new")
+
+ while ((getline la_data < (la_files)) > 0) {
+ if (OLDCHOST != "") {
+ tmpstr = gensub(OLDGCCLIB1 "([/[:space:]]+)",
+ GCCLIB "\\1", "g", la_data)
+ tmpstr = gensub(OLDGCCLIB2 "([/[:space:]]+)",
+ GCCLIB "\\1", "g", tmpstr)
+
+ if (la_data != tmpstr) {
+ printn("c")
+ la_data = tmpstr
+ }
+
+ if (CHOST_CHANGED > 0) {
+ # We try to be careful about CHOST changes outside
+ # the gcc library path (meaning we cannot match it
+ # via /GCCLIBPREFIX CHOST/) ...
+
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/CHOST/{bin,lib}'
+ #
+ gsub("-L/usr/" OLDCHOST "/",
+ "-L/usr/" CHOST "/", la_data)
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/lib/gcc-lib/CHOST/VER/../../../../CHOST/lib'
+ #
+ la_data = gensub("(" GCCLIB "/[^[:space:]]+)/" OLDCHOST "/",
+ "\\1/" CHOST "/", "g", la_data)
+ }
+ }
+
+ if (OLDVER != NEWVER) {
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/lib/gcc/CHOST/VER'
+ #
+ tmpstr = gensub(GCCLIBPREFIX_OLD CHOST "/" OLDVER "([/[:space:]]+)",
+ GCCLIB "/" NEWVER "\\1", "g", la_data)
+ tmpstr = gensub(GCCLIBPREFIX_NEW CHOST "/" OLDVER "([/[:space:]]+)",
+ GCCLIB "/" NEWVER "\\1", "g", tmpstr)
+
+ if (la_data != tmpstr) {
+ # Catch:
+ #
+ # dependency_libs=' -L/usr/lib/gcc-lib/../../CHOST/lib'
+ #
+ # in cases where we have gcc34
+ tmpstr = gensub(GCCLIBPREFIX_OLD "(../../" CHOST "/lib)",
+ GCCLIBPREFIX "\\1", "g", tmpstr)
+ tmpstr = gensub(GCCLIBPREFIX_NEW "(../../" CHOST "/lib)",
+ GCCLIBPREFIX "\\1", "g", tmpstr)
+ printn("v")
+ la_data = tmpstr
+ }
+ }
+
+ # We now check if we have libstdc++.la, as we remove the
+ # libtool linker scripts for gcc and any referencese in any
+ # libtool linker scripts.
+ # We do this last, as we only match the new paths
+ tmpstr = gensub(GCCLIB "/" NEWVER "/libstdc\\+\\+\\.la",
+ "-lstdc++", "g", la_data);
+ if (la_data != tmpstr) {
+ printn("l")
+ la_data = tmpstr
+ }
+
+ print la_data >> (la_files ".new")
+ }
+
+ if (CHANGED)
+ print "]"
+
+ close(la_files)
+ close(la_files ".new")
+
+ assert(dosystem("mv -f " la_files ".new " la_files),
+ "dosystem(\"mv -f " la_files ".new " la_files "\")")
+ }
+ }
+
+ close(pipe)
+ }
+}
+
+# vim:ts=4
diff --git a/sys-devel/gcc/files/c89 b/sys-devel/gcc/files/c89
new file mode 100644
index 000000000000..cee0325f50f1
--- /dev/null
+++ b/sys-devel/gcc/files/c89
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+# Call the appropriate C compiler with options to accept ANSI/ISO C
+# The following options are the same (as of gcc-2.95):
+# -ansi
+# -std=c89
+# -std=iso9899:1990
+
+for i; do
+ case "$i" in
+ -ansi|-std=c89|-std=iso9899:1990)
+ ;;
+ -std=*)
+ echo >&2 "`basename $0` called with non ANSI/ISO C90 option $i"
+ exit 1
+ ;;
+ esac
+done
+
+exec gcc -std=c89 -pedantic -U_FORTIFY_SOURCE "$@"
diff --git a/sys-devel/gcc/files/c99 b/sys-devel/gcc/files/c99
new file mode 100644
index 000000000000..c9542095e385
--- /dev/null
+++ b/sys-devel/gcc/files/c99
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+# Call the appropriate C compiler with options to accept ANSI/ISO C
+# The following options are the same (as of gcc-3.3):
+# -std=c99
+# -std=c9x
+# -std=iso9899:1999
+# -std=iso9899:199x
+
+for i; do
+ case "$i" in
+ -std=c9[9x]|-std=iso9899:199[9x])
+ ;;
+ -ansi|-std=*)
+ echo >&2 "`basename $0` called with non ANSI/ISO C99 option $i"
+ exit 1
+ ;;
+ esac
+done
+
+exec gcc -std=c99 -pedantic -U_FORTIFY_SOURCE ${1+"$@"}
diff --git a/sys-devel/gcc/files/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh
new file mode 100644
index 000000000000..53c46de0fdc9
--- /dev/null
+++ b/sys-devel/gcc/files/fix_libtool_files.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+usage() {
+cat << "USAGE_END"
+Usage: fix_libtool_files.sh <old-gcc-version> [--oldarch <old-CHOST>]
+
+ Where <old-gcc-version> is the version number of the
+ previous gcc version. For example, if you updated to
+ gcc-3.2.1, and you had gcc-3.2 installed, run:
+
+ # fix_libtool_files.sh 3.2
+
+ If you updated to gcc-3.2.3, and the old CHOST was i586-pc-linux-gnu
+ but you now have CHOST as i686-pc-linux-gnu, run:
+
+ # fix_libtool_files.sh 3.2 --oldarch i586-pc-linux-gnu
+
+ Note that if only the CHOST and not the version changed, you can run
+ it with the current version and the '--oldarch <old-CHOST>' arguments,
+ and it will do the expected:
+
+ # fix_libtool_files.sh `gcc -dumpversion` --oldarch i586-pc-linux-gnu
+
+USAGE_END
+ exit 1
+}
+
+case $2 in
+--oldarch) [ $# -ne 3 ] && usage ;;
+*) [ $# -ne 1 ] && usage ;;
+esac
+
+ARGV1=$1
+ARGV2=$2
+ARGV3=$3
+
+. /etc/profile || exit 1
+
+if [ ${EUID:-0} -ne 0 -a "${EPREFIX}" == '' ] ; then
+ echo "${0##*/}: Must be root."
+ exit 1
+fi
+
+# make sure the files come out sane
+umask 0022
+
+OLDCHOST=
+[ "${ARGV2}" = "--oldarch" ] && OLDCHOST=${ARGV3}
+
+AWKDIR="/usr/share/gcc-data"
+
+if [ ! -r "${AWKDIR}/fixlafiles.awk" ] ; then
+ echo "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
+ exit 1
+fi
+
+OLDVER=${ARGV1}
+
+export OLDVER OLDCHOST
+
+echo "Scanning libtool files for hardcoded gcc library paths..."
+exec gawk -f "${AWKDIR}/fixlafiles.awk"
+
+# vim:ts=4
diff --git a/sys-devel/gcc/files/gcc-configure-LANG.patch b/sys-devel/gcc/files/gcc-configure-LANG.patch
new file mode 100644
index 000000000000..d1b1b0353662
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-configure-LANG.patch
@@ -0,0 +1,64 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/103483
+
+--- configure
++++ configure
+@@ -54,6 +54,19 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ unset $as_var
++ fi
++done
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
+@@ -1850,6 +1850,19 @@
+ # Compiler output produced by configure, useful for debugging
+ # configure, is in ./config.log if it exists.
+
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval \$as_var=C; export \$as_var) 2>&1`"); then
++ eval \$as_var=C; export \$as_var
++ else
++ unset \$as_var
++ fi
++done
++
+ ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+ for ac_option
+ do
diff --git a/sys-devel/gcc/files/gcc-configure-texinfo.patch b/sys-devel/gcc/files/gcc-configure-texinfo.patch
new file mode 100644
index 000000000000..ddc098ddbd58
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-configure-texinfo.patch
@@ -0,0 +1,16 @@
+Chances are quite good that the installed makeinfo is sufficient.
+So ignore false positives where the makeinfo installed is so new
+that it violates the cheesy version grep.
+
+http://bugs.gentoo.org/198182
+
+--- configure
++++ configure
+@@ -3573,6 +3573,6 @@
+ :
+ else
+- MAKEINFO="$MISSING makeinfo"
++ :
+ fi
+ ;;
+
diff --git a/sys-devel/gcc/files/gcc-spec-env-r1.patch b/sys-devel/gcc/files/gcc-spec-env-r1.patch
new file mode 100644
index 000000000000..a58926836e4e
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-spec-env-r1.patch
@@ -0,0 +1,87 @@
+2013-08-22 Magnus Granberg <zorry@gentoo.org>
+
+ * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var
+ and move the process of the user specifed specs.
+
+ This allows us to easily control pie/ssp defaults with gcc-config profiles.
+ Original patch by Rob Holland
+ Extended to support multiple entries separated by ':' by Kevin F. Quinn
+ Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
+ Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg
+
+--- gcc-4.8-20130210/gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100
++++ gcc-4.8-20130210-work/gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200
+@@ -6427,6 +6428,48 @@ main (int argc, char **argv)
+ do_option_spec (option_default_specs[i].name,
+ option_default_specs[i].spec);
+
++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
++ /* Add specs listed in GCC_SPECS. Note; in the process of separating
++ * each spec listed, the string is overwritten at token boundaries
++ * (':') with '\0', an effect of strtok_r().
++ */
++ specs_file = getenv ("GCC_SPECS");
++ if (specs_file && (strlen(specs_file) > 0))
++ {
++ char *spec, *saveptr;
++ for (spec=strtok_r(specs_file,":",&saveptr);
++ spec!=NULL;
++ spec=strtok_r(NULL,":",&saveptr))
++ {
++ struct user_specs *user = (struct user_specs *)
++ xmalloc (sizeof (struct user_specs));
++ user->next = (struct user_specs *) 0;
++ user->filename = spec;
++ if (user_specs_tail)
++ user_specs_tail->next = user;
++ else
++ user_specs_head = user;
++ user_specs_tail = user;
++ }
++ }
++#endif
++ /* Process any user specified specs in the order given on the command
++ * line. */
++ for (uptr = user_specs_head; uptr; uptr = uptr->next)
++ {
++ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
++ R_OK, true);
++ read_specs (filename ? filename : uptr->filename, false, true);
++ }
++ /* Process any user self specs. */
++ {
++ struct spec_list *sl;
++ for (sl = specs; sl; sl = sl->next)
++ if (sl->name_len == sizeof "self_spec" - 1
++ && !strcmp (sl->name, "self_spec"))
++ do_self_spec (*sl->ptr_spec);
++ }
++
+ /* Process DRIVER_SELF_SPECS, adding any new options to the end
+ of the command line. */
+
+@@ -6535,24 +6578,6 @@ main (int argc, char **argv)
+ PREFIX_PRIORITY_LAST, 0, 1);
+ }
+
+- /* Process any user specified specs in the order given on the command
+- line. */
+- for (uptr = user_specs_head; uptr; uptr = uptr->next)
+- {
+- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
+- R_OK, true);
+- read_specs (filename ? filename : uptr->filename, false, true);
+- }
+-
+- /* Process any user self specs. */
+- {
+- struct spec_list *sl;
+- for (sl = specs; sl; sl = sl->next)
+- if (sl->name_len == sizeof "self_spec" - 1
+- && !strcmp (sl->name, "self_spec"))
+- do_self_spec (*sl->ptr_spec);
+- }
+-
+ if (compare_debug)
+ {
+ enum save_temps save;
diff --git a/sys-devel/gcc/files/gcc-spec-env.patch b/sys-devel/gcc/files/gcc-spec-env.patch
new file mode 100644
index 000000000000..57e7567e5460
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-spec-env.patch
@@ -0,0 +1,42 @@
+ Add support for external spec file via the GCC_SPECS env var. This
+ allows us to easily control pie/ssp defaults with gcc-config profiles.
+
+ Original patch by Rob Holland
+ Extended to support multiple entries separated by ':' by Kevin F. Quinn
+ Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
+
+--- gcc-4/gcc/gcc.c
++++ gcc-4/gcc/gcc.c
+@@ -6482,6 +6482,32 @@
+
+ /* Process any user specified specs in the order given on the command
+ line. */
++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
++ /* Add specs listed in GCC_SPECS. Note; in the process of separating
++ * each spec listed, the string is overwritten at token boundaries
++ * (':') with '\0', an effect of strtok_r().
++ */
++ specs_file = getenv ("GCC_SPECS");
++ if (specs_file && (strlen(specs_file) > 0))
++ {
++ char *spec, *saveptr;
++ for (spec=strtok_r(specs_file,":",&saveptr);
++ spec!=NULL;
++ spec=strtok_r(NULL,":",&saveptr))
++ {
++ struct user_specs *user = (struct user_specs *)
++ xmalloc (sizeof (struct user_specs));
++
++ user->next = (struct user_specs *) 0;
++ user->filename = spec;
++ if (user_specs_tail)
++ user_specs_tail->next = user;
++ else
++ user_specs_head = user;
++ user_specs_tail = user;
++ }
++ }
++#endif
+ for (uptr = user_specs_head; uptr; uptr = uptr->next)
+ {
+ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
diff --git a/sys-devel/gcc/gcc-2.95.3-r10.ebuild b/sys-devel/gcc/gcc-2.95.3-r10.ebuild
new file mode 100644
index 000000000000..08958abea5c6
--- /dev/null
+++ b/sys-devel/gcc/gcc-2.95.3-r10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.4"
+
+inherit eutils flag-o-matic toolchain
+
+KEYWORDS="~alpha ~ppc ~sparc ~x86"
+
+gcc2-flags() {
+ # Are we trying to compile with gcc3 ? CFLAGS and CXXFLAGS needs to be
+ # valid for gcc-2.95.3 ...
+ if [[ $(tc-arch) == "x86" || $(tc-arch) == "amd64" ]] ; then
+ CFLAGS=${CFLAGS//-mtune=/-mcpu=}
+ CXXFLAGS=${CXXFLAGS//-mtune=/-mcpu=}
+ fi
+
+ replace-cpu-flags k6-{2,3} k6
+ replace-cpu-flags athlon{,-{tbird,4,xp,mp}} i686
+
+ replace-cpu-flags pentium-mmx i586
+ replace-cpu-flags pentium{2,3,4} i686
+
+ replace-cpu-flags ev6{7,8} ev6
+}
+
+src_prepare() {
+ rm -rf texinfo
+ strip-linguas -u */po
+ gcc2-flags
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-3.3.6-r1.ebuild b/sys-devel/gcc/gcc-3.3.6-r1.ebuild
new file mode 100644
index 000000000000..f158db5d98ce
--- /dev/null
+++ b/sys-devel/gcc/gcc-3.3.6-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.9"
+UCLIBC_VER="1.0"
+HTB_VER="1.00-r2"
+
+inherit eutils toolchain
+
+# ia64 - broken static handling; USE=static emerge busybox
+KEYWORDS="~amd64 ~x86"
+
+# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper
+# .eh_frame ld optimisation and symbol visibility support, but it hasnt been
+# well tested in gentoo on any arch other than amd64!!
+RDEPEND=">=sys-devel/binutils-2.14.90.0.6-r1"
+DEPEND="${RDEPEND}
+ amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )"
+
+src_prepare() {
+ toolchain_src_prepare
+
+ if [[ -n ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] ; then
+ mv "${S}"/gcc-3.3.2/libstdc++-v3/config/os/uclibc "${S}"/libstdc++-v3/config/os/ || die
+ mv "${S}"/gcc-3.3.2/libstdc++-v3/config/locale/uclibc "${S}"/libstdc++-v3/config/locale/ || die
+ fi
+
+ # Anything useful and objc will require libffi. Seriously. Lets just force
+ # libffi to install with USE="objc", even though it normally only installs
+ # if you attempt to build gcj.
+ if use objc && ! use gcj ; then
+ epatch "${FILESDIR}"/3.3.4/libffi-without-libgcj.patch
+ #epatch "${FILESDIR}"/3.4.3/libffi-nogcj-lib-path-fix.patch
+ fi
+}
diff --git a/sys-devel/gcc/gcc-3.4.6-r2.ebuild b/sys-devel/gcc/gcc-3.4.6-r2.ebuild
new file mode 100644
index 000000000000..ef118a8b013c
--- /dev/null
+++ b/sys-devel/gcc/gcc-3.4.6-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.8"
+UCLIBC_VER="1.1"
+UCLIBC_GCC_VER="3.4.5"
+HTB_VER="1.00.1"
+HTB_GCC_VER="3.4.4"
+D_VER="0.24"
+
+inherit eutils toolchain
+
+KEYWORDS="-* alpha amd64 arm ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+
+# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs
+# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper
+# .eh_frame ld optimisation and symbol visibility support, but it hasnt been
+# well tested in gentoo on any arch other than amd64!!
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=sys-devel/binutils-2.14.90.0.8-r1
+ amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )"
+
+src_prepare() {
+ toolchain_src_prepare
+
+ # Anything useful and objc will require libffi. Seriously. Lets just force
+ # libffi to install with USE="objc", even though it normally only installs
+ # if you attempt to build gcj.
+ if use objc && ! use gcj ; then
+ epatch "${FILESDIR}"/3.4.3/libffi-without-libgcj.patch
+ #epatch "${FILESDIR}"/3.4.3/libffi-nogcj-lib-path-fix.patch
+ fi
+
+ # Fix cross-compiling
+ epatch "${FILESDIR}"/3.4.4/gcc-3.4.4-cross-compile.patch
+
+ # Arch stuff
+ case $(tc-arch) in
+ amd64)
+ if is_multilib ; then
+ sed -i -e '/GLIBCXX_IS_NATIVE=/s:false:true:' libstdc++-v3/configure || die
+ fi
+ ;;
+ esac
+}
diff --git a/sys-devel/gcc/gcc-4.0.4.ebuild b/sys-devel/gcc/gcc-4.0.4.ebuild
new file mode 100644
index 000000000000..f8cacf7863a0
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.0.4.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=${CATEGORY}/binutils-2.15.94"
diff --git a/sys-devel/gcc/gcc-4.1.2.ebuild b/sys-devel/gcc/gcc-4.1.2.ebuild
new file mode 100644
index 000000000000..2477f3ecf961
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.1.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.6"
+UCLIBC_VER="1.0"
+D_VER="0.24"
+
+inherit eutils toolchain
+
+KEYWORDS="-* alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ ppc? ( >=${CATEGORY}/binutils-2.17 )
+ ppc64? ( >=${CATEGORY}/binutils-2.17 )
+ >=${CATEGORY}/binutils-2.15.94"
+
+src_prepare() {
+ toolchain_src_prepare
+
+ use vanilla && return 0
+
+ # Fix cross-compiling
+ epatch "${FILESDIR}"/4.1.0/gcc-4.1.0-cross-compile.patch
+
+ epatch "${FILESDIR}"/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
+}
diff --git a/sys-devel/gcc/gcc-4.2.4-r1.ebuild b/sys-devel/gcc/gcc-4.2.4-r1.ebuild
new file mode 100644
index 000000000000..1065be0dc077
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.2.4-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.4"
+UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~m68k ~ppc ~ppc64 ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ ppc? ( >=${CATEGORY}/binutils-2.17 )
+ ppc64? ( >=${CATEGORY}/binutils-2.17 )
+ >=${CATEGORY}/binutils-2.15.94"
diff --git a/sys-devel/gcc/gcc-4.3.6-r1.ebuild b/sys-devel/gcc/gcc-4.3.6-r1.ebuild
new file mode 100644
index 000000000000..d483c32ec950
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.3.6-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.2"
+UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS="alpha amd64 arm -hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ ppc? ( >=${CATEGORY}/binutils-2.17 )
+ ppc64? ( >=${CATEGORY}/binutils-2.17 )
+ >=${CATEGORY}/binutils-2.15.94"
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+
+ use vanilla && return 0
+
+ sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
+}
diff --git a/sys-devel/gcc/gcc-4.4.7.ebuild b/sys-devel/gcc/gcc-4.4.7.ebuild
new file mode 100644
index 000000000000..694e5426d2cc
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.4.7.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+inherit eutils toolchain
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ ppc? ( >=${CATEGORY}/binutils-2.17 )
+ ppc64? ( >=${CATEGORY}/binutils-2.17 )
+ >=${CATEGORY}/binutils-2.15.94"
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+ use vanilla && return 0
+
+ sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
+}
diff --git a/sys-devel/gcc/gcc-4.5.4.ebuild b/sys-devel/gcc/gcc-4.5.4.ebuild
new file mode 100644
index 000000000000..f013c619a99d
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.5.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+inherit eutils toolchain
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ ppc? ( >=${CATEGORY}/binutils-2.17 )
+ ppc64? ( >=${CATEGORY}/binutils-2.17 )
+ >=${CATEGORY}/binutils-2.15.94"
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+
+ use vanilla && return 0
+
+ sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200
+}
diff --git a/sys-devel/gcc/gcc-4.6.4.ebuild b/sys-devel/gcc/gcc-4.6.4.ebuild
new file mode 100644
index 000000000000..a3b35cd898a4
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.6.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+inherit eutils toolchain
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.18"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-4.7.4.ebuild b/sys-devel/gcc/gcc-4.7.4.ebuild
new file mode 100644
index 000000000000..ac333b40c4a6
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.7.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+PATCH_VER="1.4"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.5.5"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64"
+SSP_STABLE="amd64 x86 ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 ppc ppc64 arm"
+#end Hardened stuff
+
+inherit eutils toolchain
+
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -amd64-fbsd -x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.18"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
+}
diff --git a/sys-devel/gcc/gcc-4.8.5.ebuild b/sys-devel/gcc/gcc-4.8.5.ebuild
new file mode 100644
index 000000000000..3c74310bfc57
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.8.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.2"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit eutils toolchain
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+ #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
diff --git a/sys-devel/gcc/gcc-4.9.4-r1.ebuild b/sys-devel/gcc/gcc-4.9.4-r1.ebuild
new file mode 100644
index 000000000000..74b2fcf50106
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.9.4-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.1"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.4"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit eutils toolchain
+
+# KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+ #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
diff --git a/sys-devel/gcc/gcc-4.9.4.ebuild b/sys-devel/gcc/gcc-4.9.4.ebuild
new file mode 100644
index 000000000000..55295ab2500e
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.9.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.0"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.4"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit eutils toolchain
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+ #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
diff --git a/sys-devel/gcc/gcc-5.4.0-r3.ebuild b/sys-devel/gcc/gcc-5.4.0-r3.ebuild
new file mode 100644
index 000000000000..3c46a24c73af
--- /dev/null
+++ b/sys-devel/gcc/gcc-5.4.0-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+PATCH_VER="1.4"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.5"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit toolchain
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+ is_crosscompile && EPATCH_EXCLUDE+=" 05_all_gcc-spec-env.patch"
+
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-5.4.0.ebuild b/sys-devel/gcc/gcc-5.4.0.ebuild
new file mode 100644
index 000000000000..a462cc69cb51
--- /dev/null
+++ b/sys-devel/gcc/gcc-5.4.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+PATCH_VER="1.0"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.5"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+inherit toolchain
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_prepare() {
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+ is_crosscompile && EPATCH_EXCLUDE+=" 05_all_gcc-spec-env.patch"
+
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-6.3.0.ebuild b/sys-devel/gcc/gcc-6.3.0.ebuild
new file mode 100644
index 000000000000..d56c4f5fb120
--- /dev/null
+++ b/sys-devel/gcc/gcc-6.3.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+PATCH_VER="1.0"
+#UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.13 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-6.4.0.ebuild b/sys-devel/gcc/gcc-6.4.0.ebuild
new file mode 100644
index 000000000000..d57181534e88
--- /dev/null
+++ b/sys-devel/gcc/gcc-6.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.0"
+#UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.13 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-7.1.0-r1.ebuild b/sys-devel/gcc/gcc-7.1.0-r1.ebuild
new file mode 100644
index 000000000000..41b4c34bfbbe
--- /dev/null
+++ b/sys-devel/gcc/gcc-7.1.0-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.1"
+#UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.13 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/gcc-7.2.0.ebuild b/sys-devel/gcc/gcc-7.2.0.ebuild
new file mode 100644
index 000000000000..a0f65c4fe504
--- /dev/null
+++ b/sys-devel/gcc/gcc-7.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.1"
+PATCH_GCC_VER="7.1.0"
+#UCLIBC_VER="1.0"
+
+inherit toolchain
+
+KEYWORDS=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.13 )
+ >=${CATEGORY}/binutils-2.20"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
+fi
+
+src_prepare() {
+ toolchain_src_prepare
+}
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
new file mode 100644
index 000000000000..52748bc1ff68
--- /dev/null
+++ b/sys-devel/gcc/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+ </maintainer>
+ <use>
+ <flag name="awt">Useful only when building GCJ, this enables Abstract Window Toolkit
+ (AWT) peer support on top of GTK+</flag>
+ <flag name="cilk">Support the Cilk Plus language (C/C++ based languages for parallel programming)</flag>
+ <flag name="d">Enable support for the D programming language</flag>
+ <flag name="fixed-point">Enable fixed-point arithmetic support for MIPS targets
+ in gcc (Warning: significantly increases compile time!)</flag>
+ <flag name="go">Build the GCC Go language frontend.</flag>
+ <flag name="graphite">Add support for the framework for loop
+ optimizations based on a polyhedral intermediate representation</flag>
+ <flag name="jit">Enable libgccjit so other applications can embed gcc for Just-In-Time compilation.
+ This will slow down the compiler a bit as it forces all of the toolchain to be shared libs.</flag>
+ <flag name="libssp">Build SSP support into a dedicated library rather than use the
+ code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES)</flag>
+ <flag name="mpx">Enable support for Intel Memory Protection Extensions (MPX)</flag>
+ <flag name="mudflap">Add support for mudflap, a pointer use checking library</flag>
+ <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag>
+ <flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag>
+ <flag name="objc">Build support for the Objective C code language</flag>
+ <flag name="objc++">Build support for the Objective C++ language</flag>
+ <flag name="objc-gc">Build support for the Objective C code language Garbage
+ Collector</flag>
+ <flag name="pgo">Build GCC using Profile Guided Optimization (PGO)</flag>
+ <flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag>
+ <flag name="sanitize">Build support for various sanitizer functions (ASAN/TSAN/etc...)</flag>
+ <flag name="ssp">Build packages with stack smashing protector on by default</flag>
+ <flag name="vtv">Build support for virtual table verification (a C++ hardening feature)</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnu:gcc</remote-id>
+ <remote-id type="sourceforge">dgcc</remote-id>
+ </upstream>
+</pkgmetadata>