Submitted By: Ryan Oliver (ryan dot oliver at pha dot com dot au)
Origin: Ryan Oliver
Date: 2004-07-15
Initial package version: 2.15 (problem also exists in 2.14 series)
Description:
	Updated patch, use this for all binutils 2.15 series instead of the
	binutils-2.15.90.0.1-genscripts-multilib.patch

	If --with-libpath= was specified during configure (or LIB_PATH was 
	supplied during make) we want to have these libraries added to the
	linker scripts search paths, and in the case of multi-lib have them
	processed to provide both lib and lib64 search paths.
	This patch produces this behaviour when building a cross-binutils.

	Also to fix an annoyance we remove whatever was specified (if anything)
	by --libdir= from the linker script search path. This is so when cross-
	compiling a 64bit target-native biarch toolchain we can specify the
	installation directory for binutils produced libraries to be */lib64
	without having this directory added to the 32bit emulation search path.

	By rights we should really check if ${libdir} matches a search path in
	any of the supported emulations for this target (as opposed to only the
	one genscripts.sh is currently processing) and if so ignore ${libpath}.

--- binutils-2.15.91.0.1-ORIG/ld/genscripts.sh	2004-05-28 04:26:04.000000000 +1000
+++ binutils-2.15.91.0.1/ld/genscripts.sh	2004-07-15 00:09:16.000000000 +1000
@@ -105,6 +105,8 @@
       USE_LIBPATH=yes
     elif [ "x${use_sysroot}" = "xyes" ] ; then
       USE_LIBPATH=yes
+    elif [ "x${LIB_PATH}" != "x" ] ; then
+      USE_LIBPATH=yes
     fi
     ;;
 esac
@@ -125,17 +127,17 @@
 #
 # If the emulparams file set LIBPATH_SUFFIX, prepend an extra copy of
 # the library path with the suffix applied.
-
-if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
+if [ "x${USE_LIBPATH}" = xyes ] ; then
   LIB_PATH2=
+  if [ "x${LIB_PATH}" = "x" ] ; then 
+    libs="${NATIVE_LIB_DIRS}"
+  else
+    libs=`echo ${LIB_PATH} | sed 's/:/ /g'`
+    LIB_PATH=
+  fi
 
-  libs=${NATIVE_LIB_DIRS}
   if [ "x${use_sysroot}" != "xyes" ] ; then
     case " ${libs} " in
-      *" ${libdir} "*) ;;
-      *) libs="${libdir} ${libs}" ;;
-    esac
-    case " ${libs} " in
       *" ${tool_lib} "*) ;;
       *) libs="${tool_lib} ${libs}" ;;
     esac
