diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-06-21 17:50:24 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-06-21 17:50:24 +0100 |
commit | feb0daf81d888e9160f9f94502de09b66f2a63fd (patch) | |
tree | b6e5c40ce2abef3da27ed50a023153f475e0ddef /sys-devel/gcc | |
parent | 9452a6e87b6c2c70513bc47a2470bf9f1168920e (diff) |
gentoo resync : 21.06.2020
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r-- | sys-devel/gcc/Manifest | 5 | ||||
-rw-r--r-- | sys-devel/gcc/files/awk/fixlafiles.awk | 313 | ||||
-rw-r--r-- | sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la | 334 | ||||
-rw-r--r-- | sys-devel/gcc/files/fix_libtool_files.sh | 66 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-8.4.0.ebuild | 2 |
5 files changed, 2 insertions, 718 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 2208415493e5..0d8e44905b27 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -4,11 +4,8 @@ AUX 3.4.3/libffi-without-libgcj.patch 1658 BLAKE2B d1f14ae4d15ad7c70884afa88d9e6 AUX 3.4.4/gcc-3.4.4-cross-compile.patch 1912 BLAKE2B d05065e69610e10ced5ad67a2cbdd3c79d84b94f3318bb5b69253102b2e38c08c8d33e15ca3883c2d36b1623d7d362cee1cca0edd6df3539acfc02d7541401cf SHA512 c31cc4c77bb9a5f01a7a7969dad862fc5d7f9916adf67e039a71714e0eca02b13a576bdfbab50c069cc8020ef4dc335ed20bb10214f714a089b8daa02e849d2c AUX 4.1.0/gcc-4.1.0-cross-compile.patch 1134 BLAKE2B 945e234afcbbf2b5d737d7a4b9fb9282070ece739e1e487723baf9aa4e7c0777ec7b43cdd4957c89b9fc42c15eb2aff0564b370dd6b3e1a3849bf32680c69bd1 SHA512 84d0ab9bcfdd18148392a7219ec0ad4a1e63d43bda3f45a13e22f551f2f119822fed700570bd659f9260b09b0958d4c49e339ad4f135740e5b60e46462de7f20 AUX 4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch 1686 BLAKE2B 32053b87fd356274daf10dfc12ed04f6291cf948a3acea0200d05150b31e9244d17971f2faa100753aa5341a4e19a771e76c091e3f0eed4e64a07623aa357c48 SHA512 cb0268c64d8d50ee3c95e9c6ca9242be1cb08382c7b081c129045a4852a7b3ed5c48124b33aa51816d80f5c930929bdc097644e817d77b5e186442248a609f2f -AUX awk/fixlafiles.awk 7693 BLAKE2B 190e7709ca8a515f16065d5c831849452b6c6fad9fb8992a42be2d8d917221033c61dfe29bd4f7b4ad0533a9d661a051dc13d2011557a44e148d93294f847202 SHA512 3b7b06d4f82a67b642e8d74fa32c211ae597bea0e65a4a1992c10a3e7aa93ddf1aa210bfba1b5e34df87f8bea1d628a9a6c900579572433cd6d0fb9a34f6ddf4 -AUX awk/fixlafiles.awk-no_gcc_la 8473 BLAKE2B 58d7c9e98b356cefd08a24a978f88ca7d1dd21c22dcb6591e5ebc79849b1d798e4333b1a1d09c21e56309ae9f47dcb730b30b3e93bb44ab01f843b4b17623978 SHA512 bea5e047e8bf4dd5d6e877e84225b7efd79dedaad0a35713b3b6887b82aac215dde8f07b9bdfc8a75874248faf4cb7c73d01303e22476e6160e7398db1497b94 AUX c89 412 BLAKE2B 04236b6a32e8819c65713821e769d5bf55f194fb6bdaa61c48ad09c7e13e123d3e4725394b3a922445efaa951849f4e87f96e34a55d3e229dbedc50ca1816f44 SHA512 71d33a147339d8d70a62aa22a95d3e70e445d8435d6ac05893f7da19ae851b89bea851f6ce213fbd22470f13572ae13b83cf02f0621333f07d7b0c68a79b7924 AUX c99 446 BLAKE2B 061fcbef85149de611c4692c99c2c5ebeeef045637b999dbea0d1922398e16361cedbd461ed6aaf0c49c6269900a4c346f5026d8c22780044e1cc8afee74be4e SHA512 bf3b0eb1125d5e89b433954fcbf805cd86dec5a6eeb23df685ebf3ff83a610573f2ffcec65d893244c845936a73918387cba026710c65c854b2c94a78b007989 -AUX fix_libtool_files.sh 1546 BLAKE2B afef9b4e3add813374d95226ebe1d76986c00c7e81be20cb5110388ad9322e1a18f42d8c1ad2d355699033bb5f24071e2c1c308eee6390eeb864769f13e93614 SHA512 3c6fb7d8b127875aa9450b0f0835f99ae69a3d88df86fefc3932e9ced9912811f58e21a5d1ba9444422476efb5497452aa8a89a9d3499ad88add493a02b98fd3 AUX gcc-4.9.4-bootstrap.patch 2698 BLAKE2B 2fe9519590f0870aa201d550e027eaec311961c07b62f470d77f1de125fdf81cab6f884f08dfd8b957b7c2880ad04a7400f3fb395f5404d6c467373042e2fb0c SHA512 c712234b87aa66379bc52b43bce31a2dfd8de996030588a26261bb08471cd6e92587bc5aa35bb8f776a5128b1deb524e37aebe1c0b970a98210d653b5094d95b AUX gcc-9.2.0-neg-insn-cost.patch 728 BLAKE2B 31b393a42b5d54de07a43cc6e43dc9d7228905ceaf27f7541cad4baf4d1f475dfbf0b6c00e76e5cddaea382fb77909166843f16d2a76b07b9c42bb0e181b5781 SHA512 057c8fb003df37dd15bbfc7f9e87e07d8a1cdd67885f8efffb80aaa694cc9314bb7317b43e57be55d55b3dc58a29bde138b07738a2a0d6cb8454b270e1c88983 AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129 @@ -58,7 +55,7 @@ EBUILD gcc-7.5.0-r1.ebuild 456 BLAKE2B bad9ccb3415eae7e4f793fcda356b076556c62475 EBUILD gcc-7.5.0.ebuild 447 BLAKE2B e9c72e8743ec650fd79244b81e7855bcd1ff1b4a13d8fe245f92e0ae2fd37c15609aa951429afcd2eecd4ac2d3f45786e5e2d8a72fac439aaf7cd7a525f3c4e9 SHA512 3b0e22f868d6ff1ec47b21196354873da4d01f21350aea79d1a86c218d4245237a9e5462ae3cb5486ba48736edf6fd1550729a0b49fb22cd87d0f4d99c4eb68d EBUILD gcc-8.3.0-r3.ebuild 443 BLAKE2B d5da62636879b66b6e23d2bb000736c17b85d0ee81e3858994fc472edea55810b59f99737d07611ccbe7ff7e6b1af956e315feeffa3ffde227e92490c04b9300 SHA512 4b4b60fcdc829d5c28d8bff8e17d4ccfa0bb09426bf0b741fee6c5df6fc2753e8132c06d09cca8966ed398de4b1e94ba58cd06fb19c944f949a2cde0dfdc4614 EBUILD gcc-8.4.0-r1.ebuild 452 BLAKE2B 0896974e52aeced6004b4bab01fea077803a8e92a0df45f1cd9df3bca0bc19bb1502ab764526749252888b0cc9a67ba2ef09ec07589768ba6d65390502a751fe SHA512 0016848b01a437b8d5e40e115fbab8311b525b41bab46b5c3eb47727abaf4d8b26828293407533792fc9aefd931af9b0dcd56c8853b5e9708081e62789e6ee6b -EBUILD gcc-8.4.0.ebuild 444 BLAKE2B 2e2f512a590006c683ea89c51d82d64f43a3d775ef778941de495ae107ecf20dff336c56c9a32e24750ceb69dbb671dc955dd9f89ea248ed12ca5b7628adccd9 SHA512 182138a5434a5092d7a6d51d6c62294eaf87b10ddf72d817bda480e8ab4c3fcd07ccac6cae7c1f23ce640256f2dcaf5b5883bb50e0363202d7acbbf7c203a9a3 +EBUILD gcc-8.4.0.ebuild 443 BLAKE2B 0b37d1fa2fd83c95142b122a0fcc4bcd01f8278c80397f3aaffb0943af6578952a242de8fe0312b3c4c4d533f5fdebdcc63b67b29b17a6fc67b5b052f71cdf25 SHA512 c03adf50767371fef49b800bd0bd364eecf42e3e90033727bfecbd862757c43f1010f9230730506d09bbc96c747cb015fa7aa6342c5d475a3310a129cf0ec5f3 EBUILD gcc-9.2.0-r2.ebuild 539 BLAKE2B d48f3dd9a33734a1db5546b6223bbb68ddb1f5831c92aa435fe6536af843f3754a688e728055b56999dd836a82e2bbc0f7dd9a4644d66d1c64ab127bba1af3a3 SHA512 a0b565c5a9c54f419c572a760f9b0b310e7008ca0d701a890bee224f7491c265e978215714d12a9565f4924f37c389bfd7fb1512d43e325e715d40ad3ec85f38 EBUILD gcc-9.2.0-r4.ebuild 452 BLAKE2B 5b1ced4bebbe5558068cde5d495e04a978292cdccb118f199642484a6cb4fdde844c31fcd99347271addaafa7c23e6d8dbbd13d1d54a08bbe9fbc470566817d3 SHA512 65ae72ce9e55b2c8a86375ffe8188d9e05fd82a077d8b5abac5b5971f152efb7610fce553af12f1746ec6f6bcf881fafe3db76a5098d99c9e56fdd3cc3091096 EBUILD gcc-9.3.0-r1.ebuild 452 BLAKE2B a08af9f8f55166a07894145a6d53a4c6988b9a419e95386e28f6875d6a81a6a02db25a051506c981e17c68846056a919697cad6f5ee3461b4f3167777974921d SHA512 1991ba970e5e56eda9a8e1391514de8028ed6741b379375d23ae3e13f267203cdd29ac0aee9f8faf8dc6a42c0291095521257886c77bea64159665f0ebb00c1a diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk b/sys-devel/gcc/files/awk/fixlafiles.awk deleted file mode 100644 index aa2ecb60266e..000000000000 --- a/sys-devel/gcc/files/awk/fixlafiles.awk +++ /dev/null @@ -1,313 +0,0 @@ -# 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 deleted file mode 100644 index d95a3c06e780..000000000000 --- a/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la +++ /dev/null @@ -1,334 +0,0 @@ -# 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/fix_libtool_files.sh b/sys-devel/gcc/files/fix_libtool_files.sh deleted file mode 100644 index af085e1efa01..000000000000 --- a/sys-devel/gcc/files/fix_libtool_files.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/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/gcc-8.4.0.ebuild b/sys-devel/gcc/gcc-8.4.0.ebuild index 40522094368f..a34d9f09bd8d 100644 --- a/sys-devel/gcc/gcc-8.4.0.ebuild +++ b/sys-devel/gcc/gcc-8.4.0.ebuild @@ -7,7 +7,7 @@ PATCH_VER="1" inherit toolchain -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" RDEPEND="" DEPEND="${RDEPEND} |