Commit b8c73637 by Michael Matz Committed by Tobias Burnus

re PR driver/46516 (Non-multilib search problem in gcc.c / gfortran error:…

re PR driver/46516 (Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory)

2010-11-21  Michael Matz  <matz@suse.de>
            Tobias Burnus  <burnus@net-b.de>

        PR driver/46516
        * gfortranspec.c (lang_specific_driver,
        lang_specific_pre_link): Load libgfortran.spec in
        lang_specific_pre_link unless found in the -L path.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r166998
parent 8812e4d5
2010-11-21 Michael Matz <matz@suse.de>
Tobias Burnus <burnus@net-b.de>
PR driver/46516
* gfortranspec.c (lang_specific_driver,
lang_specific_pre_link): Load libgfortran.spec in
lang_specific_pre_link unless found in the -L path.
2010-11-20 Janne Blomqvist <jb@gcc.gnu.org> 2010-11-20 Janne Blomqvist <jb@gcc.gnu.org>
* f95-lang.c (gfc_init_decl_processing): Set size_type_node as * f95-lang.c (gfc_init_decl_processing): Set size_type_node as
......
...@@ -75,6 +75,9 @@ static void append_arg (const struct cl_decoded_option *); ...@@ -75,6 +75,9 @@ static void append_arg (const struct cl_decoded_option *);
static unsigned int g77_newargc; static unsigned int g77_newargc;
static struct cl_decoded_option *g77_new_decoded_options; static struct cl_decoded_option *g77_new_decoded_options;
/* The path to the spec file. */
char *spec_file = NULL;
/* Return full path name of spec file if it is in DIR, or NULL if /* Return full path name of spec file if it is in DIR, or NULL if
not. */ not. */
...@@ -223,9 +226,6 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, ...@@ -223,9 +226,6 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
/* Whether we should link a static libgfortran. */ /* Whether we should link a static libgfortran. */
int static_lib = 0; int static_lib = 0;
/* The path to the spec file. */
char *spec_file = NULL;
/* Whether we need to link statically. */ /* Whether we need to link statically. */
int static_linking = 0; int static_linking = 0;
...@@ -447,9 +447,10 @@ For more information about these matters, see the file named COPYING\n\n")); ...@@ -447,9 +447,10 @@ For more information about these matters, see the file named COPYING\n\n"));
#endif #endif
/* Read the specs file corresponding to libgfortran. /* Read the specs file corresponding to libgfortran.
If we didn't find the spec file on the -L path, then we hope it If we didn't find the spec file on the -L path, we load it
is somewhere in the standard install areas. */ via lang_specific_pre_link. */
append_option (OPT_specs_, spec_file == NULL ? SPEC_FILE : spec_file, 1); if (spec_file)
append_option (OPT_specs_, spec_file, 1);
if (verbose && g77_new_decoded_options != g77_x_decoded_options) if (verbose && g77_new_decoded_options != g77_x_decoded_options)
{ {
...@@ -467,8 +468,13 @@ For more information about these matters, see the file named COPYING\n\n")); ...@@ -467,8 +468,13 @@ For more information about these matters, see the file named COPYING\n\n"));
/* Called before linking. Returns 0 on success and -1 on failure. */ /* Called before linking. Returns 0 on success and -1 on failure. */
int int
lang_specific_pre_link (void) /* Not used for F77. */ lang_specific_pre_link (void)
{ {
if (spec_file)
free (spec_file);
else
do_spec ("%:include(libgfortran.spec)");
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment