summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/4.6/gfortran-driving.patch20
2 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index 7fd65b5fecb..bceaf2b4426 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -54,6 +54,7 @@ let version = "4.6.3";
       # target libraries and tools.
       ++ optional langAda ./gnat-cflags.patch
       ++ optional langVhdl ./ghdl-ortho-cflags.patch
+      ++ optional langFortran ./gfortran-driving.patch
       ++ optional (stdenv.isGNU || crossGNU) ./hurd-sigrtmin.patch;
 
     javaEcj = fetchurl {
diff --git a/pkgs/development/compilers/gcc/4.6/gfortran-driving.patch b/pkgs/development/compilers/gcc/4.6/gfortran-driving.patch
new file mode 100644
index 00000000000..70708886b40
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.6/gfortran-driving.patch
@@ -0,0 +1,20 @@
+This patch fixes interaction with Libtool.
+See <http://thread.gmane.org/gmane.comp.gcc.patches/258777>, for details.
+
+--- a/gcc/fortran/gfortranspec.c
++++ b/gcc/fortran/gfortranspec.c
+@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n"));
+     {
+       fprintf (stderr, _("Driving:"));
+       for (i = 0; i < g77_newargc; i++)
++	{
++	  if (g77_new_decoded_options[i].opt_index == OPT_l)
++	    /* Make sure no white space is inserted after `-l'.  */
++	    fprintf (stderr, " -l%s",
++		     g77_new_decoded_options[i].canonical_option[1]);
++	  else
+ 	fprintf (stderr, " %s",
+ 		 g77_new_decoded_options[i].orig_option_with_args_text);
++	}
+       fprintf (stderr, "\n");
+     }