diff options
| author | Stephen L Arnold <nerdboy@gentoo.org> | 2016-06-03 20:54:17 -0700 |
|---|---|---|
| committer | Stephen L Arnold <nerdboy@gentoo.org> | 2016-06-03 21:04:49 -0700 |
| commit | c4b4d9a83711610c09f8db31919b095a4d9628f2 (patch) | |
| tree | 26cd40db5af69b7e82ca63d8dda3e2df9d461455 /dev-lang/gnat-gcc/files | |
| parent | 6ab61c4820d0c4961a3388ffb548bc3670f5fdd1 (diff) | |
| download | gentoo-c4b4d9a83711610c09f8db31919b095a4d9628f2.tar.gz gentoo-c4b4d9a83711610c09f8db31919b095a4d9628f2.tar.bz2 gentoo-c4b4d9a83711610c09f8db31919b095a4d9628f2.zip | |
dev-lang/gnat-gcc: version bump to 4.9.3 (ebuild and gnatboot)
Newly reworked gnat-gcc with new multilib and hardened support. Will
probably also need updates to gnat.eclass to build Ada packages.
Ncurses with use=ada works again (in the overlay) but the existing
gnat.eclass Ada configuration will most likely get simplified first.
Other arches still in progress.
Package-Manager: portage-2.2.28
Diffstat (limited to 'dev-lang/gnat-gcc/files')
| -rw-r--r-- | dev-lang/gnat-gcc/files/gcc-spec-env-r1.patch | 87 | ||||
| -rw-r--r-- | dev-lang/gnat-gcc/files/gnat-gcc-4.9.3-make-default-paths-match-slot.patch | 27 |
2 files changed, 114 insertions, 0 deletions
diff --git a/dev-lang/gnat-gcc/files/gcc-spec-env-r1.patch b/dev-lang/gnat-gcc/files/gcc-spec-env-r1.patch new file mode 100644 index 000000000000..a58926836e4e --- /dev/null +++ b/dev-lang/gnat-gcc/files/gcc-spec-env-r1.patch @@ -0,0 +1,87 @@ +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 +@@ -6427,6 +6428,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 (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. */ + +@@ -6535,24 +6578,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 (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; diff --git a/dev-lang/gnat-gcc/files/gnat-gcc-4.9.3-make-default-paths-match-slot.patch b/dev-lang/gnat-gcc/files/gnat-gcc-4.9.3-make-default-paths-match-slot.patch new file mode 100644 index 000000000000..0c197a15c134 --- /dev/null +++ b/dev-lang/gnat-gcc/files/gnat-gcc-4.9.3-make-default-paths-match-slot.patch @@ -0,0 +1,27 @@ +--- gcc/Makefile.in.orig 2016-05-20 15:01:04.277726220 -0700 ++++ gcc/Makefile.in 2016-05-20 18:40:43.658617109 -0700 +@@ -594,9 +594,9 @@ + # -------- + + # Directory in which the compiler finds libraries etc. +-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(version) ++libsubdir = $(libdir)/gnat-gcc/$(target_noncanonical)/SLOT_MARKER + # Directory in which the compiler finds executables +-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(version) ++libexecsubdir = $(libexecdir)/gnat-gcc/$(target_noncanonical)/SLOT_MARKER + # Directory in which all plugin resources are installed + plugin_resourcesdir = $(libsubdir)/plugin + # Directory in which plugin headers are installed +@@ -1944,9 +1944,9 @@ + + DRIVER_DEFINES = \ + -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ +- -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ +- -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ +- -DDEFAULT_TARGET_VERSION=\"$(version)\" \ ++ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gnat-gcc/\" \ ++ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gnat-gcc/\" \ ++ -DDEFAULT_TARGET_VERSION=\"SLOT_MARKER\" \ + -DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \ + -DSTANDARD_BINDIR_PREFIX=\"$(bindir)/\" \ + -DTOOLDIR_BASE_PREFIX=\"$(libsubdir_to_prefix)$(prefix_to_exec_prefix)\" \ |
