diff options
Diffstat (limited to 'dev-lang/gnat-gpl/files')
16 files changed, 95 insertions, 945 deletions
diff --git a/dev-lang/gnat-gpl/files/gcc-configure-LANG.patch b/dev-lang/gnat-gpl/files/gcc-configure-LANG.patch deleted file mode 100644 index d1b1b0353662..000000000000 --- a/dev-lang/gnat-gpl/files/gcc-configure-LANG.patch +++ /dev/null @@ -1,64 +0,0 @@ -The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in -option parsing, it may break. - -http://bugs.gentoo.org/103483 - ---- configure -+++ configure -@@ -54,6 +54,19 @@ - infodir='${prefix}/info' - mandir='${prefix}/man' - -+# NLS nuisances. -+for as_var in \ -+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ -+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ -+ LC_TELEPHONE LC_TIME -+do -+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then -+ eval $as_var=C; export $as_var -+ else -+ unset $as_var -+ fi -+done -+ - # Initialize some other variables. - subdirs= - MFLAGS= MAKEFLAGS= -@@ -452,16 +463,6 @@ - esac - done - --# NLS nuisances. --# Only set these to C if already set. These must not be set unconditionally --# because not all systems understand e.g. LANG=C (notably SCO). --# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! --# Non-C LC_CTYPE values break the ctype check. --if test "${LANG+set}" = set; then LANG=C; export LANG; fi --if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi --if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi --if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -- - # confdefs.h avoids OS command line length limits that DEFS can exceed. - rm -rf conftest* confdefs.h - # AIX cpp loses on an empty file, so make sure it contains at least a newline. -@@ -1850,6 +1850,19 @@ - # Compiler output produced by configure, useful for debugging - # configure, is in ./config.log if it exists. - -+# NLS nuisances. -+for as_var in \ -+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ -+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ -+ LC_TELEPHONE LC_TIME -+do -+ if (set +x; test -z "`(eval \$as_var=C; export \$as_var) 2>&1`"); then -+ eval \$as_var=C; export \$as_var -+ else -+ unset \$as_var -+ fi -+done -+ - ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" - for ac_option - do diff --git a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch b/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch deleted file mode 100644 index a58926836e4e..000000000000 --- a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch +++ /dev/null @@ -1,87 +0,0 @@ -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-gpl/files/gnat-gpl-2016-bootstrap.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch deleted file mode 100644 index aed1ad0e90be..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 41a4aa66eac45c8862a79351647ec06dd03bd1f5 Mon Sep 17 00:00:00 2001 -From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Sat, 13 Dec 2014 11:24:37 +0000 -Subject: [PATCH] PR bootstrap/64023 * Makefile.tpl - (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS to POSTSTAGE1_LDFLAGS and - STAGE1_LIBS to POSTSTAGE1_LIBS. Add -B to libstdc++-v3/src/.libs and - libstdc++-v3/libsupc++/.libs to CXX. * Makefile.in: Regenerated. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - ChangeLog | 9 +++++++++ - Makefile.in | 6 +++++- - Makefile.tpl | 6 +++++- - 3 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index ba5ae4c2ecb..8ffc313f157 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -835,7 +835,9 @@ EXTRA_TARGET_FLAGS = \ - 'AS=$(COMPILER_AS_FOR_TARGET)' \ - 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ -- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ -+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ -+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ - 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ - 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -@@ -853,6 +855,8 @@ EXTRA_TARGET_FLAGS = \ - 'WINDRES=$$(WINDRES_FOR_TARGET)' \ - 'WINDMC=$$(WINDMC_FOR_TARGET)' \ - 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \ -+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \ -+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \ - "TFLAGS=$$TFLAGS" - - TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) -diff --git a/Makefile.tpl b/Makefile.tpl -index dcbc6b1b143..bb8227eaafa 100644 ---- a/Makefile.tpl -+++ b/Makefile.tpl -@@ -641,7 +641,9 @@ EXTRA_TARGET_FLAGS = \ - 'AS=$(COMPILER_AS_FOR_TARGET)' \ - 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ -- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ -+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ -+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ - 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ - 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -@@ -659,6 +661,8 @@ EXTRA_TARGET_FLAGS = \ - 'WINDRES=$$(WINDRES_FOR_TARGET)' \ - 'WINDMC=$$(WINDMC_FOR_TARGET)' \ - 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \ -+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \ -+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \ - "TFLAGS=$$TFLAGS" - - TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) --- -2.15.0 - diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch deleted file mode 100644 index 44503ae6b72e..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch +++ /dev/null @@ -1,220 +0,0 @@ ---- a/gcc/ada/exp_attr.adb 2018-11-16 20:23:21.775906196 +0100 -+++ b/gcc/ada/exp_attr.adb 2018-11-16 20:25:57.418211404 +0100 -@@ -3121,6 +3121,121 @@ - Analyze_And_Resolve (N, Standard_String); - end External_Tag; - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ when Attribute_Finalization_Size => Finalization_Size : declare -+ function Calculate_Header_Size return Node_Id; -+ -- Generate a runtime call to calculate the size of the hidden header -+ -- along with any added padding which would precede a heap-allocated -+ -- object of the prefix type. -+ -+ --------------------------- -+ -- Calculate_Header_Size -- -+ --------------------------- -+ -+ function Calculate_Header_Size return Node_Id is -+ begin -+ -- Generate: -+ -- Universal_Integer -+ -- (Header_Size_With_Padding (Pref'Alignment)) -+ -+ return -+ Convert_To (Universal_Integer, -+ Make_Function_Call (Loc, -+ Name => -+ New_Occurrence_Of (RTE (RE_Header_Size_With_Padding), Loc), -+ -+ Parameter_Associations => New_List ( -+ Make_Attribute_Reference (Loc, -+ Prefix => New_Copy_Tree (Pref), -+ Attribute_Name => Name_Alignment)))); -+ end Calculate_Header_Size; -+ -+ -- Local variables -+ -+ Size : Entity_Id; -+ -+ -- Start of Finalization_Size -+ -+ begin -+ -- An object of a class-wide type first requires a runtime check to -+ -- determine whether it is actually controlled or not. Depending on -+ -- the outcome of this check, the Finalization_Size of the object -+ -- may be zero or some positive value. -+ -- -+ -- In this scenario, Pref'Finalization_Size is expanded into -+ -- -+ -- Size : Integer := 0; -+ -- -+ -- if Needs_Finalization (Pref'Tag) then -+ -- Size := -+ -- Universal_Integer -+ -- (Header_Size_With_Padding (Pref'Alignment)); -+ -- end if; -+ -- -+ -- and the attribute reference is replaced with a reference to Size. -+ -+ if Is_Class_Wide_Type (Ptyp) then -+ Size := Make_Temporary (Loc, 'S'); -+ -+ Insert_Actions (N, New_List ( -+ -+ -- Generate: -+ -- Size : Integer := 0; -+ -+ Make_Object_Declaration (Loc, -+ Defining_Identifier => Size, -+ Object_Definition => -+ New_Occurrence_Of (Standard_Integer, Loc), -+ Expression => Make_Integer_Literal (Loc, 0)), -+ -+ -- Generate: -+ -- if Needs_Finalization (Pref'Tag) then -+ -- Size := -+ -- Universal_Integer -+ -- (Header_Size_With_Padding (Pref'Alignment)); -+ -- end if; -+ -+ Make_If_Statement (Loc, -+ Condition => -+ Make_Function_Call (Loc, -+ Name => -+ New_Occurrence_Of (RTE (RE_Needs_Finalization), Loc), -+ -+ Parameter_Associations => New_List ( -+ Make_Attribute_Reference (Loc, -+ Prefix => New_Copy_Tree (Pref), -+ Attribute_Name => Name_Tag))), -+ -+ Then_Statements => New_List ( -+ Make_Assignment_Statement (Loc, -+ Name => New_Occurrence_Of (Size, Loc), -+ Expression => Calculate_Header_Size))))); -+ -+ Rewrite (N, New_Occurrence_Of (Size, Loc)); -+ -+ -- The prefix is known to be controlled at compile time. Calculate -+ -- Finalization_Size by calling function Header_Size_With_Padding. -+ -+ elsif Needs_Finalization (Ptyp) then -+ Rewrite (N, Calculate_Header_Size); -+ -+ -- The prefix is not an object with controlled parts, so its -+ -- Finalization_Size is zero. -+ -+ else -+ Rewrite (N, Make_Integer_Literal (Loc, 0)); -+ end if; -+ -+ -- Due to cases where the entity type of the attribute is already -+ -- resolved the rewritten N must get re-resolved to its appropriate -+ -- type. -+ -+ Analyze_And_Resolve (N, Typ); -+ end Finalization_Size; -+ - ----------- - -- First -- - ----------- ---- a/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200 ---- b/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200 -@@ -884,6 +884,7 @@ - Name_Exponent : constant Name_Id := N + $; - Name_External_Tag : constant Name_Id := N + $; - Name_Fast_Math : constant Name_Id := N + $; -- GNAT -+ Name_Finalization_Size : constant Name_Id := N + $; -- GNAT - Name_First : constant Name_Id := N + $; - Name_First_Bit : constant Name_Id := N + $; - Name_First_Valid : constant Name_Id := N + $; -- Ada 12 -@@ -1523,6 +1524,7 @@ - Attribute_Exponent, - Attribute_External_Tag, - Attribute_Fast_Math, -+ Attribute_Finalization_Size, - Attribute_First, - Attribute_First_Bit, - Attribute_First_Valid, ---- a/gcc/ada/sem_attr.ads 2018-11-16 21:35:46.821279875 +0100 -+++ b/gcc/ada/sem_attr.ads 2018-11-16 21:36:00.028057464 +0100 -@@ -242,6 +242,16 @@ - -- enumeration value. Constraint_Error is raised if no value of the - -- enumeration type corresponds to the given integer value. - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ Attribute_Finalization_Size => True, -+ -- For every object or non-class-wide-type, Finalization_Size returns -+ -- the size of the hidden header used for finalization purposes as if -+ -- the object or type was allocated on the heap. The size of the header -+ -- does take into account any extra padding due to alignment issues. -+ - ----------------- - -- Fixed_Value -- - ----------------- ---- a/gcc/ada/sem_attr.adb 2018-11-16 21:35:49.698231429 +0100 -+++ b/gcc/ada/sem_attr.adb 2018-11-16 21:36:00.028057464 +0100 -@@ -3828,6 +3828,42 @@ - Check_Standard_Prefix; - Rewrite (N, New_Occurrence_Of (Boolean_Literals (Fast_Math), Loc)); - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ when Attribute_Finalization_Size => -+ Check_E0; -+ -+ -- The prefix denotes an object -+ -+ if Is_Object_Reference (P) then -+ Check_Object_Reference (P); -+ -+ -- The prefix denotes a type -+ -+ elsif Is_Entity_Name (P) and then Is_Type (Entity (P)) then -+ Check_Type; -+ Check_Not_Incomplete_Type; -+ -+ -- Attribute 'Finalization_Size is not defined for class-wide -+ -- types because it is not possible to know statically whether -+ -- a definite type will have controlled components or not. -+ -+ if Is_Class_Wide_Type (Etype (P)) then -+ Error_Attr_P -+ ("prefix of % attribute cannot denote a class-wide type"); -+ end if; -+ -+ -- The prefix denotes an illegal construct -+ -+ else -+ Error_Attr_P -+ ("prefix of % attribute must be a definite type or an object"); -+ end if; -+ -+ Set_Etype (N, Universal_Integer); -+ - ----------- - -- First -- - ----------- -@@ -8264,6 +8300,13 @@ - Fold_Uint (N, - Eval_Fat.Exponent (P_Base_Type, Expr_Value_R (E1)), Static); - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ when Attribute_Finalization_Size => -+ null; -+ - ----------- - -- First -- - ----------- diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch deleted file mode 100644 index 959ed5183124..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/patch/09_all_default-ssp.patch 2017-01-08 16:14:09.377755019 +0100 -+++ b/patch/09_all_default-ssp.patch 2017-01-08 16:15:48.792764201 +0100 -@@ -78,14 +78,14 @@ - optimizing. The default value is 32. - --- a/gcc/cp/lang-specs.h - +++ b/gcc/cp/lang-specs.h --@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see -+@@ -46,7 +46,7 @@ - %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\ - cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\ - %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\ - - %(cc1_options) %2\ - + %(cc1_options) %(ssp_default) %2\ -- %{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\ -- %W{o*:--output-pch=%*}}%V}}}}", -+ %{!fsyntax-only:-o %g.s %{!fdump-ada-spec*:%{!fdump-xref*:%{!o*:--output-pch=%i.gch}\ -+ %W{o*:--output-pch=%*}}}%V}}}}", - CPLUSPLUS_CPP_SPEC, 0, 0}, - @@ -57,11 +57,11 @@ along with GCC; see the file COPYING3. If not see - %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\ -@@ -151,14 +151,14 @@ - /* This contains cpp options which are not passed when the preprocessor - output will be used by another program. */ - @@ -1015,9 +1024,9 @@ static const struct compiler default_compilers[] = -- %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ -+ %{save-temps*|fdump-scos|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ - %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\ - cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \ - - %(cc1_options)}\ - + %(cc1_options) %(ssp_default)}\ -- %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ --- cc1 %(cpp_unique_options) %(cc1_options)}}}\ --+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\ -+ %{!save-temps*:%{!fdump-scos:%{!traditional-cpp:%{!no-integrated-cpp:\ -+- cc1 %(cpp_unique_options) %(cc1_options)}}}}\ -++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}}\ - %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1}, - {"-", - "%{!E:%e-E or -x required when input is from standard input}\ ---- a/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 -+++ b/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 -@@ -2229,14 +2229,11 @@ - for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop - if Name_Buffer (J .. J + Prog'Length - 1) = Prog then - End_Of_Prefix := J - 1; -+ Start_Of_Suffix := J + Prog'Length; - exit; - end if; - end loop; - -- if End_Of_Prefix > 1 then -- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; -- end if; -- - -- Create the new program name - - return new String' diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch deleted file mode 100644 index 561c012a23e6..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch +++ /dev/null @@ -1,113 +0,0 @@ ---- a/gcc/ada/s-rident.ads 2018-11-18 18:47:39.042412895 +0100 -+++ b/gcc/ada/s-rident.ads 2018-11-18 19:02:31.736559044 +0100 -@@ -378,15 +378,17 @@ - type Profile_Name is - (No_Profile, - No_Implementation_Extensions, -+ Restricted_Tasking, -+ Restricted, - Ravenscar, - GNAT_Extended_Ravenscar, -- Restricted); -+ GNAT_Ravenscar_EDF); - -- Names of recognized profiles. No_Profile is used to indicate that a - -- restriction came from pragma Restrictions[_Warning], as opposed to - -- pragma Profile[_Warning]. - - subtype Profile_Name_Actual is Profile_Name -- range No_Implementation_Extensions .. Restricted; -+ range No_Implementation_Extensions .. Profile_Name'Last; - -- Actual used profile names - - type Profile_Data is record -@@ -456,6 +458,40 @@ - Max_Task_Entries => 0, - others => 0)), - -+ -- Restricted_Tasking Profile -+ -+ Restricted_Tasking => -+ -+ -- Restrictions for Restricted_Tasking profile -+ -+ (Set => -+ (No_Abort_Statements => True, -+ No_Asynchronous_Control => True, -+ No_Dynamic_Attachment => True, -+ No_Dynamic_Priorities => True, -+ No_Entry_Queue => True, -+ No_Local_Protected_Objects => True, -+ No_Protected_Type_Allocators => True, -+ No_Requeue_Statements => True, -+ No_Task_Allocators => True, -+ No_Task_Attributes_Package => True, -+ No_Task_Hierarchy => True, -+ No_Terminate_Alternatives => True, -+ Max_Asynchronous_Select_Nesting => True, -+ Max_Protected_Entries => True, -+ Max_Select_Alternatives => True, -+ Max_Task_Entries => True, -+ others => False), -+ -+ -- Value settings for Restricted profile -+ -+ Value => -+ (Max_Asynchronous_Select_Nesting => 0, -+ Max_Protected_Entries => 1, -+ Max_Select_Alternatives => 0, -+ Max_Task_Entries => 0, -+ others => 0)), -+ - -- Ravenscar Profile - - -- Note: the table entries here only represent the -@@ -509,6 +545,49 @@ - Max_Task_Entries => 0, - others => 0)), - -+ GNAT_Ravenscar_EDF => -+ -+ -- Restrictions for Ravenscar = Restricted profile .. -+ -+ (Set => -+ (No_Abort_Statements => True, -+ No_Asynchronous_Control => True, -+ No_Dynamic_Attachment => True, -+ No_Dynamic_Priorities => True, -+ No_Entry_Queue => True, -+ No_Local_Protected_Objects => True, -+ No_Protected_Type_Allocators => True, -+ No_Requeue_Statements => True, -+ No_Task_Allocators => True, -+ No_Task_Attributes_Package => True, -+ No_Task_Hierarchy => True, -+ No_Terminate_Alternatives => True, -+ Max_Asynchronous_Select_Nesting => True, -+ Max_Protected_Entries => True, -+ Max_Select_Alternatives => True, -+ Max_Task_Entries => True, -+ -+ -- plus these additional restrictions: -+ -+ No_Calendar => True, -+ No_Implicit_Heap_Allocations => True, -+ No_Local_Timing_Events => True, -+ No_Relative_Delay => True, -+ No_Select_Statements => True, -+ No_Specific_Termination_Handlers => True, -+ No_Task_Termination => True, -+ Simple_Barriers => True, -+ others => False), -+ -+ -- Value settings for Ravenscar (same as Restricted) -+ -+ Value => -+ (Max_Asynchronous_Select_Nesting => 0, -+ Max_Protected_Entries => 1, -+ Max_Select_Alternatives => 0, -+ Max_Task_Entries => 0, -+ others => 0)), -+ - GNAT_Extended_Ravenscar => - - -- Restrictions for GNAT_Extended_Ravenscar = diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch deleted file mode 100644 index de013cdc0d3a..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch +++ /dev/null @@ -1,98 +0,0 @@ ---- a/patch/13_all_default-ssp-fix.patch 2017-06-14 11:29:28.997183865 +0200 -+++ b/patch/13_all_default-ssp-fix.patch 2017-06-14 12:24:15.042271863 +0200 -@@ -39,9 +39,9 @@ - %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ - %{fsyntax-only:-o %j} %{-param*}\ - + %{nostdlib:-nostdlib}\ -- %{coverage:-fprofile-arcs -ftest-coverage}"; -+ %{coverage:-fprofile-arcs -ftest-coverage}\ -+ %{fdump-scos:-fpreserve-decisions-generic}"; - -- static const char *asm_options = - --- a/gcc/params.def 2016-03-30 09:47:40.000000000 +0200 - +++ b/gcc/params.def 2016-09-19 12:56:58.443179039 +0200 - @@ -673,7 +673,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT, ---- a/gcc-6-gpl-2017-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 -+++ b/gcc-6-gpl-2017-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 -@@ -2229,14 +2229,11 @@ - for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop - if Name_Buffer (J .. J + Prog'Length - 1) = Prog then - End_Of_Prefix := J - 1; -+ Start_Of_Suffix := J + Prog'Length; - exit; - end if; - end loop; - -- if End_Of_Prefix > 1 then -- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; -- end if; -- - -- Create the new program name - - return new String' ---- a/gcc-6-gpl-2017-src/libgcc/config/i386/linux-unwind.h 2017-12-07 20:57:02.737224515 +0100 -+++ b/gcc-6-gpl-2017-src/libgcc/config/i386/linux-unwind.h 2017-12-07 21:01:59.431929926 +0100 -@@ -58,7 +58,7 @@ - if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) - { -- struct ucontext *uc_ = context->cfa; -+ ucontext_t *uc_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ -@@ -138,7 +138,7 @@ - siginfo_t *pinfo; - void *puc; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem ---- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-12-07 22:05:30.512328872 +0100 -+++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-12-07 22:05:53.104950070 +0100 -@@ -267,7 +267,7 @@ - - // Alternate stack for signal handling. - InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize); -- struct sigaltstack handler_stack; -+ stack_t handler_stack; - internal_memset(&handler_stack, 0, sizeof(handler_stack)); - handler_stack.ss_sp = handler_stack_memory.data(); - handler_stack.ss_size = kHandlerStackSize; ---- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.cc 2017-12-07 22:09:04.912731275 +0100 -+++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.cc 2017-12-07 22:10:03.150754764 +0100 -@@ -546,8 +546,7 @@ - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - ---- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.h 2017-12-07 22:10:10.109638062 +0100 -+++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.h 2017-12-07 22:10:30.991287828 +0100 -@@ -28,8 +28,7 @@ - - // Syscall wrappers. - uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, - __sanitizer_sigset_t *oldset); - void internal_sigfillset(__sanitizer_sigset_t *set); ---- a/gcc-6-gpl-2017-src/libsanitizer/tsan/tsan_platform_linux.cc 2017-12-07 22:15:09.626608907 +0100 -+++ b/gcc-6-gpl-2017-src/libsanitizer/tsan/tsan_platform_linux.cc 2017-12-07 22:15:28.825286145 +0100 -@@ -291,7 +291,7 @@ - int ExtractResolvFDs(void *state, int *fds, int nfd) { - #if SANITIZER_LINUX - int cnt = 0; -- __res_state *statp = (__res_state*)state; -+ struct __res_state *statp = (struct __res_state*)state; - for (int i = 0; i < MAXNS && cnt < nfd; i++) { - if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) - fds[cnt++] = statp->_u._ext.nssocks[i]; diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libatomic-Werror.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libatomic-Werror.patch deleted file mode 100644 index 0550722d170b..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libatomic-Werror.patch +++ /dev/null @@ -1,19 +0,0 @@ -libatomic does not respect --disable-werror - -https://bugs.gentoo.org/475350 ---- a/libatomic/configure.ac -+++ b/libatomic/configure.ac -@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS" - # Add -Wall -Werror if we are using GCC. - if test "x$GCC" = "xyes"; then -- XCFLAGS="$XCFLAGS -Wall -Werror" -+ XCFLAGS="$XCFLAGS -Wall" - fi ---- a/libatomic/configure -+++ b/libatomic/configure -@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS" - # Add -Wall -Werror if we are using GCC. - if test "x$GCC" = "xyes"; then -- XCFLAGS="$XCFLAGS -Wall -Werror" -+ XCFLAGS="$XCFLAGS -Wall" - fi diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libgomp-Werror.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libgomp-Werror.patch deleted file mode 100644 index 416808a63b15..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libgomp-Werror.patch +++ /dev/null @@ -1,20 +0,0 @@ -libgomp does not respect --disable-werror - -https://bugs.gentoo.org/229059 -http://gcc.gnu.org/PR38436 ---- a/libgomp/configure.ac -+++ b/libgomp/configure.ac -@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS" - # Add -Wall -Werror if we are using GCC. - if test "x$GCC" = "xyes"; then -- XCFLAGS="$XCFLAGS -Wall -Werror" -+ XCFLAGS="$XCFLAGS -Wall" - fi ---- a/libgomp/configure -+++ b/libgomp/configure -@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS" - # Add -Wall -Werror if we are using GCC. - if test "x$GCC" = "xyes"; then -- XCFLAGS="$XCFLAGS -Wall -Werror" -+ XCFLAGS="$XCFLAGS -Wall" - fi diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch deleted file mode 100644 index 27181e02cfbd..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch +++ /dev/null @@ -1,19 +0,0 @@ -libitm does not respect --disable-werror - -https://bugs.gentoo.org/475350 ---- a/libitm/configure.ac -+++ b/libitm/configure.ac -@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS" - # Add -Wall -Werror if we are using GCC. - if test "x$GCC" = "xyes"; then -- XCFLAGS="$XCFLAGS -Wall -Werror" -+ XCFLAGS="$XCFLAGS -Wall" - fi ---- a/libitm/configure -+++ b/libitm/configure -@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS" - # Add -Wall -Werror if we are using GCC. - if test "x$GCC" = "xyes"; then -- XCFLAGS="$XCFLAGS -Wall -Werror" -+ XCFLAGS="$XCFLAGS -Wall" - fi diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch deleted file mode 100644 index 4c57b814ce57..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:53:11.382114157 +0200 -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:57:10.725037767 +0200 -@@ -150,7 +150,6 @@ - # include <sys/procfs.h> - #endif - #include <sys/user.h> --#include <sys/ustat.h> - #include <linux/cyclades.h> - #include <linux/if_eql.h> - #include <linux/if_plip.h> -@@ -243,7 +242,19 @@ - #endif // SANITIZER_LINUX || SANITIZER_FREEBSD - - #if SANITIZER_LINUX && !SANITIZER_ANDROID -- unsigned struct_ustat_sz = sizeof(struct ustat); -+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which -+ // has been removed from glibc 2.28. -+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ -+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ -+ || defined(__x86_64__) -+#define SIZEOF_STRUCT_USTAT 32 -+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ -+ || defined(__powerpc__) || defined(__s390__) || defined(__sparc__) -+#define SIZEOF_STRUCT_USTAT 20 -+#else -+#error Unknown size of struct ustat -+#endif -+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; - unsigned struct_rlimit64_sz = sizeof(struct rlimit64); - unsigned struct_statvfs64_sz = sizeof(struct statvfs64); - #endif // SANITIZER_LINUX && !SANITIZER_ANDROID diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch deleted file mode 100644 index 5d6a38af14e3..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/gcc-7-gpl-2018-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 -+++ b/gcc-7-gpl-2018-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 -@@ -2229,14 +2229,11 @@ - for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop - if Name_Buffer (J .. J + Prog'Length - 1) = Prog then - End_Of_Prefix := J - 1; -+ Start_Of_Suffix := J + Prog'Length; - exit; - end if; - end loop; - -- if End_Of_Prefix > 1 then -- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; -- end if; -- - -- Create the new program name - - return new String' diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p1.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p1.patch deleted file mode 100644 index 80cc074d7f34..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 54d87ffe4b34052f159ac5b72b250129ce813b2a Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek <jakub@redhat.com> -Date: Fri, 14 Feb 2020 12:33:27 +0100 -Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm - bootstrap due to libsanitizer) - - Backported from mainline - 2019-10-22 Tamar Christina <tamar.christina@arm.com> - - PR sanitizer/92154 - * sanitizer_common/sanitizer_platform_limits_posix.cc: - Cherry-pick compiler-rt revision r375220. ---- ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -1147,8 +1147,12 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); - CHECK_SIZE_AND_OFFSET(ipc_perm, gid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); --#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21) -+#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \ -+ !defined(__arm__) - /* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ -+/* On Arm glibc 2.31 and later provide a different mode field, this field is -+ never used by libsanitizer so we can simply ignore this assert for all glibc -+ versions. */ - CHECK_SIZE_AND_OFFSET(ipc_perm, mode); - #endif - --- -2.25.2 - diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p2.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p2.patch deleted file mode 100644 index bdd8dcbe3d02..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p2.patch +++ /dev/null @@ -1,59 +0,0 @@ -From dbdf86838aaaef76620c00c53096cfe157d5af6e Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek <jakub@redhat.com> -Date: Fri, 14 Feb 2020 12:38:30 +0100 -Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm - bootstrap due to libsanitizer) - - Backported from mainline - 2019-11-26 Jakub Jelinek <jakub@redhat.com> - - PR sanitizer/92154 - * sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick - llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce. - * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. ---- ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -1147,12 +1147,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid); - CHECK_SIZE_AND_OFFSET(ipc_perm, gid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cuid); - CHECK_SIZE_AND_OFFSET(ipc_perm, cgid); --#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \ -- !defined(__arm__) --/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */ --/* On Arm glibc 2.31 and later provide a different mode field, this field is -- never used by libsanitizer so we can simply ignore this assert for all glibc -- versions. */ -+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31) -+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit -+ on many architectures. */ - CHECK_SIZE_AND_OFFSET(ipc_perm, mode); - #endif - ---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h -@@ -210,20 +210,13 @@ namespace __sanitizer { - unsigned long __unused1; - unsigned long __unused2; - #elif defined(__sparc__) --# if defined(__arch64__) - unsigned mode; -- unsigned short __pad1; --# else -- unsigned short __pad1; -- unsigned short mode; - unsigned short __pad2; --# endif - unsigned short __seq; - unsigned long long __unused1; - unsigned long long __unused2; - #else -- unsigned short mode; -- unsigned short __pad1; -+ unsigned int mode; - unsigned short __seq; - unsigned short __pad2; - #if defined(__x86_64__) && !defined(_LP64) --- -2.25.2 - diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch deleted file mode 100644 index 36befaafc0f8..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/patch/15_all_disable-systemtap-switch.patch 2019-05-28 09:25:40.556754095 +0200 -+++ b/patch/15_all_disable-systemtap-switch.patch 2019-05-28 09:25:00.731426775 +0200 -@@ -42,8 +42,8 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF ---#line 18451 "configure" --+#line 18453 "configure" -+-#line 18497 "configure" -++#line 18499 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -51,8 +51,8 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF ---#line 18557 "configure" --+#line 18559 "configure" -+-#line 18603 "configure" -++#line 18605 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H ---- a/gcc-8-2019-20190517-18C94-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 -+++ b/gcc-8-2019-20190517-18C94-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 -@@ -2229,14 +2229,11 @@ - for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop - if Name_Buffer (J .. J + Prog'Length - 1) = Prog then - End_Of_Prefix := J - 1; -+ Start_Of_Suffix := J + Prog'Length; - exit; - end if; - end loop; - -- if End_Of_Prefix > 1 then -- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; -- end if; -- - -- Create the new program name - - return new String' diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch new file mode 100644 index 000000000000..681fd47262da --- /dev/null +++ b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch @@ -0,0 +1,95 @@ +--- a/gcc-10-2021-20210519-19A74-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 ++++ b/gcc-10-2021-20210519-19A74-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 +@@ -2229,14 +2229,11 @@ + for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop + if Name_Buffer (J .. J + Prog'Length - 1) = Prog then + End_Of_Prefix := J - 1; ++ Start_Of_Suffix := J + Prog'Length; + exit; + end if; + end loop; + +- if End_Of_Prefix > 1 then +- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; +- end if; +- + -- Create the new program name + + return new String' +--- a/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:37:05.733985417 +0200 ++++ b/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:38:02.925029050 +0200 +@@ -4,7 +4,7 @@ + --- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200 + +++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100 + @@ -857,6 +857,12 @@ proper position among the other output f +- #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" ++ #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}" + #endif + + +#ifdef ENABLE_DEFAULT_SSP +@@ -19,9 +19,9 @@ + @@ -1131,7 +1148,7 @@ static const char *cc1_options = + %{-version:--version}\ + %{-help=*:--help=%*}\ +- %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ ++ %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\ + - %{fsyntax-only:-o %j} %{-param*}\ + + %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ + %{coverage:-fprofile-arcs -ftest-coverage}\ ++ %{fdump-scos:-fpreserve-decisions-generic}\ + %{fprofile-arcs|fprofile-generate*|coverage:\ +- %{!fprofile-update=singel:\ +--- a/gcc-10-2021-20210519-19A74-src/config/cet.m4 2022-01-01 11:18:09.663425422 +0100 ++++ b/gcc-10-2021-20210519-19A74-src/config/cet.m4 2022-01-01 11:18:14.809345911 +0100 +@@ -62,7 +62,6 @@ + i[[34567]]86-*-linux* | x86_64-*-linux*) + may_have_cet=yes + save_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -fcf-protection" + case "$enable_cet" in + auto) + # Check if target supports multi-byte NOPs +--- a/gcc-10-2021-20210519-19A74-src/libiberty/configure 2024-03-02 19:45:34.658271627 +0100 ++++ b/gcc-10-2021-20210519-19A74-src/libiberty/configure 2024-03-02 19:54:48.013538533 +0100 +@@ -6709,6 +6709,9 @@ + if test "$cross_compiling" = yes; then : + ac_cv_c_stack_direction=0 + else ++ cat >>confdefs.h <<_ACEOF ++extern void exit(int status); ++_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + find_stack_direction () +@@ -7539,6 +7542,11 @@ + if test "$cross_compiling" = yes; then : + ac_cv_func_strncmp_works=yes + else ++ cat >>confdefs.h <<_ACEOF ++ extern long unsigned int strlen(const char *s); ++ extern char *strcpy(char *dst, const char *src); ++ extern int strncmp(const char *s1, const char *s2, long unsigned int n); ++_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +--- a/gcc-10-2021-20210519-19A74-src/libsanitizer/configure 2024-03-02 20:41:56.810707374 +0100 ++++ b/gcc-10-2021-20210519-19A74-src/libsanitizer/configure 2024-03-02 20:43:00.189080219 +0100 +@@ -16073,6 +16073,7 @@ + sanitizer_supported=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include <sys/syscall.h> ++#include <unistd.h> + int + main () +--- a/gcc-10-2021-20210519-19A74-src/libgfortran/configure 2024-03-02 21:57:47.282939696 +0100 ++++ b/gcc-10-2021-20210519-19A74-src/libgfortran/configure 2024-03-02 21:58:34.702446345 +0100 +@@ -26391,6 +26391,7 @@ + #if HAVE_IEEEFP_H + # include <ieeefp.h> + #endif /* HAVE_IEEEFP_H */ ++extern void fpsetmask(int); + int + main () + { |