summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2006-01-08 23:54:14 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2006-01-08 23:54:14 +0000
commit140b50cf0a9cd6d0293127a2c090a58d88f5c45b (patch)
tree481e7e6fece703efb8c1cfa2f9c063427e9c0ac0 /sys-devel
parentSlotted mysql versions only (considered ready for testing from now): (diff)
downloadhistorical-140b50cf0a9cd6d0293127a2c090a58d88f5c45b.tar.gz
historical-140b50cf0a9cd6d0293127a2c090a58d88f5c45b.tar.bz2
historical-140b50cf0a9cd6d0293127a2c090a58d88f5c45b.zip
Extend GCC_SPECS to support multiple spec files separated by :
Package-Manager: portage-2.0.53
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/gcc/Manifest8
-rw-r--r--sys-devel/gcc/files/gcc-spec-env.patch42
2 files changed, 30 insertions, 20 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index a95f23d9df86..3e409d47c7c4 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -72,7 +72,7 @@ MD5 deda4097201ccdf66e1f67618a67b6c9 files/digest-gcc-4.0.2-r3 381
MD5 8ea5a2944f38c53b82789aa7eb6bdbef files/digest-gcc-4.1.0_beta20060106 71
MD5 1acd56209164ab837c5f91723434464e files/fix_libtool_files.sh 1712
MD5 e0ebf10eb8bf4542ae57ba591daa68a4 files/gcc-configure-LANG.patch 1686
-MD5 f80fd6ebeeea00d3e1649dfccdd85062 files/gcc-spec-env.patch 893
+MD5 f6eef7e81b209ca3c63c39e319b4a7a5 files/gcc-spec-env.patch 1389
MD5 8baffb486c75efe253bd2daa88daa7d6 files/gcc331_use_multilib.amd64.patch 352
MD5 e3193bdffb435b77a21bfb504ff6f591 files/mkinfodir 7324
MD5 ea2cf3df0d89a26d5fdc1a531176e395 files/pro-police-docs.patch 3287
@@ -104,7 +104,7 @@ MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
-iD8DBQFDvzZz2+ySkm8kpY0RAs6UAKCF1BZzbySifhuGEPN5Yn5S+VLdrACgnyve
-eRKjylVwjyVaMC5qLKfCCrA=
-=0IcH
+iD8DBQFDwafgZfNLSOUrp0sRAg0BAJwID2LO6uRugbrm3ceqCb9bgsa+QACggy6v
+jSKtEWx3/QIZM8cTS6+4BUg=
+=dG4x
-----END PGP SIGNATURE-----
diff --git a/sys-devel/gcc/files/gcc-spec-env.patch b/sys-devel/gcc/files/gcc-spec-env.patch
index 27029c81f08e..c2103206a3a7 100644
--- a/sys-devel/gcc/files/gcc-spec-env.patch
+++ b/sys-devel/gcc/files/gcc-spec-env.patch
@@ -1,28 +1,38 @@
-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.
+ 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.
-Patch by Rob Holland.
+ Original patch by Rob Holland. Extended to support multiple
+ entries separated by ':' by Kevin F. Quinn
---- gcc-3/gcc/gcc.c
-+++ gcc-3/gcc/gcc.c
-@@ -6421,6 +6421,21 @@
+--- gcc-4/gcc/gcc.c
++++ gcc-4/gcc/gcc.c
+@@ -6482,6 +6482,30 @@
/* Process any user specified specs in the order given on the command
line. */
-+
++ /* 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().
++ */
+ GET_ENVIRONMENT (specs_file, "GCC_SPECS");
+ if (specs_file && (strlen(specs_file) > 0))
+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
++ 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 = specs_file;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
++ 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;
++ }
+ }
for (uptr = user_specs_head; uptr; uptr = uptr->next)
{