Please add the following patch by Ryan Oliver to the repo. It allows
binutils to properly link with all libs in a multilib setup.
Thanks,
--
Jeremy Huntwork
Submitted By: Ryan Oliver (ryan dot oliver at pha dot com dot au)
Origin: Ryan Oliver
Date: 2005-04-03
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}.
This patch differs from the preceding genscripts-multilib patch as now
USE_LIBPATH will always be set if LIB_PATH is non empty
diff -uNr binutils-2.15.91.0.1-orig/ld/genscripts.sh
binutils-2.15.91.0.1/ld/genscripts.sh
--- 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 2005-04-03 16:14:51.000000000
+1000
@@ -110,7 +110,8 @@
esac
# If the emulparams file sets NATIVE, make sure USE_LIBPATH is set also.
-if test "x$NATIVE" = "xyes" ; then
+# Also set USE_LIBPATH if LIB_PATH has been set
+if [ "x$NATIVE" = "xyes" -o "x${LIB_PATH}" != "x" ] ; then
USE_LIBPATH=yes
fi
@@ -125,17 +126,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
--
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page