Submitted by: Ryan Oliver <ryan.oliver@pha.com.au>
Date: 2006-04-21
Initial Package Version: 3.4.6
Origin: Ryan Oliver (issue reported by Erik-Jan Post)
Upstream Status: N/A
Description: 
  Removes standard_exec_prefix_2 from library search path when cross-compiling.
  Removes both standard_exec_prefix_1 and standard_exec_prefix_2 from the gcc
  executable search path when cross-compiling.

  ie: if cross_compile = 1 in the specs file, do not
      - do not add /usr/lib/gcc/${TARGET}/${GCC_VER} to the library search path
      - do not add /usr/lib/gcc/${TARGET}/${GCC_VER} or
                   /usr/libexec/gcc/${TARGET}/${GCC_VER}
        to the executable search path

  This avoids the possibility of linking in libraries from the host if they
  exist under those directories.

  Rediffed for 3.4.6 by Jim Gifford

diff -Naur gcc-3.4.6.orig/gcc/gcc.c gcc-3.4.6/gcc/gcc.c
--- gcc-3.4.6.orig/gcc/gcc.c	2006-01-21 10:52:11.000000000 -0800
+++ gcc-3.4.6/gcc/gcc.c	2006-04-21 12:05:29.000000000 -0700
@@ -3764,16 +3764,22 @@
 	      PREFIX_PRIORITY_LAST, 2, warn_std_ptr, 0);
   add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS",
 	      PREFIX_PRIORITY_LAST, 2, warn_std_ptr, 0);
-  add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
+  if (*cross_compile == '0')
+    {
+      add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
 	      PREFIX_PRIORITY_LAST, 2, warn_std_ptr, 0);
-  add_prefix (&exec_prefixes, standard_exec_prefix_2, "BINUTILS",
+      add_prefix (&exec_prefixes, standard_exec_prefix_2, "BINUTILS",
 	      PREFIX_PRIORITY_LAST, 2, warn_std_ptr, 0);
+    }
 #endif
 
   add_prefix (&startfile_prefixes, standard_exec_prefix, "BINUTILS",
 	      PREFIX_PRIORITY_LAST, 1, warn_std_ptr, 0);
-  add_prefix (&startfile_prefixes, standard_exec_prefix_2, "BINUTILS",
+  if (*cross_compile == '0')
+    {
+      add_prefix (&startfile_prefixes, standard_exec_prefix_2, "BINUTILS",
 	      PREFIX_PRIORITY_LAST, 1, warn_std_ptr, 0);
+    }
 
   tooldir_prefix = concat (tooldir_base_prefix, spec_machine,
 			   dir_separator_str, NULL);

