diff --git a/meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch b/meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch new file mode 100644 index 0000000000..61517d1d4c --- /dev/null +++ b/meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch @@ -0,0 +1,67 @@ +This is because libdir has a trailing slash which breaks the comparision. + +RP 2/1/10 + +Index: binutils-2.20.1/ltmain.sh +=================================================================== +--- binutils-2.20.1.orig/ltmain.sh 2009-09-01 00:59:32.000000000 +0800 ++++ binutils-2.20.1/ltmain.sh 2010-07-29 09:41:14.000000000 +0800 +@@ -2156,8 +2156,12 @@ + dir="$dir$objdir" + + if test -n "$relink_command"; then ++ # Strip any trailing slash from the destination. ++ func_stripname '' '/' "$libdir" ++ destlibdir=$func_stripname_result ++ + # Determine the prefix the user has applied to our future dir. +- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` ++ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$destlibdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that +@@ -5570,8 +5574,14 @@ + absdir="$abs_ladir" + libdir="$abs_ladir" + else +- dir="$libdir" +- absdir="$libdir" ++ # Adding 'libdir' from the .la file to our library search paths ++ # breaks crosscompilation horribly. We cheat here and don't add ++ # it, instead adding the path where we found the .la. -CL ++ dir="$abs_ladir" ++ absdir="$abs_ladir" ++ libdir="$abs_ladir" ++ #dir="$libdir" ++ #absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else +@@ -5942,8 +5952,6 @@ + add="$libdir/$linklib" + fi + else +- # We cannot seem to hardcode it, guess we'll fake it. +- add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in +@@ -6089,7 +6097,17 @@ + fi + ;; + *) +- path="-L$absdir/$objdir" ++ # OE sets installed=no in staging. We need to look in $objdir and $absdir, ++ # preferring $objdir. RP 31/04/2008 ++ if test -f "$absdir/$objdir/$depdepl" ; then ++ depdepl="$absdir/$objdir/$depdepl" ++ path="-L$absdir/$objdir" ++ elif test -f "$absdir/$depdepl" ; then ++ depdepl="$absdir/$depdepl" ++ path="-L$absdir" ++ else ++ path="-L$absdir/$objdir" ++ fi + ;; + esac + else diff --git a/meta/packages/binutils/binutils_2.20.1.bb b/meta/packages/binutils/binutils_2.20.1.bb index a533bd8bb0..88a3dec280 100644 --- a/meta/packages/binutils/binutils_2.20.1.bb +++ b/meta/packages/binutils/binutils_2.20.1.bb @@ -25,6 +25,7 @@ SRC_URI = "\ file://binutils-uclibc-gas-needs-libm.patch \ file://binutils-x86_64_i386_biarch.patch \ file://binutils-mips-pie.patch \ + file://binutils-libtool.patch \ " # powerpc patches