]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/61418 (HDF5 build failure with -flto: libgfortran.spec: attempt to...
authorRichard Biener <rguenther@suse.de>
Thu, 5 Jun 2014 14:27:20 +0000 (14:27 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 5 Jun 2014 14:27:20 +0000 (14:27 +0000)
2014-06-05  Richard Biener  <rguenther@suse.de>

PR fortran/61418
* gfortranspec.c (spec_file): Remove.
(find_spec_file): Likewise.
(lang_specific_driver): Do not look for specs file in -L
or append -specs command line argument.
(lang_specific_pre_link): Always %:include libgfortran.spec.

From-SVN: r211280

gcc/fortran/ChangeLog
gcc/fortran/gfortranspec.c

index 5aa0979e5633cbc85886d827889f6d48196fd133..9b3e2d8f462cb6882757ac06c248e01a011aac26 100644 (file)
@@ -1,3 +1,12 @@
+2014-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR fortran/61418
+       * gfortranspec.c (spec_file): Remove.
+       (find_spec_file): Likewise.
+       (lang_specific_driver): Do not look for specs file in -L
+       or append -specs command line argument.
+       (lang_specific_pre_link): Always %:include libgfortran.spec.
+
 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
 
        * fortran/trans.c (trans_runtime_error_vararg): Call
index a6296efbf4d7a6d9be5abf2ff9cf23c652d7e421..cceee6d2d39281ab0732c26939869d7253cf342e 100644 (file)
@@ -73,34 +73,11 @@ static void append_arg (const struct cl_decoded_option *);
 static unsigned int g77_newargc;
 static struct cl_decoded_option *g77_new_decoded_options;
 
-/* The path to the spec file.  */
-static char *spec_file = NULL;
-
 /* This will be NULL if we encounter a situation where we should not
    link in the fortran libraries.  */
 static const char *library = NULL;
 
 
-/* Return full path name of spec file if it is in DIR, or NULL if
-   not.  */
-static char *
-find_spec_file (const char *dir)
-{
-  const char dirsep_string[] = { DIR_SEPARATOR, '\0' };
-  char *spec;
-  struct stat sb;
-
-  spec = XNEWVEC (char, strlen (dir) + sizeof (SPEC_FILE) + 4);
-  strcpy (spec, dir);
-  strcat (spec, dirsep_string);
-  strcat (spec, SPEC_FILE);
-  if (!stat (spec, &sb))
-    return spec;
-  free (spec);
-  return NULL;
-}
-
-
 /* Return whether strings S1 and S2 are both NULL or both the same
    string.  */
 
@@ -313,12 +290,6 @@ For more information about these matters, see the file named COPYING\n\n"));
             cool facility for handling --help and --verbose --help.  */
          return;
 
-       case OPT_L:
-         if (!spec_file)
-           spec_file = find_spec_file (decoded_options[i].arg);
-         break;
-
-
        default:
          break;
        }
@@ -449,12 +420,6 @@ For more information about these matters, see the file named COPYING\n\n"));
 
 #endif
 
-  /* Read the specs file corresponding to libgfortran.
-     If we didn't find the spec file on the -L path, we load it
-     via lang_specific_pre_link.  */
-  if (spec_file)
-    append_option (OPT_specs_, spec_file, 1);
-
   if (verbose && g77_new_decoded_options != g77_x_decoded_options)
     {
       fprintf (stderr, _("Driving:"));
@@ -473,8 +438,7 @@ For more information about these matters, see the file named COPYING\n\n"));
 int
 lang_specific_pre_link (void)
 {
-  free (spec_file);
-  if (spec_file == NULL && library)
+  if (library)
     do_spec ("%:include(libgfortran.spec)");
 
   return 0;