aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-03-23 01:23:51 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2005-03-23 01:23:51 +0000
commit54b73ddf159ae2adb5bf5c6e9b8a57fda0da0256 (patch)
treecb066df20ca2da56076e280cfda545c043477540
parent98af7219f2d5178717e39895abf3e95087a11eb4 (diff)
downloadgcc-54b73ddf159ae2adb5bf5c6e9b8a57fda0da0256.zip
gcc-54b73ddf159ae2adb5bf5c6e9b8a57fda0da0256.tar.gz
gcc-54b73ddf159ae2adb5bf5c6e9b8a57fda0da0256.tar.bz2
gcc.c (do_spec_1): Do not add a -L path for a directory in the prefix list if...
2005-03-23 Mark Mitchell <mark@codesourcery.com> * gcc.c (do_spec_1): Do not add a -L path for a directory in the prefix list if we have already added a multilib directory based on that path. (main): Do not add MD_EXEC_PREFIX to the list of directories to search with -L. From-SVN: r96915
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/gcc.c9
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e3dbd08..fcac50b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2005-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ * gcc.c (do_spec_1): Do not add a -L path for a directory in
+ the prefix list if we have already added a multilib directory
+ based on that path.
+ (main): Do not add MD_EXEC_PREFIX to the list of directories to
+ search with -L.
+
2005-03-22 Kazu Hirata <kazu@cs.umass.edu>
* reload1.c (indirect_symref_ok, reload_obstack): Make them
diff --git a/gcc/gcc.c b/gcc/gcc.c
index eda3fa4..342ffa6 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4381,6 +4381,7 @@ do_spec_path (struct prefix_list *pl, const char *option,
static size_t bufsize = 0;
static char *buffer;
int idx;
+ bool multilib_p = false;
/* Used on systems which record the specified -L dirs
and use them to search for dynamic linking. */
@@ -4403,6 +4404,7 @@ do_spec_path (struct prefix_list *pl, const char *option,
strcat (buffer, machine_suffix);
if (is_directory (buffer, dir_for_machine_suffix, 1))
{
+ multilib_p = true;
do_spec_1 (option, separate_options, NULL);
if (separate_options)
do_spec_1 (" ", 0, NULL);
@@ -4416,6 +4418,7 @@ do_spec_path (struct prefix_list *pl, const char *option,
{
if (is_directory (pl->prefix, dir_for_no_suffix, 1))
{
+ multilib_p = true;
do_spec_1 (option, separate_options, NULL);
if (separate_options)
do_spec_1 (" ", 0, NULL);
@@ -4426,7 +4429,7 @@ do_spec_path (struct prefix_list *pl, const char *option,
}
}
- if (only_subdir)
+ if (only_subdir || multilib_p)
return;
if (machine_suffix)
@@ -6188,10 +6191,6 @@ main (int argc, const char **argv)
startfile_prefix_spec exclusively. */
else if (*cross_compile == '0' || target_system_root)
{
- if (*md_exec_prefix)
- add_sysrooted_prefix (&startfile_prefixes, md_exec_prefix, "GCC",
- PREFIX_PRIORITY_LAST, 0, 1);
-
if (*md_startfile_prefix)
add_sysrooted_prefix (&startfile_prefixes, md_startfile_prefix,
"GCC", PREFIX_PRIORITY_LAST, 0, 1);