public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] dev/blueness:loongson commit in: sys-devel/gcc/, sys-devel/gcc/files/awk/, sys-devel/gcc/files/
@ 2012-06-26 18:53 Anthony G. Basile
  0 siblings, 0 replies; 2+ messages in thread
From: Anthony G. Basile @ 2012-06-26 18:53 UTC (permalink / raw
  To: gentoo-commits

commit:     ff9c8f1e44108a8caf1ad621915b3dd11eaebd58
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 26 18:53:09 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jun 26 18:53:09 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=dev/blueness.git;a=commit;h=ff9c8f1e

sys-devel/gcc: mark mips stable for PIE and SSP

---
 sys-devel/gcc/Manifest                           |   25 ++
 sys-devel/gcc/files/awk/fixlafiles.awk           |  314 ++++++++++++++++++++
 sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la |  335 ++++++++++++++++++++++
 sys-devel/gcc/files/c89                          |   20 ++
 sys-devel/gcc/files/c99                          |   21 ++
 sys-devel/gcc/files/fix_libtool_files.sh         |   68 +++++
 sys-devel/gcc/files/gcc-configure-texinfo.patch  |   16 +
 sys-devel/gcc/files/gcc-spec-env.patch           |   42 +++
 sys-devel/gcc/gcc-4.6.3-r99.ebuild               |   62 ++++
 sys-devel/gcc/metadata.xml                       |   25 ++
 10 files changed, 928 insertions(+), 0 deletions(-)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
new file mode 100644
index 0000000..e0680ba
--- /dev/null
+++ b/sys-devel/gcc/Manifest
@@ -0,0 +1,25 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+AUX awk/fixlafiles.awk 7807 RMD160 749402c9c0a0f1e8755067c0e001f69d73edb09f SHA1 5fc91ce11eb93e989ae64470dba602fe534ac409 SHA256 3cae4890a295adef50c6cf8a7e14d1be4e7a2356479c073e5c29433c3cdf9c5c
+AUX awk/fixlafiles.awk-no_gcc_la 8596 RMD160 d34279d732586514b220ec0d583c5e634b5d97ef SHA1 95f07ff4d6c3196e682371f02e6d2207d921a1b5 SHA256 91e36c29133b6ff854bc84acd6cd2e9d07be6eaa73ef9b23e4f7bc6371107fab
+AUX c89 412 RMD160 2b54e526a76ff0b2e0e8f4f7f9d6949ac45806fa SHA1 6f6ed5affc4ae906c5d8cbdda557d5bbf683d861 SHA256 29ad5dd697135c2892067e780447894dc1cd071708157e46d21773ab99c5022c
+AUX c99 446 RMD160 04ecc9ef9b7a1fd525768955ff6a67fc0d5a17f7 SHA1 312b3b47490d9f62656706908112f9331bc509a4 SHA256 057b348cf5be9b4fb9db99a4549f6433c89d21e5f91dc5e46b0b4dc6b70432f5
+AUX fix_libtool_files.sh 1679 RMD160 fbe1ce256574f9da86f03544417e6c4204101873 SHA1 4431d0675aa9613666b1ea0a7ed8efc38035ab0b SHA256 0037e3f1303560f1ffadc61c7ed6bca13a41d6f2f70f196276938cda9dd158f0
+AUX gcc-configure-texinfo.patch 337 RMD160 d0e872a9f0ccb5ab51d10f129acd7a19d76a7b75 SHA1 7e267fac540175ce848e563539db8c951cab557b SHA256 74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98
+AUX gcc-spec-env.patch 1544 RMD160 1f7747546513a6d8e16bd82c2824969b9a739dfb SHA1 bdc2736377813da4046ceea77922620dd69d8658 SHA256 64b01f29fb853fee5ecda998b66eeaa7ec86ff1fc3b21432bfd69eb543c93e6a
+DIST ecj-4.5.jar 1470676 RMD160 d3f4da657f086b6423f74e93f001132f4855368a SHA1 58c1d79c64c8cd718550f32a932ccfde8d1e6449 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
+DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 RMD160 0a013f95029a170eeea3cb6ccbfd65f64b66f465 SHA1 61bd3c13400772ec4d5d4fcee297e3d86adbd065 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2
+DIST gcc-4.6.3-patches-1.3.tar.bz2 83071 RMD160 4e8c94ce83421ed1138439f946321763803b3157 SHA1 b05f96f1741828fb13ca23f0bd057223de1908ab SHA256 0acc8494932259dbadc118587626bb2505fc565e1a862bb792116e08961c141a
+DIST gcc-4.6.3-piepatches-v0.5.4.tar.bz2 15710 RMD160 aa0c006f7f5f063a1f6be8f2812f56866d8c5295 SHA1 7b5fb01895dc1daac370b3e2fe234956e84a3fa8 SHA256 7390e85730cb38b03b89901b75c52ea9aa1cf1de6c192177045b75ab3853194d
+DIST gcc-4.6.3-uclibc-patches-1.0.tar.bz2 3023 RMD160 6487e89d892687c51f4d764979c90133ae4c0a07 SHA1 26581caab046ba4a03041557db641f2899d518af SHA256 4219a3582c5f98bf8437bfc3feb8c264f8aabd8078caaddef46dd38be33f089f
+DIST gcc-4.6.3.tar.bz2 71999439 RMD160 9abb2f940d08fc84f2d91b6a6ce8d662ca889269 SHA1 ce317ca5c8185b58bc9300182b534608c578637f SHA256 e8f5853d4eec2f5ebaf8a72ae4d53c436aacf98153b2499f8635b48c4718a093
+EBUILD gcc-4.6.3-r99.ebuild 1882 RMD160 2ec915d046a57f62fa62658c731c73f68eb8bd5f SHA1 26e9ea8292d045aa9fc390d6b9107dad9eef47c5 SHA256 c4067edc36d28272908a411706642567736ee8905c1baf793042fc4ad263ca7b
+MISC metadata.xml 1446 RMD160 4d081af8871753802ef38170948a8c40bd5397aa SHA1 e68b6d2f1eec5b3230df253c62e286d06c656415 SHA256 3943d24d769c3632a5f1b13e00e323337ddc3115b16e49bc1b0751532f8455a8
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.19 (GNU/Linux)
+
+iEYEAREIAAYFAk/p2t0ACgkQl5yvQNBFVTWd+wCgi/hWmnkpGFX6pn2aKfOjuNpo
+rTsAnRfefKcAfOjlqahf6O4FyhaUApQd
+=50By
+-----END PGP SIGNATURE-----

diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk b/sys-devel/gcc/files/awk/fixlafiles.awk
new file mode 100644
index 0000000..ffade96
--- /dev/null
+++ b/sys-devel/gcc/files/awk/fixlafiles.awk
@@ -0,0 +1,314 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk,v 1.15 2008/02/19 05:47:29 vapier Exp $
+
+#
+# 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 0000000..346bd16
--- /dev/null
+++ b/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
@@ -0,0 +1,335 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la,v 1.4 2010/03/19 23:53:07 vapier Exp $
+
+#
+# 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 100755
index 0000000..cee0325
--- /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 100755
index 0000000..c954209
--- /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 0000000..c55250b
--- /dev/null
+++ b/sys-devel/gcc/files/fix_libtool_files.sh
@@ -0,0 +1,68 @@
+#!/bin/sh
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/fix_libtool_files.sh,v 1.16 2012/05/18 21:28:56 vapier Exp $
+
+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
+. /etc/init.d/functions.sh || exit 1
+
+if [ ${EUID:-0} -ne 0 ] ; then
+	eerror "${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
+	eerror "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
+	exit 1
+fi
+
+OLDVER=${ARGV1}
+
+export OLDVER OLDCHOST
+
+einfo "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-texinfo.patch b/sys-devel/gcc/files/gcc-configure-texinfo.patch
new file mode 100644
index 0000000..ddc098d
--- /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.patch b/sys-devel/gcc/files/gcc-spec-env.patch
new file mode 100644
index 0000000..57e7567
--- /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-4.6.3-r99.ebuild b/sys-devel/gcc/gcc-4.6.3-r99.ebuild
new file mode 100644
index 0000000..ced7dfa
--- /dev/null
+++ b/sys-devel/gcc/gcc-4.6.3-r99.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.6.3.ebuild,v 1.8 2012/06/04 22:48:18 zorry Exp $
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.5.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="mips x86 amd64 ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64"
+SSP_STABLE="mips amd64 x86 ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.32
+SSP_UCLIBC_STABLE="x86 amd64 ppc ppc64 arm"
+#end Hardened stuff
+
+inherit toolchain
+
+DESCRIPTION="The GNU Compiler Collection"
+
+LICENSE="GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2"
+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 )
+	amd64? ( multilib? ( gcj? ( app-emulation/emul-linux-x86-xlibs ) ) )
+	>=${CATEGORY}/binutils-2.18"
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+	PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+fi
+
+src_unpack() {
+	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
+
+	# drop the x32 stuff once 4.7 goes stable
+	EPATCH_EXCLUDE+=" 80_all_gcc-4.6-x32.patch"
+
+	toolchain_src_unpack
+
+	use vanilla && return 0
+
+	[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
+}
+
+pkg_setup() {
+	toolchain_pkg_setup
+
+	ewarn
+	ewarn "LTO support is still experimental and unstable."
+	ewarn "Any bugs resulting from the use of LTO will not be fixed."
+	ewarn
+}

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
new file mode 100644
index 0000000..733d99b
--- /dev/null
+++ b/sys-devel/gcc/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <herd>toolchain</herd>
+  <use>
+    <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="gtk">Useful only when building GCJ, this enables Abstract Window Toolkit
+      (AWT) peer support on top of GTK+</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="mudflap">Add support for mudflap, a pointer use checking library</flag>
+    <flag name="multislot">Allow for SLOTs to include minor version (3.3.4
+    instead of just 3.3)</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>
+  </use>
+</pkgmetadata>



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] dev/blueness:loongson commit in: sys-devel/gcc/, sys-devel/gcc/files/awk/, sys-devel/gcc/files/
@ 2012-06-28 16:21 Anthony G. Basile
  0 siblings, 0 replies; 2+ messages in thread
From: Anthony G. Basile @ 2012-06-28 16:21 UTC (permalink / raw
  To: gentoo-commits

commit:     c063527b4eb0fcc4987bc21a10d6e057ea30fe06
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 28 16:21:19 2012 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu Jun 28 16:21:19 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=dev/blueness.git;a=commit;h=c063527b

sys-devel/gcc: tree now has PIC and SSP for mips glibc

(Portage version: 2.1.10.65/git/Linux x86_64, unsigned Manifest commit)

---
 sys-devel/gcc/Manifest                           |   25 --
 sys-devel/gcc/files/awk/fixlafiles.awk           |  314 --------------------
 sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la |  335 ----------------------
 sys-devel/gcc/files/c89                          |   20 --
 sys-devel/gcc/files/c99                          |   21 --
 sys-devel/gcc/files/fix_libtool_files.sh         |   68 -----
 sys-devel/gcc/files/gcc-configure-texinfo.patch  |   16 -
 sys-devel/gcc/files/gcc-spec-env.patch           |   42 ---
 sys-devel/gcc/gcc-4.6.3-r99.ebuild               |   62 ----
 sys-devel/gcc/metadata.xml                       |   25 --
 10 files changed, 0 insertions(+), 928 deletions(-)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
deleted file mode 100644
index eeb696a..0000000
--- a/sys-devel/gcc/Manifest
+++ /dev/null
@@ -1,25 +0,0 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-AUX awk/fixlafiles.awk 7807 RMD160 749402c9c0a0f1e8755067c0e001f69d73edb09f SHA1 5fc91ce11eb93e989ae64470dba602fe534ac409 SHA256 3cae4890a295adef50c6cf8a7e14d1be4e7a2356479c073e5c29433c3cdf9c5c
-AUX awk/fixlafiles.awk-no_gcc_la 8596 RMD160 d34279d732586514b220ec0d583c5e634b5d97ef SHA1 95f07ff4d6c3196e682371f02e6d2207d921a1b5 SHA256 91e36c29133b6ff854bc84acd6cd2e9d07be6eaa73ef9b23e4f7bc6371107fab
-AUX c89 412 RMD160 2b54e526a76ff0b2e0e8f4f7f9d6949ac45806fa SHA1 6f6ed5affc4ae906c5d8cbdda557d5bbf683d861 SHA256 29ad5dd697135c2892067e780447894dc1cd071708157e46d21773ab99c5022c
-AUX c99 446 RMD160 04ecc9ef9b7a1fd525768955ff6a67fc0d5a17f7 SHA1 312b3b47490d9f62656706908112f9331bc509a4 SHA256 057b348cf5be9b4fb9db99a4549f6433c89d21e5f91dc5e46b0b4dc6b70432f5
-AUX fix_libtool_files.sh 1679 RMD160 fbe1ce256574f9da86f03544417e6c4204101873 SHA1 4431d0675aa9613666b1ea0a7ed8efc38035ab0b SHA256 0037e3f1303560f1ffadc61c7ed6bca13a41d6f2f70f196276938cda9dd158f0
-AUX gcc-configure-texinfo.patch 337 RMD160 d0e872a9f0ccb5ab51d10f129acd7a19d76a7b75 SHA1 7e267fac540175ce848e563539db8c951cab557b SHA256 74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98
-AUX gcc-spec-env.patch 1544 RMD160 1f7747546513a6d8e16bd82c2824969b9a739dfb SHA1 bdc2736377813da4046ceea77922620dd69d8658 SHA256 64b01f29fb853fee5ecda998b66eeaa7ec86ff1fc3b21432bfd69eb543c93e6a
-DIST ecj-4.5.jar 1470676 RMD160 d3f4da657f086b6423f74e93f001132f4855368a SHA1 58c1d79c64c8cd718550f32a932ccfde8d1e6449 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
-DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 RMD160 0a013f95029a170eeea3cb6ccbfd65f64b66f465 SHA1 61bd3c13400772ec4d5d4fcee297e3d86adbd065 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2
-DIST gcc-4.6.3-patches-1.3.tar.bz2 83071 RMD160 4e8c94ce83421ed1138439f946321763803b3157 SHA1 b05f96f1741828fb13ca23f0bd057223de1908ab SHA256 0acc8494932259dbadc118587626bb2505fc565e1a862bb792116e08961c141a
-DIST gcc-4.6.3-piepatches-v0.5.2.tar.bz2 15002 RMD160 75f25287ded26fd8ae88516b0b72d21fc0f17296 SHA1 8a1848819bc9c3e00513e68abded115410f25f78 SHA256 6606d47a8bbaa9cba0dd3b022cbf6ed14325b8560dd17f7601dbaa4697df3691
-DIST gcc-4.6.3-uclibc-patches-1.0.tar.bz2 3023 RMD160 6487e89d892687c51f4d764979c90133ae4c0a07 SHA1 26581caab046ba4a03041557db641f2899d518af SHA256 4219a3582c5f98bf8437bfc3feb8c264f8aabd8078caaddef46dd38be33f089f
-DIST gcc-4.6.3.tar.bz2 71999439 RMD160 9abb2f940d08fc84f2d91b6a6ce8d662ca889269 SHA1 ce317ca5c8185b58bc9300182b534608c578637f SHA256 e8f5853d4eec2f5ebaf8a72ae4d53c436aacf98153b2499f8635b48c4718a093
-EBUILD gcc-4.6.3-r99.ebuild 1872 RMD160 341e52b7a17f4f5cee7c73aee53d5c6111530318 SHA1 fc6fabdaf5dedb23b577a3777d5c80d5cf3fc8d5 SHA256 43836be9ce4b23cf6d3c27266d7c5ccfa1e72389e1b550daba3421560a52339c
-MISC metadata.xml 1446 RMD160 4d081af8871753802ef38170948a8c40bd5397aa SHA1 e68b6d2f1eec5b3230df253c62e286d06c656415 SHA256 3943d24d769c3632a5f1b13e00e323337ddc3115b16e49bc1b0751532f8455a8
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iEYEAREIAAYFAk/qBoEACgkQl5yvQNBFVTULBgCfUsJl+BbAnO+kXWv3+CEjWOPc
-WKEAniWEyY13M1Ja56h3DJ8oDNyIjoKF
-=buOG
------END PGP SIGNATURE-----

diff --git a/sys-devel/gcc/files/awk/fixlafiles.awk b/sys-devel/gcc/files/awk/fixlafiles.awk
deleted file mode 100644
index ffade96..0000000
--- a/sys-devel/gcc/files/awk/fixlafiles.awk
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk,v 1.15 2008/02/19 05:47:29 vapier Exp $
-
-#
-# 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 346bd16..0000000
--- a/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la,v 1.4 2010/03/19 23:53:07 vapier Exp $
-
-#
-# 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
deleted file mode 100755
index cee0325..0000000
--- a/sys-devel/gcc/files/c89
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /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
deleted file mode 100755
index c954209..0000000
--- a/sys-devel/gcc/files/c99
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /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
deleted file mode 100644
index c55250b..0000000
--- a/sys-devel/gcc/files/fix_libtool_files.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/fix_libtool_files.sh,v 1.16 2012/05/18 21:28:56 vapier Exp $
-
-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
-. /etc/init.d/functions.sh || exit 1
-
-if [ ${EUID:-0} -ne 0 ] ; then
-	eerror "${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
-	eerror "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
-	exit 1
-fi
-
-OLDVER=${ARGV1}
-
-export OLDVER OLDCHOST
-
-einfo "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-texinfo.patch b/sys-devel/gcc/files/gcc-configure-texinfo.patch
deleted file mode 100644
index ddc098d..0000000
--- a/sys-devel/gcc/files/gcc-configure-texinfo.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-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.patch b/sys-devel/gcc/files/gcc-spec-env.patch
deleted file mode 100644
index 57e7567..0000000
--- a/sys-devel/gcc/files/gcc-spec-env.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-    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-4.6.3-r99.ebuild b/sys-devel/gcc/gcc-4.6.3-r99.ebuild
deleted file mode 100644
index ced7dfa..0000000
--- a/sys-devel/gcc/gcc-4.6.3-r99.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.6.3.ebuild,v 1.8 2012/06/04 22:48:18 zorry Exp $
-
-PATCH_VER="1.3"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.5.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="mips x86 amd64 ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64"
-SSP_STABLE="mips amd64 x86 ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.32
-SSP_UCLIBC_STABLE="x86 amd64 ppc ppc64 arm"
-#end Hardened stuff
-
-inherit toolchain
-
-DESCRIPTION="The GNU Compiler Collection"
-
-LICENSE="GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2"
-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 )
-	amd64? ( multilib? ( gcj? ( app-emulation/emul-linux-x86-xlibs ) ) )
-	>=${CATEGORY}/binutils-2.18"
-
-if [[ ${CATEGORY} != cross-* ]] ; then
-	PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-fi
-
-src_unpack() {
-	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
-
-	# drop the x32 stuff once 4.7 goes stable
-	EPATCH_EXCLUDE+=" 80_all_gcc-4.6-x32.patch"
-
-	toolchain_src_unpack
-
-	use vanilla && return 0
-
-	[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch
-}
-
-pkg_setup() {
-	toolchain_pkg_setup
-
-	ewarn
-	ewarn "LTO support is still experimental and unstable."
-	ewarn "Any bugs resulting from the use of LTO will not be fixed."
-	ewarn
-}

diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
deleted file mode 100644
index 733d99b..0000000
--- a/sys-devel/gcc/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-  <herd>toolchain</herd>
-  <use>
-    <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="gtk">Useful only when building GCJ, this enables Abstract Window Toolkit
-      (AWT) peer support on top of GTK+</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="mudflap">Add support for mudflap, a pointer use checking library</flag>
-    <flag name="multislot">Allow for SLOTs to include minor version (3.3.4
-    instead of just 3.3)</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>
-  </use>
-</pkgmetadata>



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-06-28 16:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-28 16:21 [gentoo-commits] dev/blueness:loongson commit in: sys-devel/gcc/, sys-devel/gcc/files/awk/, sys-devel/gcc/files/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2012-06-26 18:53 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox