diff options
author | Kevin F. Quinn <kevquinn@gentoo.org> | 2006-01-08 23:54:14 +0000 |
---|---|---|
committer | Kevin F. Quinn <kevquinn@gentoo.org> | 2006-01-08 23:54:14 +0000 |
commit | 140b50cf0a9cd6d0293127a2c090a58d88f5c45b (patch) | |
tree | 481e7e6fece703efb8c1cfa2f9c063427e9c0ac0 /sys-devel | |
parent | Slotted mysql versions only (considered ready for testing from now): (diff) | |
download | historical-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/Manifest | 8 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-spec-env.patch | 42 |
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) { |