···1+This patch fixes interaction with Libtool.
2+See <http://thread.gmane.org/gmane.comp.gcc.patches/258777>, for details.
3+4+--- a/gcc/fortran/gfortranspec.cc
5++++ b/gcc/fortran/gfortranspec.cc
6+@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n"));
7+ {
8+ fprintf (stderr, _("Driving:"));
9+ for (i = 0; i < g77_newargc; i++)
10++ {
11++ if (g77_new_decoded_options[i].opt_index == OPT_l)
12++ /* Make sure no white space is inserted after `-l'. */
13++ fprintf (stderr, " -l%s",
14++ g77_new_decoded_options[i].canonical_option[1]);
15++ else
16+ fprintf (stderr, " %s",
17+ g77_new_decoded_options[i].orig_option_with_args_text);
18++ }
19+ fprintf (stderr, "\n");
20+ }
···12510 gcc9Stdenv = overrideCC gccStdenv buildPackages.gcc9;
12511 gcc10Stdenv = overrideCC gccStdenv buildPackages.gcc10;
12512 gcc11Stdenv = overrideCC gccStdenv buildPackages.gcc11;
01251312514 # This is not intended for use in nixpkgs but for providing a faster-running
12515 # compiler to nixpkgs users by building gcc with reproducibility-breaking
···12705 isl = if !stdenv.isDarwin then isl_0_20 else null;
12706 }));
1270712708- gcc_latest = gcc11;
0000000000001270912710 # Use the same GCC version as the one from stdenv by default
12711 gfortran = wrapCC (gcc.cc.override {
···12780 profiledCompiler = false;
12781 });
127820000000012783 libgccjit = gcc.cc.override {
12784 name = "libgccjit";
12785 langFortran = false;
···12867 && stdenv.buildPlatform == stdenv.hostPlatform
12868 then buildPackages.gnat6
12869 else buildPackages.gnat11;
000000000000000012870 });
1287112872 gnatboot = wrapCC (callPackage ../development/compilers/gnatboot { });
···12510 gcc9Stdenv = overrideCC gccStdenv buildPackages.gcc9;
12511 gcc10Stdenv = overrideCC gccStdenv buildPackages.gcc10;
12512 gcc11Stdenv = overrideCC gccStdenv buildPackages.gcc11;
12513+ gcc12Stdenv = overrideCC gccStdenv buildPackages.gcc12;
1251412515 # This is not intended for use in nixpkgs but for providing a faster-running
12516 # compiler to nixpkgs users by building gcc with reproducibility-breaking
···12706 isl = if !stdenv.isDarwin then isl_0_20 else null;
12707 }));
1270812709+ gcc12 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/12 {
12710+ inherit noSysDirs;
12711+12712+ reproducibleBuild = true;
12713+ profiledCompiler = false;
12714+12715+ libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
12716+ threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
12717+12718+ isl = if !stdenv.isDarwin then isl_0_20 else null;
12719+ }));
12720+12721+ gcc_latest = gcc12;
1272212723 # Use the same GCC version as the one from stdenv by default
12724 gfortran = wrapCC (gcc.cc.override {
···12793 profiledCompiler = false;
12794 });
1279512796+ gfortran12 = wrapCC (gcc12.cc.override {
12797+ name = "gfortran";
12798+ langFortran = true;
12799+ langCC = false;
12800+ langC = false;
12801+ profiledCompiler = false;
12802+ });
12803+12804 libgccjit = gcc.cc.override {
12805 name = "libgccjit";
12806 langFortran = false;
···12888 && stdenv.buildPlatform == stdenv.hostPlatform
12889 then buildPackages.gnat6
12890 else buildPackages.gnat11;
12891+ });
12892+12893+ gnat12 = wrapCC (gcc12.cc.override {
12894+ name = "gnat";
12895+ langC = true;
12896+ langCC = false;
12897+ langAda = true;
12898+ profiledCompiler = false;
12899+ # As per upstream instructions building a cross compiler
12900+ # should be done with a (native) compiler of the same version.
12901+ # If we are cross-compiling GNAT, we may as well do the same.
12902+ gnatboot =
12903+ if stdenv.hostPlatform == stdenv.targetPlatform
12904+ && stdenv.buildPlatform == stdenv.hostPlatform
12905+ then buildPackages.gnat6
12906+ else buildPackages.gnat12;
12907 });
1290812909 gnatboot = wrapCC (callPackage ../development/compilers/gnatboot { });