--- a/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 +++ b/gcc-9-2020-20200429-19AA7-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-9-2020-20200429-19AA7-src/gcc/ada/init.c 2021-12-10 22:12:34.061054044 +0100 +++ b/gcc-9-2020-20200429-19AA7-src/gcc/ada/init.c 2021-12-10 22:13:36.033109326 +0100 @@ -581,9 +581,6 @@ #define HAVE_GNAT_ALTERNATE_STACK 1 /* This must be in keeping with System.OS_Interface.Alternate_Stack_Size. It must be larger than MINSIGSTKSZ and hopefully near 2 * SIGSTKSZ. */ -# if 16 * 1024 < MINSIGSTKSZ -# error "__gnat_alternate_stack too small" -# endif char __gnat_alternate_stack[16 * 1024]; #endif