]> code.ossystems Code Review - openembedded-core.git/commitdiff
binutils: Fixed cross-compile issue for 64b build + arm target
authorZhai Edwin <edwin.zhai@intel.com>
Thu, 29 Jul 2010 04:58:59 +0000 (12:58 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 30 Jul 2010 13:50:30 +0000 (14:50 +0100)
Incoportate RP's patch, which seems to be lost when update.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/binutils/binutils-2.20.1/binutils-libtool.patch [new file with mode: 0644]
meta/packages/binutils/binutils_2.20.1.bb

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 (file)
index 0000000..61517d1
--- /dev/null
@@ -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
index a533bd8bb02db37bb313c5ed456fdb5314747097..88a3dec28061a72685644a79a92382a73fb7963a 100644 (file)
@@ -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