Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 388468 Details for
Bug 528170
[toolchain overlay] sys-devel/gcc-4.10.0_pre9999 - gcc-spec-env-r1.patch fails to apply
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated patch for GCC 4.10
gcc-spec-env-r2.patch (text/plain), 3.11 KB, created by
Daniel Scharrer
on 2014-11-03 20:04:31 UTC
(
hide
)
Description:
Updated patch for GCC 4.10
Filename:
MIME Type:
Creator:
Daniel Scharrer
Created:
2014-11-03 20:04:31 UTC
Size:
3.11 KB
patch
obsolete
>2013-08-22 Magnus Granberg <zorry@gentoo.org> > > * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var > and move the process of the user specifed specs. > > This allows us to easily control pie/ssp defaults with gcc-config profiles. > Original patch by Rob Holland > Extended to support multiple entries separated by ':' by Kevin F. Quinn > Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill > Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg > >--- gcc-4.8-20130210/gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100 >+++ gcc-4.8-20130210-work/gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200 >@@ -7004,6 +7005,48 @@ main (int argc, char **argv) > do_option_spec (option_default_specs[i].name, > option_default_specs[i].spec); > >+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32)) >+ /* Add specs listed in GCC_SPECS. Note; in the process of separating >+ * each spec listed, the string is overwritten at token boundaries >+ * (':') with '\0', an effect of strtok_r(). >+ */ >+ specs_file = getenv ("GCC_SPECS"); >+ if (specs_file && (strlen(specs_file) > 0)) >+ { >+ char *spec, *saveptr; >+ for (spec=strtok_r(specs_file,":",&saveptr); >+ spec!=NULL; >+ spec=strtok_r(NULL,":",&saveptr)) >+ { >+ struct user_specs *user = (struct user_specs *) >+ xmalloc (sizeof (struct user_specs)); >+ user->next = (struct user_specs *) 0; >+ user->filename = spec; >+ if (user_specs_tail) >+ user_specs_tail->next = user; >+ else >+ user_specs_head = user; >+ user_specs_tail = user; >+ } >+ } >+#endif >+ /* Process any user specified specs in the order given on the command >+ * line. */ >+ for (struct user_specs *uptr = user_specs_head; uptr; uptr = uptr->next) >+ { >+ char *filename = find_a_file (&startfile_prefixes, uptr->filename, >+ R_OK, true); >+ read_specs (filename ? filename : uptr->filename, false, true); >+ } >+ /* Process any user self specs. */ >+ { >+ struct spec_list *sl; >+ for (sl = specs; sl; sl = sl->next) >+ if (sl->name_len == sizeof "self_spec" - 1 >+ && !strcmp (sl->name, "self_spec")) >+ do_self_spec (*sl->ptr_spec); >+ } >+ > /* Process DRIVER_SELF_SPECS, adding any new options to the end > of the command line. */ > >@@ -7112,24 +7155,6 @@ main (int argc, char **argv) > PREFIX_PRIORITY_LAST, 0, 1); > } > >- /* Process any user specified specs in the order given on the command >- line. */ >- for (struct user_specs *uptr = user_specs_head; uptr; uptr = uptr->next) >- { >- char *filename = find_a_file (&startfile_prefixes, uptr->filename, >- R_OK, true); >- read_specs (filename ? filename : uptr->filename, false, true); >- } >- >- /* Process any user self specs. */ >- { >- struct spec_list *sl; >- for (sl = specs; sl; sl = sl->next) >- if (sl->name_len == sizeof "self_spec" - 1 >- && !strcmp (sl->name, "self_spec")) >- do_self_spec (*sl->ptr_spec); >- } >- > if (compare_debug) > { > enum save_temps save;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 528170
:
388464
|
388466
| 388468